初尝在jz上用uboot通过usb烧写后的小疑问~

在“第006课_开发板熟悉与体验(6节,免费)”中的第004节_使用uboot烧写裸板程序中,体验到了usb烧写的快感,但是心中有个小疑问:uboot烧到了nor flash中,启动uboot烧写kernel,文件系统功能,虽然没有指明是烧到哪里,但我猜是在NAND Flash的。也就是说,这个时候uboot跟kernel,文件系统等并不在同一个内存芯片里面,那uboot是怎么实现跳转的呢?然后根据视频删除params的时候也留意到,NAND里面已经有了BootLoader,这到底是怎么一回事呢,明明只烧写了kernel和文件系统呀

请先 登录 后评论

最佳答案 2020-07-23 01:29

uboot可以在nand 也可以在nor里面

大部分CPU都支持从多种flash启动。对于2440,从nand启动时候,其nand前4K被拷贝到片内sram运行。

nor可以执行运行。

nand启动,uboot大于4K,当uboot起来后需要完成代码重定位。

总之uboot都会运行起来,然后uboot可以操作flash,即读取flash上的内核到内存中。

你分析一下uboot的环境变量bootcmd的内容

请先 登录 后评论

其它 0 个回答

  • 2 关注
  • 0 收藏,954 浏览
  • 昊昊 提出于 2020-07-14 23:54