ARM9在內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序_第1頁(yè)
ARM9在內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序_第2頁(yè)
ARM9在內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序_第3頁(yè)
ARM9在內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序_第4頁(yè)
ARM9在內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序_第5頁(yè)
已閱讀5頁(yè),還剩3頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

ARM9在Linux內(nèi)核中添加Led驅(qū)動(dòng)程序和應(yīng)用程序源文件目錄的建立mkdir/tmp/edukit-2410復(fù)制所有的源文件到/tmp/edukit-2410,源文件清單如下:linux-2.4.18-rmk7-pxa1-mz5.tar.bz2『Linux內(nèi)核源碼壓縮包』root.cramfs.tar.bz2『文件系統(tǒng)源碼壓縮包』vivi-20030929.tar.bz2『Bootloader源碼壓縮包』Patch『補(bǔ)丁文件目錄,包含VIVI和內(nèi)核補(bǔ)丁文件,如下』kit2410.patchcramfs-1.1.tar.gz『生成文件系統(tǒng)的工具』linuxsetenv『設(shè)置環(huán)境變量文件』Led驅(qū)動(dòng)程序目錄0701_driver-led,源文件位于第二張光盤(pán)鏡像\CD3_Linux_070615\04-EduKit2410Linux\drivers\0701_driver-ledLed應(yīng)用程序目錄0701_test-led:源文件位于第二張光盤(pán)鏡像\CD3_Linux_070615\04-EduKit2410Linux\examples\0701_test-ledLinux交叉編譯工具鏈的建立新建目錄/usr/local/arm,解壓cross-2.95.3.tar.bz2到根目錄:cd/tar–jxvf/tmp/edukit-2410/cross-2.95.3.tar.bz2移動(dòng)解壓生成的目錄到/usr/local/armmv/2.95.3//usr/local/arm添加工具鏈位置到PATH變量vi/etc/profile添加到最后一行:exportPATH=$PATH:/usr/local/arm/2.95.3/bin(暫不運(yùn)行該文件,即不執(zhí)行命令source/etc/profile,因?yàn)橐c后面設(shè)置環(huán)境變量的文件Linuxsetenv發(fā)生沖突)建立環(huán)境變量修改文件linuxsetenv,建立五個(gè)環(huán)境變量:exportWORKDIR=”/usr/local/src/edukit-2410exportSOURCEDIR=”/tmp/edukit-2410exportCROSSDIR=”/usr/local/arm/2.95.3exportINSTALLDIR=”/home/app”...exportPATH=……………….:$PATH(給本行加上#)#exportPATH=$PATH:……………….(刪除本行的#)運(yùn)行l(wèi)inuxsetenv,生成環(huán)境變量Sourcelinuxsetenv(若不在文件linuxsetenv所在目錄,要加上路徑)編譯VIVI將VIVI源碼壓縮包解壓到$WORKDIRCd$WORKDIRTar–jxvf$SOURCEDIR/vivi-20030929.tar.bz2生成vivi目錄打補(bǔ)?。哼M(jìn)入vivi目錄,打補(bǔ)丁cdvivipatch–p1<$SOURCEDIR/patch/kit2410.patchmakecleanmakemenuconfig配置vivi,在菜單中選擇Load(加載配置文件),輸入文件位置:arch/def-configs/smdk2410-amd,保存退出。make生成啟動(dòng)引導(dǎo)程序vivi,大小為67k左右。將vivi拷貝到windows共享目錄中:cpvivi/mnt/hgfs/wds-lnx/images編譯內(nèi)核將內(nèi)核源碼壓縮包解壓到$WORKDIRcd$WORKDIRTar–jxvf$SOURCEDIR/linux-2.4.18-rmk7-pxa1-mz5.tar.bz2生成kernel目錄2、打補(bǔ)丁:進(jìn)入kernel目錄,打補(bǔ)丁cdkernelPatch–p1<$SOURCEDIR/patch/linux-2.4.18-rmk7-pxa1-mz5.tar.bz23、在/usr/local/src/edukit-2410/kernel/drivers目錄下,新建一個(gè)"led"文件夾,將Led驅(qū)動(dòng)程序3個(gè)文件led-edukit-s3c2410.c、Makefile.kernel、Config.in拷貝到Led目錄中。cp$SOURCEDIR/0701_driver-led/*$WORKDIR/kernel/drivers/led/rm–fMakefile(刪除多余的Makefile文件)mvMakefile.kernelMakefile(修改文件名)rm–freadme.txt(刪除說(shuō)明文件)這樣可以在LED目錄下看到三個(gè)文件:Makefile、Config.in及l(fā)ed-edukit-s3c2410.c。注:修改led-edukit-s3c2410.c第17行…s3c2410/s3c2410.h為…s3c2410/S3C2410.h4、修改drivers/char/Config.in文件,在第113行增加一行把LED配置作為字符配置的一個(gè)選項(xiàng):…//略sourcedrivers/led/Config.insourcedrivers/i2c/Config.in…//略5、修改kernel/drivers/Makefile文件,在“DRIVERS-m:=”之后,添加如下腳本粗的內(nèi)容,這樣使在編譯Linux內(nèi)核驅(qū)動(dòng)時(shí),能把led目錄包含進(jìn)去。在這里使用了宏定義為CONFIG_LED_EDUKIT2410判斷是否包含?!?/略mod-subdirs:=diomtd…led…為省略的驅(qū)動(dòng)目錄名subdir-y:=parportserialcharblocknetsoundmiscmediacdromhotplugsubdir-m:=$(subdir-y)subdir-$(CONFIG_LED_EDUKIT2410)+=led(添加此行)subdir-$(CONFIG_DIO)+=diosubdir-$(CONFIG_PCI)+=pci…//略修改kernel/Makefile文件,為內(nèi)核啟動(dòng)時(shí)加載LED添加選項(xiàng):…//略DRIVERS-n:=DRIVERS-y:=DRIVERS-m:=DRIVERS-:=DRIVERS-$(CONFIG_LED_EDUKIT2410)+=drivers/led/led.o(添加此行)DRIVERS-$(CONFIG_ACPI)+=drivers/acpi/acpi.o…//略6、配置內(nèi)核Makexconfig(在配置窗口中選擇加載配置文件,輸入配置文件的位置:arch/arm/def-configs/edukit2410-amd,并從“Characterdevices->LedSupport”選擇添加LED設(shè)備保存退出)makedepmakecleanmakezImage(生成內(nèi)核映像文件zImage在$OWRKDIR/arch/arm/boot/zImage,大小為700多KB)7、將zImage拷貝到windows共享目錄中:CpzImage/mnt/hgfs/wds-lnx/images注意:操作第六步前應(yīng)該使文件linuxsetenv設(shè)置的環(huán)境變量無(wú)效,方法是注銷(xiāo),或者在Xwindows下關(guān)閉命令窗口,再重新打開(kāi)一個(gè)命令窗口,可以使用echo命令查看環(huán)境變量是否生效,主要使用的環(huán)境變量如下:$WORKDIR=”/usr/local/src/edukit-2410”(工作目錄$SOURCEDIR=”/tmp/edukit-2410”$CROSSDIR=”/usr/local/arm/2.95.3”$INSTALLDIR=”/home/app”(結(jié)果文件存放目錄)$PATH(編譯工具路徑)添加應(yīng)用程序到文件系統(tǒng)中,制作文件系統(tǒng)映像Source/etc/profile(使該配置文件中的PATH變量生效)將文件系統(tǒng)源碼包解壓到/usr/local/src/edukit-2410目錄,生成root目錄。cd/usr/local/src/edukit-2410tar–jxvf/tmp/edukit-2410/root.cramfs.tar.bz22、編譯/tmp/edukit-2410/0701_test-led生成可執(zhí)行文件test-led,將可執(zhí)行文件test-led放在/usr/local/src/edukit-2410/root/bin目錄下cd/tmp/edukit-2410/0701_test-ledmake (編譯生成可執(zhí)行文件test-led)cptest-led/usr/local/src/edukit-2410/root/bin2、建立文件系統(tǒng)編譯工具解壓Cramfs-1.1.tar.gz到$WORKDIR,生成Cramfs-1.1目錄,cd/usr/local/src/edukit-2410tar–zxvf/tmp/edukit-2410/cramfs-1.1.tar.gz進(jìn)入Cramfs-1.1目錄,cdcramfs-1.1make(生成創(chuàng)建文件系統(tǒng)的工具mkcramfs和cramfsck)生成文件系統(tǒng)cd/usr/local/src/edukit-2410cramfs-1.1/mkcramfsrootroot.ramfs執(zhí)行以上命令后,在當(dāng)前目錄$WORKDIR下生成embest.ramfs文件,大小為1.

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論