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