![linux 操作系統(tǒng)移植_第1頁](http://file4.renrendoc.com/view/5fbdf7d26bae9122d2b77a7cb892fbf3/5fbdf7d26bae9122d2b77a7cb892fbf31.gif)
![linux 操作系統(tǒng)移植_第2頁](http://file4.renrendoc.com/view/5fbdf7d26bae9122d2b77a7cb892fbf3/5fbdf7d26bae9122d2b77a7cb892fbf32.gif)
![linux 操作系統(tǒng)移植_第3頁](http://file4.renrendoc.com/view/5fbdf7d26bae9122d2b77a7cb892fbf3/5fbdf7d26bae9122d2b77a7cb892fbf33.gif)
![linux 操作系統(tǒng)移植_第4頁](http://file4.renrendoc.com/view/5fbdf7d26bae9122d2b77a7cb892fbf3/5fbdf7d26bae9122d2b77a7cb892fbf34.gif)
![linux 操作系統(tǒng)移植_第5頁](http://file4.renrendoc.com/view/5fbdf7d26bae9122d2b77a7cb892fbf3/5fbdf7d26bae9122d2b77a7cb892fbf35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Linux操作系統(tǒng)移植小組成員:李莉馮曉成董娟婷李文明第一部分嵌入式Linux軟件開發(fā)環(huán)境構(gòu)建在Windows上安裝虛擬機VMware-6.5在虛擬機上安裝linux(利用光盤鏡像文件安裝fedora9)安裝VM-tools安裝交叉編譯工具鏈(后續(xù)移植過程中使用編譯器版本為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ū)動安裝USB下載程序DNW及其驅(qū)動第二部分U-boot移植(一)
建立開發(fā)板文件測試編譯環(huán)境修改頂層Makefile指定交叉編譯器
CROSS_COMPILE=arm-linux-添加開發(fā)板配置文件
mini2440_config:unconfig @$(MKCONFIG)$(@:_config=)armarm920tmini2440samsungs3c24x0建立mini2440目錄和文件建立開發(fā)板目錄/board/samsung/mini2440
將board目錄下的sbc2410x改名為mini2440并移至samsung目錄下,這樣一來就成功建立了開發(fā)版目錄/board/samsung/mini2440,將該目錄下的sbc2410x.c改名為mini2440.c。修改/board/samsung/mini2440/Makefile
COBJS:=sbc2410x.oflash.o修改為COBJS:=mini2440.oflash.o在include/configs/建立開發(fā)板配置文件將該目錄下的sbc2410x.h改名為mini2440.h測試編譯環(huán)境在u-boot根目錄下:makemini2440_configConfiguringformini2440board…make第二部分U-boot移植(二)
修改引導代碼關(guān)閉AT9200寫的LED跳轉(zhuǎn)@ bl coloured_LED_init@ bl red_LED_on修改CPU頻率初始化設(shè)置 關(guān)閉看門狗、設(shè)置分頻比、禁止中斷(添加代碼較多,不再列出)。 修改lowlevel_init.s文件
匹配mini2440的存儲器配置。修改代碼重新定向部分 修改start.s文件、在mini2440目錄下添加nand_read.c文件、修改Makefile。增加LED1點亮(為了便于觀察)修改/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的點亮和打印信息的輸出
#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的點亮、屏蔽nand控制器初始化代碼、添加網(wǎng)卡芯片(DM9000)的初始化函數(shù)。第二部分U-boot移植(四)
完善目標板外設(shè)驅(qū)動NandFlash相關(guān)代碼的修改添加yaffs(2)焼寫功能添加NorFlash寫入功能修改網(wǎng)絡(luò)相關(guān)代碼添加LCD顯示功能
注意:需要在drivers/vedio下添加驅(qū)動文件s3c2410_fb.c添加SD卡讀取功能注意:添加3個驅(qū)動代碼文件mmc.c、mmc.h、regs-sdi.h第二部分U-boot移植(五)
修正配置文件添加CONFIG_S3C2440條件定義
對于s3c2440好多代碼都是借用s3c2410的,所以要對所有條件編譯中有CONFIG_S3C2410的地方添加CONFIG_S3C2440,這樣才能編譯進來。
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個文件進行修改。修改配置文件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
編譯通過則生成u-boot.bin下載u-boot到開發(fā)板NandFlash(此處用USB下載)從NandFlash重啟開發(fā)板啟動,串口終端顯示如下圖,u-boot移植基本完成。第三部分Linux內(nèi)核移植解壓內(nèi)核源代碼
#cd/opt/FriendlyARM/mini2440 #tarxvzflinux-2.6.32.2.tar.gz指定交叉編譯變量
ARCH?=arm CROSS_COMPILE?=arm-linux-建立自己的目標平臺(對mini2440.c的建立和修改) 復(fù)制mach-smdk2440.c并將其命名為mach-mini2440.c
修改時鐘源頻率(修改為12M) 將smdk2440替換為mini2440置菜單中的mini2440執(zhí)行menuconfig在菜單中增加mini2440的支持移植nand驅(qū)動并修改分區(qū)信息移植yaffs2第三部分Linux內(nèi)核移植移植DM9000網(wǎng)卡驅(qū)動激活RTC驅(qū)動添加LCD背光驅(qū)動移植LCD顯示驅(qū)動設(shè)置LinuxLogo添加ADC驅(qū)動移植SD卡驅(qū)動配置USB外設(shè)第四部分利用U-boot引導內(nèi)核U-boot引導內(nèi)核步驟如下(我們使用nfs服務(wù)器) (1)用U-boot的mkimage工具處理內(nèi)核映像zImage。(2)通過網(wǎng)絡(luò)、串口、U盤、SD卡等方式將處理過的內(nèi)核映像傳輸?shù)絊DRAM的一定位置(30008000)。(3)然后使用”bootm“等內(nèi)核引導命令來啟動內(nèi)核。uImage制作方法 編譯u-boot后,在u-boot/tools/目錄下生成mkimage文件,將其拷貝至/usr/local/bin目錄下,則mkimage命令可在fedora任意目錄下使用,執(zhí)行下面命令,則會在arch/arm/boot/目錄下生成zImage.img文件。
mkimage-n‘zImage'-Aarm-Olinux-Tkernel-Cnone-a0x30008000–e0x30008040-dzImagezImage.img
也可以在編譯內(nèi)核是直接執(zhí)行makeuImage命令,編譯完成會生成uImage文件,與上述zImage.img
相同作用的文件。第四部分利用U-boot引導內(nèi)核過程用交叉網(wǎng)線、串口線、USB線、電源線連接電腦和開發(fā)板從
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 八年級歷史人教版下冊聽課評課記錄:第5課 三大改造
- 林地長期承包合同范本
- 鄉(xiāng)鎮(zhèn)精裝修商鋪出租合同范本
- 儲存場地租賃合同范本
- 廣告公司材料采購合同范本
- 二零二五年度無子女離婚協(xié)議書及子女教育資助合同
- 二零二五年度酒店會議室場地租賃及配套交通合同
- 二零二五年度酒吧租賃合同合同簽訂后的租賃物維護責任
- 2025年度商鋪轉(zhuǎn)讓三方合同附品牌使用權(quán)及營銷支持
- 夏令營代理商合作協(xié)議書范本
- 心肌梗死的心電圖改變
- 三星SHP-DP728指紋鎖說明書
- 預(yù)應(yīng)力錨索張拉及封錨
- 烤煙生產(chǎn)沿革
- GB 1886.227-2016食品安全國家標準食品添加劑嗎啉脂肪酸鹽果蠟
- 毛澤東思想課件-第七章 毛澤東思想的活的靈魂
- 公共關(guān)系效果的評估課件
- 建筑施工安全員理論考核試題與答案
- 高速公路用地勘測定界及放線定樁技術(shù)標書
- 華萊士標準化體系
- 快捷smt全自動物料倉儲方案
評論
0/150
提交評論