第11课:烧写Linux系统到开发板
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《跟我一起学习嵌入式Linux系统开发》第11课:烧写Linux系统到开发板
(一)烧写过程概括
1、默认NandFlash没有程序的前提下,需要如下的完成烧写过程。
2、制作一张含有Uboot代码的SD卡启动盘,让CPU上电后,可以读到uboot启动代码,完成后面的烧写过程。
3、将拨码开关调整到SD卡启动方式,插入制作好引导程度的SD卡。上点。
4、SD卡里的Uboot代码已经加载到内存中运行起来了。之后利用uboot中的USB OTG接口代码,将PC上的uboot.bin\zImage\system.img文件,加载到内存中。
5、然后再将内存中的这些内容,写入到NandFlash中。
6、操作完之后,NandFlash中就有了我们的代码了,这时将拨码开关调整到NandFlash启动,即烧写完毕。
(二)制作引导系统的SD卡
注:制作SD卡引导作用是在NandFlash里没有启动代码时,使CPU通过SD卡能够引导启动Uboot。1、首先选择一张Kingston或Sandisk的正品SD卡,2G,4G均可。
2、在Ubuntu虚拟机环境下解压Uboot源码
注:解压命令tar zxvf uboot_smdk210.tar.gz
3、解压后进行编译(具体请参考编译Uboot)
4、进入uboot的sd_fusing目录。
5、把SD卡插入读卡器中。然后把读卡器插入PC的USB口
此时虚拟机的右下角会出现一个Removable Disk的图标,单击该图标,在出现的菜单中选择Connect
此时/dev/目录下会出现关于SD卡的设备节点。我这里是/dev/sdb
用户可以自己插拔SD卡来确认这个节点)
、执行./sd_fusing.sh/dev/sdb
至此Uboot已经烧入到SD卡中。
(三)通过USB OTG烧写镜像
、设置拨码开关,使其从SD卡引导,并将制作好启动的SD卡插入开发板中。
启动方式拨码设置图例
SD卡启动ON:23 OFF:14
、将串口线和USB OTG线与开发板连接起来、在PC机端打开DNW软件,并进行配置
注:此处的COM Port接口为PC机串口的端口号。本例使用PC机为COM1
4、给开发板上电
5、Uboot启动,按空格键进入Uboot
6、输入命令nand erase,擦除整片NandFlash
7、输入命令dnw c0008000,将uboot.bin通过usb下载到开发板中内存0xc0008000位置处。
8、选择dnw菜单的USB port->Transmit加载uboot.bin
9、输入命令nand write c00080000100000将uboot.bin写入到NandFlash中。
10、输入命令dnw c0008000
11、选择dnw菜单的USB port->Transmit加载zImage
12、输入命令nand write c0008000100000300000,将zImage写入NandFlash中
13、输入命令dnw c0008000
14、选择dnw菜单的USB port->Transmit加载system.img
15、输入命令nand write.yaffs c0008000600000c1bae00,将system.img写入NandFlash中注意:写入的c1bae00这个值,是根据usb下载文件的大小决定的(上图红色位置)。
启动方式拨码设置图例
NandFlash启动ON:4 OFF:123
17、系统启动