首页 > 代码库 > u-boot在nandflash中的前4k内容分析

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

原文: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同样也是要这样的。