嵌入式系统移植课笔记2自启动命令(华)

Bootloader 是硬件启动的引导程序
1.硬件初始化
2.引导加载内核 

上电过后有两种启动模式 :
1.自启动模式 (上电过后我们不干预)
2.交互模式 (上电之后快速按键,让程序停下来)
嵌入式系统移植课笔记2自启动命令(华)_第1张图片
嵌入式系统移植课笔记2自启动命令(华)_第2张图片

嵌入式系统移植课笔记2自启动命令(华)_第3张图片
嵌入式系统移植课笔记2自启动命令(华)_第4张图片
如果以后你不想要这个变量了, 那就

#:setenv  myboard
#:saveenv  

嵌入式系统移植课笔记2自启动命令(华)_第5张图片

tftp 一般下载的时候会下载到 41000000 地址 这个地址是下载到我们内存里面的, 内存里面掉电后就不存在了,
如果想永久存在需要下载到FLASH 里面
Flash 有很多种 Nor Flash 和 Nand Flash
他们都是一块芯片, 都可以拿来用永久存储数据
Nor Flash 数据是可以按字节访问的 , 里面有很多小的存储单元 , 你可以一个字节一个字节的访问, 一个字节的读和写都可以 ,
Nand Flash 它访问数据是一块一块访问的, 比如说512 或者1K 或者4K ,读一块写一块, 不能只读里面的一个字节,

有些小的产品, 板子里面它可能就没有内存 ,它就是一块芯片来存储我们的软件 , 引导程序就放到这个芯片里面, 我们可以用Nor Flash来做, 一般用Nor Flash 来做引导
而 Nand Flash 一般用来存大的资料, 因为Nand Flash空间比较大 , 相对Nor Flash ,
Nand Flash 相对 Nor Flash来说相对便宜点 ,手机里面大多数用 Nand Flash ,而Nor Flash 在小型产品上用的比较多
下面这个是Nor Flash
如果 Nor Flash 做启动引导的话,在操作过程中不小心把 Nor Flash 相关的数据写错了, 那么板子上电后就什么都没了, 所以要对芯片一个保护 ,通过 protect on 和 protect off 命令 对它进行写的时候 必须先把保护取消才能写, 要不然会写失败 , 它不像内存直接读和直接写, 它上来先要有一个擦除的工作, 擦除的意思就是把我们芯片上面的数据, (Flash里的数据都是 110000110101 这些数据 能由从 1 变 0 , 也就是写的时候可以把1变成0 ,但是不能把0变1, 硬件上是不允许的, 你要把0变1 必须要先擦除, 擦除就是把0变 1, 要是你不擦除直接写的话有可能数据写错 , 写的时候中间要有擦除操作, 否则会写错数据) ,
嵌入式系统移植课笔记2自启动命令(华)_第6张图片
movi
嵌入式系统移植课笔记2自启动命令(华)_第7张图片

三星出的 , 一个不叫 Flash 而叫EMMC , 本身就是Flash 为了支持Nor Flash 和Nand Flash 和sd卡等实现一个兼容,
操作它的时候有特殊的寄存器去操作它, 通过movi 命令

嵌入式系统移植课笔记2自启动命令(华)_第8张图片

嵌入式系统移植课笔记2自启动命令(华)_第9张图片

go 命令 如果你想运行一些裸机程序 可以用go的方式去运行

你可能感兴趣的:(Linux)