u-boot在nandflash中的前4k内容分析

本文详细介绍了在U-Boot环境下NAND Flash启动时遇到的问题及解决过程。作者通过梳理代码,发现启动代码超过了4K限制导致LED无法正常工作,并最终通过调整链接配置解决了问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:u-boot在nandflash中的前4k内容分析

在NorFlash中移植了NOR,DM9000,NandFlash读写,甚至在start.S中都可以用灯了调试,还有串口输出。觉得功能无比的强大了,在调试NandFlash启动时,下载到NandFlash居然一点反应都没有,这个镜像下载到nor中,功能还是无比的强大。我着实无语了,NandFlash启动不是有4k内容自动拷贝到了SRAMk中了?copy_to_ram中之前还有很多东西呀:LED,串口,都失灵了?难道是我NandFlash坏掉了。下载完全移植好的测试,是可以的。急燥了一下午,终于静下心来好好的梳理一下了。

      
      先梳理出了,前4k中要做的工作,都用到了哪些文件。这里copy之前的流程图。
 
 图中的文件 对应目录
 start.S   cpu/arm920t/start.S
 lowlevel_init.S board/samsung/smdk2440/lowlevel_init.S
 debug.S lib_arm/debug.S
 debug-macro.S include/asm-arm/arch-s3c24x0/ debug-macro.S
 smdk2440.c   board/samsung/smdk2440/smdk2440.c 
   
      可见led所在的smdk2440.c在u-boot.map中远远超出了,4k的大小。等于我的start.S点亮led的时候程序就跑飞了:
 
      这下子可算明白了,将smdk2440.o添加到/cpu/arm920t/u-boot.lds中,等于链接的时候就可以在4k里边了。同样debug.S也是一样了。程序写好了,链接不对也是白搭。后边移植了nand_cp.c同样也是要这样的。  

转载于:https://www.cnblogs.com/ganrui/p/3737842.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值