2.4 使用u-boot烧写Flash
以例子为例,假设需要烧写一个名为leds.bin的程序到Nor、Nand Flash,那么请参考:
(1).通过Jlink下载:
在J-Link commander里执行:
h
loadbin e:\leds.bin 0x30000000
g
注意leds.bin的大小
(2).通过u-boot烧写到Nor Flash:
在u-boot里执行:
protect off all // 解锁
erase 0 2ffff // 擦除从0地址开始的大小为0x30000的NOR Flash扇区(大小为可擦除块的整数倍,可以运行flash info命令查看)
cp.b 0x30000000 0 30000 // 把前面下载到0x30000000的程序烧写到NOR去
(3).通过u-boot烧写到Nand Flash:
在u-boot里执行:
nand erase 0 30000 // 擦除从0地址开始的大小为0x30000的Nnad Flash扇区
nand write.jffs2 30000000 0 30000 // 把前面下载到0x30000000的程序烧写到Nand去
注意,上面用的2ffff、30000等数字是192K,如果你的程序比较小,请自行设置。
以例子为例,假设需要烧写一个名为leds.bin的程序到Nor、Nand Flash,那么请参考:
(1).通过Jlink下载:
在J-Link commander里执行:
h
loadbin e:\leds.bin 0x30000000
g
注意leds.bin的大小
(2).通过u-boot烧写到Nor Flash:
在u-boot里执行:
protect off all // 解锁
erase 0 2ffff // 擦除从0地址开始的大小为0x30000的NOR Flash扇区(大小为可擦除块的整数倍,可以运行flash info命令查看)
cp.b 0x30000000 0 30000 // 把前面下载到0x30000000的程序烧写到NOR去
(3).通过u-boot烧写到Nand Flash:
在u-boot里执行:
nand erase 0 30000 // 擦除从0地址开始的大小为0x30000的Nnad Flash扇区
nand write.jffs2 30000000 0 30000 // 把前面下载到0x30000000的程序烧写到Nand去
注意,上面用的2ffff、30000等数字是192K,如果你的程序比较小,请自行设置。
