歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

U-Boot在nand flash中的前4k內容分析

在NOR Flash中移植了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同樣也是要這樣的。 

U-Boot源代碼下載地址 http://www.linuxidc.com/Linux/2011-07/38897.htm

Copyright © Linux教程網 All Rights Reserved