码迷,mamicode.com
首页 > 其他好文 > 详细

二、先在SD卡上启动U-boot,再烧写新的U-boot进Nandflash

时间:2019-01-23 01:35:18      阅读:227      评论:0      收藏:0      [点我收藏+]

标签:tftp   完全   意思   重启   ash   min   分享   ase   这一   

1. 制作SD卡

  先准备一张2G的SD卡(不能用8G的,2G的卡和8G的卡协议不一样),和烧写SD卡的工具write_sd以及需要烧写到SD卡中的u-boot-movi.bin。将SD卡格式化后连接到Ubuntu虚拟机中,注意在SD卡需要插入到读卡器中,不能用电脑自带的SD卡槽,否则在Ubuntu下认不到。先执行ls /dev/sdb*,能够看见有一个/dev/sdb文件,说明Ubuntu认到SD卡了。如下图:

技术分享图片

执行命令:sudo ./write_sd /dev/sdb u-boot-movi.bin

将u-boot写入SD卡中。将SD卡插入6410开发板中,将拨码开关设置为SD卡启动,连接串口运行minicom或其他串口终端(先保证串口配置是正确的),启动板子后串口正常打印则说明SD卡上成功烧写了U-boot。需要说明的是写入SD卡的u-boot-movi.bin支持DNW但不支持TFTP,而且write_sd这个工具制作出来似乎就是为了烧写u-boot-movi.bin这一个文件,不能写入其他的文件 ,因此我是借助u-boot-movi.bin烧写自己编译出的U-boot。

2. 使用DNW下载U-boot

  先准备好要下载进Nandflash的U-boot  “u-boot-nand.bin”

  1)在板子终端中输入:dnw 50008000

  2)在虚拟机中输入:sudo dnw u-boot-nand.bin

  成功后在6410内存地址为50008000的地方存放的就是u-boot-nand.bin,此时要将该文件写入Nandflash的0地址中。

  3)在板子终端输入:nand erase 0

  每次要往Nandflash中写入新数据时一定要保证该区域是擦除过的。nand erase后面可以跟两个参数,第一个是要擦除的首地址,第二个参数是要擦除的大小,如果输入nand erase 0则是整片擦除。

  4)在板子终端输入:nand write 50008000 0 32000

  第4步的意思是将内存地址为50008000的数据写入Nandflash中,写入长度为0x32000个字节。32000这个数是根据u-boot-nand.bin文件大小而定的,我的u-boot-nand.bin不到200k,因此写入200k确保U-boot完全写入。

  5)将板子设置为Nandflash启动,重启后看打印信息,正常输出表明U-boot写入Nandflash成功并且能从Nandflash启动。

 

  

 

  

二、先在SD卡上启动U-boot,再烧写新的U-boot进Nandflash

标签:tftp   完全   意思   重启   ash   min   分享   ase   这一   

原文地址:https://www.cnblogs.com/Suzkfly/p/10303143.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!