AM3517之SD卡启动盘恢复NAND flash的数据:U-boot(三)

更新存贮在nandflash 里的nandflash 起动的Uboot

AM3517_EVM # mmc init 『初始化sd 卡』
mmc1 is available
AM3517_EVM # mw.b 0x80000000 0xFF 0x100000 『初始化使用的内存,全部置1』
AM3517_EVM # nand erase 0x80000 0x1C0000 『擦除nandflash 中存放u-boot 区域』
NAND erase: device 0 offset 0x80000, size 0x1c0000
Erasing at 0x220000 -- 100% complete.
AM3517_EVM # fatload mmc1 0 0x80000000 u-boot.bin 『从sd 卡读u-boot 到内存』
reading u-boot.bin
214944 bytes read
AM3517_EVM # nandecc sw 『设定ecc 校验为硬件校验』
SW ECC selected
AM3517_EVM # nand write.i 0x80000000 0x80000 0x1C0000 『存u-boot 到nandflash 指
定位置』
NAND write: device 0 offset 0x80000, size 0x1c0000
1835008 bytes written: OK
AM3517_EVM #

到此为止,更新Uboot完成。

整个过程是

1先初始化SD卡,

2初始化内存区域0x80000000----0x80100000全为1,

3擦除nandflash的区域0x80000-(0x80000+0x1c0000)即0x80000----0x240000,

4将SD中的u-boot.bin读到内存0x80000000处,

5设置nandflash的ecc校验为硬件检测,

6将内存中的u-boot.bin文件(0x80000000----0x801c0000区域)读取到nandflash中(地址为0x80000----0x240000)。

命令基本和更新x-loader时都一样,这里只说最后一个命令:

AM3517_EVM # nand write.i 0x80000000 0x80000 0x1C0000 『存u-boot 到nandflash 指
定位置』
NAND write: device 0 offset 0x80000, size 0x1c0000
1835008 bytes written: OK
这个命令是把内存中的0x80000000----0x801c0000区域写入(复制到)nandflash0x80000----0x240000区域的。

简洁来看是:

AM3517_EVM # mmc init 『初始化sd 卡』
AM3517_EVM # mw.b 0x80000000 0xFF 0x100000 『初始化使用的内存,全部置1』
AM3517_EVM # nand erase 0x80000 0x1C0000 『擦除nandflash 中存放u-boot 区域』
AM3517_EVM # fatload mmc1 0 0x80000000 u-boot.bin 『从sd 卡读u-boot 到内存』
AM3517_EVM # nandecc sw 『设定ecc 校验为硬件校验』
AM3517_EVM # nand write.i 0x80000000 0x80000 0x1C0000 『存u-boot 到nandflash 指
定位置』
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值