U_BOOT_CMD(nboot, 4, 1, do_nandboot,
"boot from NAND device",
"[partition] | [[[loadAddr] dev] offset]"
"boot from NAND device",
"[partition] | [[[loadAddr] dev] offset]"
);
看帮助提示很容易明白,nboot是uboot指令--将nand flash中的内容加载到sdram中,比如"nboot 0x30000000 0 0x60000\;bootm
0x30000000是拷到的sdram的地址,0是nand flash设备号,0x60000是内核在nand flash的地址。再通过bootm从0x30000000启动内核。
但是这里有个疑问,nboot怎么知道你内核的大小,需要拷贝多少内容?
由于uImage的前64个字节是zImage的描述信息,所以do_nandboot能知道需要加载的kernel的size。
本文详细介绍了U-Boot中nboot指令的功能及其使用方法。nboot用于将NAND Flash中的内容加载到SDRAM中,并通过bootm指令启动内核。文章解答了如何确定内核大小及拷贝范围的问题,指出U-Boot通过uImage头部信息获取内核大小。
4356

被折叠的 条评论
为什么被折叠?



