【正文】
人生的道路還很長,我們需要不斷地努力才能不斷地進(jìn)步。感謝我的爸爸媽媽,焉得諼草,言樹之背,養(yǎng)育之恩,無以回報(bào),你們永遠(yuǎn)健康快樂是我最大的心愿。并且讓我懂得了要完成一件事情,必須得有所付出。然后我得感謝我的同學(xué),他們陪伴著我走過了四年,給了我很多精彩的回憶,同時(shí),我也從他們身上學(xué)到不少東西,無論是學(xué)習(xí),還是生活。Reilly Media Press,2009:183221.[11] Tsugikazu Shibata. Status of Linux Kernel Development and Relationship with Industry[J]. 2011,:1519.[12] Rodriguez . The Linux Kernel Hall Open Source Software Development Series[M]. 2006:5768.[13] Raj Kamal. Embedded Systems[M]. Tsinghua University Press,2010:247259.[14] Robert Love. Linux Kernel Development[M]. Novell Press,2011:168194.. 致 謝 四年的大學(xué)生涯即將結(jié)束,我首先感謝從大一到大四一直孜孜不倦教誨我的那些老師。嵌入式操作系統(tǒng)可應(yīng)用于家用領(lǐng)域、工業(yè)領(lǐng)域、商業(yè)領(lǐng)域和國防領(lǐng)域,其產(chǎn)品形態(tài)豐富多樣,市場潛力巨大,嵌入式軟硬件將面臨著難得的市場機(jī)會(huì),而在這之中嵌入式Linux將會(huì)得到越來越多的關(guān)注,因此對嵌入式Linux的研究和推廣具有極其重要的實(shí)際意義。我想這是一次自我意志的磨練,幫助我提高了實(shí)際能力,這也會(huì)對我未來的學(xué)習(xí)和工作有很大的幫助。在設(shè)計(jì)的同時(shí),我也學(xué)了不少其他的知識(shí),比如對ip地址有了更深刻的了解,對文件共享的方法也有所掌握。圖13 USB驅(qū)動(dòng)測試說明USB驅(qū)動(dòng)移植正確第五章 總結(jié)本論文對Linux內(nèi)核的移植過程做了一個(gè)比較詳細(xì)的描述,在移植過程中遇到許多錯(cuò)誤,比如內(nèi)核配置時(shí)沒有把不需要編譯的部分去掉,導(dǎo)致內(nèi)核編譯出來的zImage文件過大,超過2M,加載到開發(fā)板上面無法啟動(dòng)的問題,等等。如沒有mnt目錄,可用命令mkdir /mnt創(chuàng)建。圖12 RTC實(shí)時(shí)時(shí)鐘測試說明RTC時(shí)鐘驅(qū)動(dòng)移植正確。圖11 LCD測試說明LCD驅(qū)動(dòng)移植正確。 LCD測試在主菜單中輸入“6”,按“回車”鍵開始執(zhí)行測試,接著按照提示按任意鍵,LCD將不斷變化顯示,直到最后顯示一幅圖片結(jié)束,并返回主菜單。 觸摸屏測試在主菜單中輸入“5”,按“回車”開始進(jìn)行觸摸屏測試,這時(shí)用附帶的觸摸筆點(diǎn)擊觸摸屏,可以看到串口終端打印觸摸點(diǎn)的坐標(biāo)信息如圖10所示。串口打印出信息如圖8所示。 UDA1341測試先將音箱接到開發(fā)板的綠色耳機(jī)孔座,在主菜單中輸入“8”,按“回車”開始音頻輸出測試,這時(shí)可以從音箱聽到XP 的啟動(dòng)聲音。啟動(dòng)開發(fā)板之后在secureCRT中輸入:ifconfig eth0 這樣設(shè)置就使開發(fā)板和電腦在同一個(gè)網(wǎng)段里,然后輸入:ping 出現(xiàn)測試信息如圖8所示。“USB Port”“Transmit” “Transmit”,選擇測試映象文件,接著點(diǎn)“打開”,這樣就開始下載了。,設(shè)置USB下載運(yùn)行地址為0x30000000。s3c_device_rtc, 配置內(nèi)核,支持RTC: Device Drivers *Real Time Clock [*]Set system time from RTC on startup and resume (rtc0) rtc used to set the system time [*]/sys/class/rtc/rtcN(sysfs) [*]/proc/driver/rtc(procfs for rtc0) [*]/dev/rtcN(character drivers) *Samsung S3C series SoC RTC 啟動(dòng)時(shí)輸出:S3C24XX RTC, (c) 2004,2006 Simtec Electronicss3c2410rtc s3c2410rtc: rtc disabled, reenablings3c2410rtc s3c2410rtc: rtc core: registered s3c as rtc0 USB驅(qū)動(dòng)移植USB驅(qū)動(dòng)比較完善,只需要進(jìn)行配置如下:Device drivers SCSI Device support * SCSI device support[*] legacy /proc/scsi/ support* SCSI disk support[*] HID Devices * USB Human Interface Device (full HID) support[*] /dev/hiddev raw HID device support[*] USB support * Support for Hostside USB[*] USB device filesystem[*] USB device classdevices(DEPRECATED)* USB Monitor* OHCI HCD support* USB Mass Storage support啟動(dòng)時(shí)輸出:usb usb1: configuration 1 chosen from 1 choicehub 10:: USB hub foundhub 10:: 2 ports detectedInitializing USB Mass Storage driver...usbcore: registered new interface driver usbstorageUSB Mass Storage support registered.第四章 系統(tǒng)的功能測試 測試準(zhǔn)備把移植后的內(nèi)核文件燒錄進(jìn)GT2440開發(fā)板后再燒寫根文件系統(tǒng),然后進(jìn)行內(nèi)核移植是否成功的測試。 /*clkval*/LCD參數(shù)配置修改,在arch/arm/machs3c2440/:.width= 240,.height= 320,.pixclock=100000,/*HCLK60MHz,divisor10*/.setclkval=0x3,/*add by xgc*/.xres=240,.yres=320,.bpp=16,.left_margin=19,.right_margin=24,.hsync_len=44,.upper_margin=7,.lower_margin=5,.vsync_len=15,注釋掉第150行的語句://.lpcsel=((0xCE6)amp。加入fbi |=S3C2410_LCDCON1_CLKVAL(default_displaysetclkval)。struct s3c2410fb_display *default_display = mach_infodisplays +mach_infodefault_display。配置對yaffs2支持:File systems DOS/FAT/NT Filesystems * MSDOS fs support* VFAT (Windows95) fs supportMiscellaneous filesystems * YAFFS2 file system support[*] Autoselect yaffs2 format配置語言選項(xiàng):Native Language support (iso88591) Default NLS Option* Codepage 437(United States, Canada)* Simplified Chinese charset(CP936, GB2312)* NLS ISO88591 (Latin 1。在配置時(shí)選擇NAND類型,修改driver/mtd/nand/Kconfig,在172行,添加:choicepromptNand Flash Capacity Selectdepends on MTDconfig 64M_NANDboolean 64M NAND For S3C2440depends on MTDconfig 256M_NANDboolean 256M NAND For S3C2440depends on MTDendchoice,使其支持NandFlashDevice Drivers * Memory Technology Device (MTD) support [*] MTD partitioning support * NAND Device Support * NAND Flash support for S3C2410/S3C2440 SoC [*] Samsung S3C NAND Hardware ECC//這個(gè)一定要選上 Nand Flash Capacity Select(256M Nand For GT2440) yaffs2文件系統(tǒng)的支持yaffs文件系統(tǒng)是專門針對Nand閃存設(shè)計(jì)的嵌入式文件系統(tǒng),目前有yaffs和 yaffs2兩個(gè)版本,兩個(gè)版本的主要區(qū)別之一在于YAFFS2能夠更好的支持大容量的Nand Flash芯片。加入:if defined(CONFIG_64M_NAND) [0] = { .name = uboot, .offset = 0x00000000, .size = 0x00040000, }, [1] = { .name = kernel, .offset = 0x00200000, .size = 0x00200000, }, [2] = { .nam