linux 操作系統(tǒng)移植_第1頁
linux 操作系統(tǒng)移植_第2頁
linux 操作系統(tǒng)移植_第3頁
linux 操作系統(tǒng)移植_第4頁
linux 操作系統(tǒng)移植_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

Linux操作系統(tǒng)移植小組成員:李莉馮曉成董娟婷李文明第一部分嵌入式Linux軟件開發(fā)環(huán)境構(gòu)建在Windows上安裝虛擬機(jī)VMware-6.5在虛擬機(jī)上安裝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ū)動(dòng)安裝USB下載程序DNW及其驅(qū)動(dòng)第二部分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移植(二)

修改引導(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條件定義

對于s3c2440好多代碼都是借用s3c2410的,所以要對所有條件編譯中有CONFIG_S3C2410的地方添加CONFIG_S3C2440,這樣才能編譯進(jìn)來。

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

編譯通過則生成u-boot.bin下載u-boot到開發(fā)板NandFlash(此處用USB下載)從NandFlash重啟開發(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)(對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)通過網(wǎng)絡(luò)、串口、U盤、SD卡等方式將處理過的內(nèi)核映像傳輸?shù)絊DRAM的一定位置(30008000)。(3)然后使用”bootm“等內(nèi)核引導(dǎo)命令來啟動(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)核過程用交叉網(wǎng)線、串口線、USB線、電源線連接電腦和開發(fā)板從

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論