Boot在nand flash中的前4k内容分析

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

先梳理出了,前4k中要做的工作,都用到了哪些文件。这里copy之前的流程图。

Boot在nand flash中的前4k内容分析

图中的文件   对应目录  
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的时候程序就跑飞了:

Boot在nand flash中的前4k内容分析

这下子可算明白了,将smdk2440.o添加到/cpu/arm920t/u-boot.lds中,等于链接的时候就可以在4k里边了。同样debug.S也是一样了。程序写好了,链接不对也是白搭。后边移植了nand_cp.c同样也是要这样的。 

U-Boot源代码下载地址

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f9a9145a776d432b02dd2b2eca94bb6a.html