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