当把所有的镜像都烧录进NAND Flash后,它会在U-Boot命令提示符下等待用户输入nand read和bootm指令,这是因为源代码里的CONFIG_BOOTCOMMAND的定义,和我存放的地址并不一致。
源代码里是:
"nandboot=echo Booting from nand ...; " \
"run nandargs; " \
"nand read ${fdtaddr} u-boot-spl-os; " \
"nand read ${loadaddr} kernel; " \
"bootz ${loadaddr} - ${fdtaddr}\0"
根据上一篇(8)的内容修改为:
"nandboot=echo Booting from nand ...; " \
"run nandargs; " \
"nand read 0x82000000 0x280000 0x500000; " \
"nand read 0x82500000 0x260000 0x20000; " \
"bootm 0x82000000 - 0x82500000\0"
重新编译,并写入NAND Flash,就会发现U-Boot会自动加载内核啦!
(*另外,findfdt可以增加自己板子的定义;CONFIG_BOOTCOMMAND可以去掉不必要的mmc启动步骤。)
文章评论(0条评论)
登录后参与讨论