基于S3C2410A的嵌入式系統的U-Boot移植
(2)在smdk2410.C文件中添加對NANDFLASH初始化的程序
在此主要是對主板的GPIO的一些設置,并加上對NANDFLASH初始化程序。本文引用地址:http://www.104case.com/article/152196.htm
(3)在該目錄下的Makefile文件中添加nand_read.C文件的編譯
OBJS:=smdk24 10.o FLASH.o nand_read.o
3.3 在include文件中設置NAND FLASH硬件參數
在/linux/mtd/nand_ids.h中設置參數:
3.4 編譯與運行
配置好以后,進入U-Boot主目錄,重新編譯U-Boot代碼,運行命令:
(1)查看交叉編譯器的版本號
arm-linux-gcc-v
(2)清除生成的連接
Make distclean
(3)編譯make smdk2410_config
(4)make CROSS-COMPILE=arm-linux-編譯成功后,將生成三個文件:
u-boot:ELF格式的文件,可以被大多數Debug程序識別。
u-boot.bin:二進制bin文件,純碎的U-Boot二進制執行代碼,不保存ELF格式和調試信息。這個文件用于燒到用戶的開發板中。
u-boot.srec:Motorola S-Record格式,可以通過串口下載到開發板中。
將得到的u-boot.bin文件借助于FLASH芯片燒寫工具,通過JTAG口下載到目標板后,檢查U-Boot能否正常工作。如果能從串口輸出正確的啟動信息,就表明移植基本成功。
4 結 語
目前筆者移植的U-Boot已經能穩定地運行在開發板上。U-Boot引導程序是嵌入式Linux系統軟件開發中的一個重要環節。在此通過分析U-Boot的代碼結構和啟動過程,并針對開發板系統的硬件資源,通過分析與調試,實現了U-Boot的移植,并且能夠引導嵌入式Linux內核和文件系統,為今后進一步開發奠定了堅實的基礎。
評論