版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
Linux操作系統(tǒng)移植小組成員:李莉馮曉成董娟婷李文明第一部分嵌入式Linux軟件開(kāi)發(fā)環(huán)境構(gòu)建在Windows上安裝虛擬機(jī)VMware-6.5在虛擬機(jī)上安裝linux(利用光盤鏡像文件安裝fedora9)安裝VM-tools安裝交叉編譯工具鏈(后續(xù)移植過(guò)程中使用編譯器版本為arm-linux-gcc4.3.3)安裝其他必要工具獲取U-boot源碼(此處版本為u-boot2009.11)獲取linux內(nèi)核源碼(此處版本為linux-2.6.32.2),解壓安裝在fedora9的/opt/FriendlyARM/mini2440/目錄下。配置NFS服務(wù)器安裝串口終端(此處為secureCRT)及USB轉(zhuǎn)串口驅(qū)動(dòng)安裝USB下載程序DNW及其驅(qū)動(dòng)第二部分U-boot移植(一)
建立開(kāi)發(fā)板文件測(cè)試編譯環(huán)境修改頂層Makefile指定交叉編譯器
CROSS_COMPILE=arm-linux-添加開(kāi)發(fā)板配置文件
mini2440_config:unconfig @$(MKCONFIG)$(@:_config=)armarm920tmini2440samsungs3c24x0建立mini2440目錄和文件建立開(kāi)發(fā)板目錄/board/samsung/mini2440
將board目錄下的sbc2410x改名為mini2440并移至samsung目錄下,這樣一來(lái)就成功建立了開(kāi)發(fā)版目錄/board/samsung/mini2440,將該目錄下的sbc2410x.c改名為mini2440.c。修改/board/samsung/mini2440/Makefile
COBJS:=sbc2410x.oflash.o修改為COBJS:=mini2440.oflash.o在include/configs/建立開(kāi)發(fā)板配置文件將該目錄下的sbc2410x.h改名為mini2440.h測(cè)試編譯環(huán)境在u-boot根目錄下:makemini2440_configConfiguringformini2440board…make第二部分U-boot移植(二)
修改引導(dǎo)代碼關(guān)閉AT9200寫的LED跳轉(zhuǎn)@ bl coloured_LED_init@ bl red_LED_on修改CPU頻率初始化設(shè)置 關(guān)閉看門狗、設(shè)置分頻比、禁止中斷(添加代碼較多,不再列出)。 修改lowlevel_init.s文件
匹配mini2440的存儲(chǔ)器配置。修改代碼重新定向部分 修改start.s文件、在mini2440目錄下添加nand_read.c文件、修改Makefile。增加LED1點(diǎn)亮(為了便于觀察)修改/cpu/arm920t/u-boot.lds連接文件
cpu/arm920t/start.o (.text)
board/samsung/mini2440/lowlevel_init.o(.text) board/samsung/mini2440/nand_read.o(.text)
第二部分U-boot移植(三)
修改初始化代碼修改lib_arm/board.c文件
LED3、LED4的點(diǎn)亮和打印信息的輸出
#ifdefined(CONFIG_MINI2440_LED) gpio->GPBDAT=0x0; #endif #ifdefined(CONFIG_CFB_CONSOLE) printf("%s\n",version_string); printf("modifiedbywuying\n\n"); #endif修改mini2440.c文件(內(nèi)容較多)
增加LCD初始化函數(shù)、修改GPIO設(shè)置、LED2的點(diǎn)亮、屏蔽nand控制器初始化代碼、添加網(wǎng)卡芯片(DM9000)的初始化函數(shù)。第二部分U-boot移植(四)
完善目標(biāo)板外設(shè)驅(qū)動(dòng)NandFlash相關(guān)代碼的修改添加yaffs(2)焼寫功能添加NorFlash寫入功能修改網(wǎng)絡(luò)相關(guān)代碼添加LCD顯示功能
注意:需要在drivers/vedio下添加驅(qū)動(dòng)文件s3c2410_fb.c添加SD卡讀取功能注意:添加3個(gè)驅(qū)動(dòng)代碼文件mmc.c、mmc.h、regs-sdi.h第二部分U-boot移植(五)
修正配置文件添加CONFIG_S3C2440條件定義
對(duì)于s3c2440好多代碼都是借用s3c2410的,所以要對(duì)所有條件編譯中有CONFIG_S3C2410的地方添加CONFIG_S3C2440,這樣才能編譯進(jìn)來(lái)。
Common/serial.c、cpu/arm920t/s3c24x0/下interrupts.c、timer.c、usb.c、usb_ohci.c和driver/i2c/s3c24x0_i2c.c、drivers/rtc/s3c24x0_rtc.c等11個(gè)文件進(jìn)行修改。修改配置文件include/configs/mini2440.h
此處主要做了以下修改: (1)去除了CS8900網(wǎng)卡的定義,添加了DM9000。 (2)使能了JFFS2、FAT文件系統(tǒng)。 (3)使能了USB、SD卡功能。 (5)使能了I2C、EEPROM功能。 (6)使能了LCD功能,以及BMP圖片顯示和字符console的功能。 (7)去除了AMD的NorFlash芯片的定義,增加SSTNorFlash芯片定義。第二部分U-boot移植(六)
編譯、下載重新編譯u-boot makeclean makemini2440_config make
編譯通過(guò)則生成u-boot.bin下載u-boot到開(kāi)發(fā)板NandFlash(此處用USB下載)從NandFlash重啟開(kāi)發(fā)板啟動(dòng),串口終端顯示如下圖,u-boot移植基本完成。第三部分Linux內(nèi)核移植解壓內(nèi)核源代碼
#cd/opt/FriendlyARM/mini2440 #tarxvzflinux-2.6.32.2.tar.gz指定交叉編譯變量
ARCH?=arm CROSS_COMPILE?=arm-linux-建立自己的目標(biāo)平臺(tái)(對(duì)mini2440.c的建立和修改) 復(fù)制mach-smdk2440.c并將其命名為mach-mini2440.c
修改時(shí)鐘源頻率(修改為12M) 將smdk2440替換為mini2440置菜單中的mini2440執(zhí)行menuconfig在菜單中增加mini2440的支持移植nand驅(qū)動(dòng)并修改分區(qū)信息移植yaffs2第三部分Linux內(nèi)核移植移植DM9000網(wǎng)卡驅(qū)動(dòng)激活RTC驅(qū)動(dòng)添加LCD背光驅(qū)動(dòng)移植LCD顯示驅(qū)動(dòng)設(shè)置LinuxLogo添加ADC驅(qū)動(dòng)移植SD卡驅(qū)動(dòng)配置USB外設(shè)第四部分利用U-boot引導(dǎo)內(nèi)核U-boot引導(dǎo)內(nèi)核步驟如下(我們使用nfs服務(wù)器) (1)用U-boot的mkimage工具處理內(nèi)核映像zImage。(2)通過(guò)網(wǎng)絡(luò)、串口、U盤、SD卡等方式將處理過(guò)的內(nèi)核映像傳輸?shù)絊DRAM的一定位置(30008000)。(3)然后使用”bootm“等內(nèi)核引導(dǎo)命令來(lái)啟動(dòng)內(nèi)核。uImage制作方法 編譯u-boot后,在u-boot/tools/目錄下生成mkimage文件,將其拷貝至/usr/local/bin目錄下,則mkimage命令可在fedora任意目錄下使用,執(zhí)行下面命令,則會(huì)在arch/arm/boot/目錄下生成zImage.img文件。
mkimage-n‘zImage'-Aarm-Olinux-Tkernel-Cnone-a0x30008000–e0x30008040-dzImagezImage.img
也可以在編譯內(nèi)核是直接執(zhí)行makeuImage命令,編譯完成會(huì)生成uImage文件,與上述zImage.img
相同作用的文件。第四部分利用U-boot引導(dǎo)內(nèi)核過(guò)程用交叉網(wǎng)線、串口線、USB線、電源線連接電腦和開(kāi)發(fā)板從
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《食品安全信息報(bào)告》課件
- 合伙合同糾紛權(quán)威訴訟策略
- 《民用建筑構(gòu)造概述》課件
- 2025年阿里貨運(yùn)從業(yè)資格證考試一共多少題
- 2025年臨汾客貨運(yùn)從業(yè)資格證考試教材
- 2025年廣州道路運(yùn)輸從業(yè)資格證考試題和答案
- 2025年興安貨運(yùn)上崗證模擬考試0題
- 《型曲面積分的計(jì)算》課件
- 第一單元 中國(guó)開(kāi)始淪為半殖民地半封建社會(huì) 同步練習(xí) 部編版八年級(jí)歷史上冊(cè)
- 鋁單板商業(yè)步行街施工合同
- 【MOOC】學(xué)術(shù)交流英語(yǔ)-東南大學(xué) 中國(guó)大學(xué)慕課MOOC答案
- 2022-2023學(xué)年廣東省深圳市鹽田區(qū)六年級(jí)上學(xué)期期末英語(yǔ)試卷
- 家用剪刀市場(chǎng)發(fā)展現(xiàn)狀調(diào)查及供需格局分析預(yù)測(cè)報(bào)告
- 部編版(2024版)七年級(jí)地理上冊(cè)第六章《跨學(xué)科主題學(xué)習(xí)-探索外來(lái)食料作物傳播史》教學(xué)課件
- 《世說(shuō)新語(yǔ)》整本書(shū)閱讀導(dǎo)讀
- 大學(xué)生防艾健康教育學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 分子生物學(xué)習(xí)題答案
- 《機(jī)械制圖》復(fù)習(xí)題庫(kù)及答案2
- 中國(guó)人民解放軍空成立紀(jì)念日課件模板
- 工商企業(yè)管理畢業(yè)論文范文(4篇)
- 2024年短劇出海白皮書(shū)-meta-202409
評(píng)論
0/150
提交評(píng)論