DM365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊_第1頁
DM365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊_第2頁
DM365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊_第3頁
DM365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊_第4頁
DM365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、dm365中的u-boot編譯以及內(nèi)核編譯指導(dǎo)手冊這個實驗主要涉及五個方面的內(nèi)容:一、ubl的編譯說明,因為ubl是ccs下的工程文件,編譯ubl在ccs環(huán)境下即可 直接編譯,這里略去方法,只耍知道ubl文件的功能是負(fù)責(zé)啟動u-boot n級啟動鏡像。二、u-boot的編譯:1、在實驗開始之前,首先看下這個實驗的工作環(huán)境和目錄結(jié)構(gòu)情況,如下圖所示轎 一ubuntu: /dpt/dm365file edit view search terminal help rootubuntu:/opt/dm365# isdm36x flash utilszk33hk setup.sh tt u-boot-2

2、0ie-88-14-bkup.tgzdm36x zip linux-2 6 lsproseedisplayzeilieie tgz montavista. tgzu - bootrootubuntu:/opt/dm365#flash_utils目錄是關(guān)于ubl的內(nèi)容的,u_boot是關(guān)于u_boot內(nèi)容的ti_davinci是關(guān) 于linux內(nèi)核源碼編譯的內(nèi)容,所有的目錄都在的dm365這個工作總目錄下,(因為之后的 測試和驗證均實在dm365這個板子上進(jìn)行的)上述三個子冃錄分別對應(yīng)實驗的三個部。2、在編譯內(nèi)核z前,先做些準(zhǔn)備工作,搭建好以后需要使川的平臺,這里主要是交 叉編譯器的搭建,在之示

3、編譯內(nèi)核的過程屮會使用到此交叉編譯器,指定路徑麻便可使用, 為了指定交叉編譯器的路徑,在總的目錄下建立一個腳本文件setup.sho在以后使用交叉編 譯器的吋候都會根據(jù)這個路徑來尋找,腳木文件比較簡單,在所使用的終端上使用相應(yīng)的命 令便可使之生效。i uukguuuiilu:/upi/uiii3u7# lbdm36x flash utils匾 顯setup.shttdm36x zip linux-2.6.18_pro5e0_display_2011_ie_ie tgz montavista tgzu-bo(rootubuntu:/opt/dm365# vim setup.sh |編輯腳木文件的

4、命令。root)ubuntu: /opt/dmj65file edit view search terminal help#!/bin/shexport path=spath:/opt/dm365/montavista/pro/devkit/arm/v5t le/bin腳木文件的內(nèi)容。dm36x, zip imux-2 6.18_pro5e0_display_2eil_ie_16 tgz rootubuntu:/opt/dm365# source setup.sr rootubuntu:/opt/dm365#使用此命令便“j將交叉編譯器的路徑添加到path環(huán)境變量中。3、準(zhǔn)備工作完成z后,進(jìn)行

5、u_boot的編譯:potubuntu:/opt/dm365/u-boot# make disttclean nake: * no rule to make target 'disttclean' stop ootubuntu:/opt/dm365/uboot# make distclean root(9ubuntu:/odt/dm365/u-boot# 在編譯z前,先清除-些不必要的東西,以避免彩響住成新的編譯結(jié)果,運(yùn)用的指令如上所示。rootubuntu:/opt/dm365/u-boot# make davinci_dm365_ipncconfiguring for da

6、vinci_dm365_ipnc board rootubuntu:/opt/dm365/u-boot# make arch=arm|z后進(jìn)入編譯階段,步驟如上所示,第i條指令mae后跟的是板子名字,(這里運(yùn)用的是dm 365的板子)第二條指令后跟的是體系結(jié)構(gòu)。(arm的體系結(jié)構(gòu))下圖是編譯過程中的部分截圖:xjcnctattnyinclude/commonh:0: warning: target cpu does not support interworking make c tools allmakel: entering directory '/opt/dm365/u-boot/

7、tools1gcc -wall -pedantic idirafter /opt/dm365/u-boot/incl.ude -idirafter /opt/dm365/u-boot/include2 idirafter /op elude -dtext base=9x81080ee0 -duse hostcc -0 -c -o img2srec.o img2srec.cgcc -wall pedantic idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 -idirafter /op elude

8、 -dtext base=0x81080000 -duse hostcc -0 -o img2srec img2srec.o strip img2srecgcc -g -wall -idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 idirafter /opt/dm365 dtext base=ox81g8g00o -duse hostcc -0 -c -o mkimage.o mkimage.cgcc -g -wall -pedantic -idirafter /opt/dm365/u-boot

9、/include idirafter /opt/dm365/u-boot/include2 -idirafter /include -dtext_base=0x81680000 -duse hostcc -0 -c -o crc32.o crc32.cgcc -g -wall -idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 -idirafter /opt/dm365 dtext base=0x81080000 -duse hostcc -0 -c -o image.o image.cgcc -

10、g wall -pedantic -idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 -idirafter /include dtext base=0x8198969e -duse hostcc -0 -c -o md5.o md5.cgcc g wall pedantic idirafter /opt/dm365/uboot/include idirafter /opt/dm365/u-boot/incl.ude2 idirafter /include dtext base=0x8ie80000

11、 -duse hostcc -0 -c -o shal.o shal.cgcc g -wall idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 idirafter /opt/dm365 dtext base=ex81080eee -duse hostcc -0 -c -0 fdt.o fdt.cgcc -g -wall idirafter /opt/dm365/u-boot/include -idirafter /opt/dm365/u-boot/include2 idirafter /opt/

12、dm365 dtext base=ox81o80eee -duse hostcc -0 -c -0 fdt ro.o fdt ro.cgcc -g wall -idirafter /opt/dm365/u-boot/include idirafter /opt/dm365/u-boot/include2 -idirafter /opt/dm365生成的.bin文件如截圖所示,這就是編譯u_boot jh的內(nèi)容,它的作用就是啟動操作系統(tǒng),這里是在下一步需要編譯的linux內(nèi)核。-rwx rv/xr-xp圧bimoioubokoor|23:12ppccontig.mk rwxrwxr-x15005

13、001359962009-03-0223:12readme-rw-1rootroot452012-08-0622:46readmejnake-rwxrwxrx150050012562009-03-0223:12rules.mk-rwxrwxr x15005009062009-03-0223:12shconfig.mk-rwx rv/xr x15005g09082009-03-0223:12sparcconfig.mk-rw-1rootroot236762012-08-0623:02system.map-rw-1rootroot201231452012-07-2802:20tagsdrwxrwx

14、r-x950056040962012-08-0623:00tools-rwxr1rootroot6095882012-08-0623:02u-bootrwxrxx1rootroot1542842012-08-0623:02u-boot-1.34dm365_ipncbin-rw-r-r-1rootroot1478202012-08-0623:02u-boot.maprwxrxx1rootroot4629382012-08-0623:02boot.srecrootubuntu: /opt/dm365/u - boot#三、linux內(nèi)核的編譯,這個過程如如下:1、內(nèi)核編譯分為三個步驟,這里為了方便

15、,將三條make語句均寫在一個shell文件中, 沒執(zhí)行一次shell文件都有一條相應(yīng)的指令執(zhí)行。聲 root)ubuntu: /opt/dm365/ti-davindfile edit view search terminal help#!/bin/shmake af i=arm“p =arm v5t_le- davinci_dm368_ipnc_defconfigmake arch=ann cross compi v5t lemenuco"make arch二arrn cross compf 二 a nrw vj i iii v5t le-make后有不同的參數(shù),第一個參數(shù)指的是

16、體系結(jié)構(gòu),第二個參數(shù)是和應(yīng)編譯器,(交叉編譯器的路徑在z前己經(jīng)搭建好)第三個參數(shù)是采用某個板子川的默認(rèn)配宜。(這里是dm365)file edit view search terminal helpi / »、 «j t "、ti l / m jl < i / j i i#make arc fkarm cross compile二arm v5t le- davinci dm368 ipnc defconfig make arch二arm cross compile=arm v5tjle- menuconfig#make arch二arm cross comp

17、ile二ariii v5t le- ulmaqe第二條語句是修改內(nèi)核操作,需要使用配置命令,進(jìn)入后可以進(jìn)行圖形界而的配置,也可以使用默認(rèn)配置(這里只耍不再配置即町,也就是進(jìn)入圖形界面后不做任何操作)file edit view search terminalhelp#!/bin/sh#make arch二arm cross c0mpile=arn1 v5t_le- davincidm368 ipncdefconfarch=arm cross cof4pile=arni v5t le- menucon|ake=arm m=armv5t le ulmage第三條語句就是生成鏡彖文件ulmageo

18、(這個也是編譯內(nèi)核后的文件)順序執(zhí)行上述三條指令便可完成內(nèi)核編譯的工作。同時,也町將三條指令寫在一個shell文件中,每次執(zhí)行一條指令,注釋兩外兩條,這里就是運(yùn)用的就是這個方法,每次執(zhí)行的命令都一樣crc32 functions (crc32) y/? ycrc32c (castagnoli, et al) cyclic redundancy-check (libcrc32c # configuration written to config#root(aubuntu: /opt/dm365/tidavinci# /compile sh上圖所示是第一條指令執(zhí)行成功后的結(jié)果,現(xiàn)在執(zhí)行笫二條指令。

19、進(jìn)入圖形配置內(nèi)核界面,這里使用默認(rèn)配置即可。x built-in excluded <m> module < > module capableoifs2 file system support (experimental)<select< exit >< help >接下來執(zhí)行第三條指令,牛成鏡像文件:copying ilggllocalversion-mvl module symvers reporljrootubuntu:/opt/dm365/ti-davinci# vim compile.sh rootubuntu:/opt/dm36

20、5/ti-davinci# ./compile.shchkinclude/linux/version.hmakel: kinclude/asm-arm/machtypes.h is up to date.chkinclude/linux/utsrelease.hchkinclude/linux/compile.hkernel: arch/arm/boot/image is readykernel: arch/arm/boot/zlmage is readyimage arch/arm/boot/ulmage is readyrootubuntu:/opt/dm365/ti-davinci#卜圖

21、是牛成鏡像文件的d錄和ulmage文件rootubuntu:/opt/dm365/ti-davinci/arch/arm/boot# isvhh 壓 ibebfeeki image install.sh makefile ulmage zlmage rootubuntu:/opt/dm365/tidavinci/arch/arm/boot# is total 7456d rwx rwx rwx2507users40962010-01-2500:06d rwx rwx rwx2507users40962012-08-0623:42-rwxr-xr-x1rootroot39208162012-08

22、-0623:42image-rv/x rwx rv/x1507users13262009-03-0123:13install.sh-rwx rv/x rwx1507users25492009-03-0123:13makefile-rw-r-r-1rootroo08-0623:42ulmagerwxr-xr-x1rootroo08-0623:42zlmage四、安裝tftp服務(wù)器tftp服務(wù)器的作用是將牛成的鏡像文件下載到板子屮(如果自己的操作系統(tǒng)小已經(jīng)女裝過此服務(wù)器的話,此步驟省略)1、安裝服務(wù)端、客戶端.超級服務(wù)端(需要聯(lián)網(wǎng))-rwxr-x

23、r-x 1 root root1846888 2012-08-06 23:42 zlmageroot(3ubuntu:/opt/dm365/tidavinci/arch/arm/boot# aptget install tftpd tftp xinetdj2、建立配置文件,創(chuàng)建/etc/xineted.d/tftp文件,并在文件中添加如卜內(nèi)容:oo® root)ubuntu: /etc/xinetd.dfile edit view search terminal helpgerviceprotocol = ud(port=sockettype=dgramwaituserservers

24、erver argsdisablej3.建立tftp服務(wù)器文件目錄(上傳文件與卜載文件的位置),并且更改具權(quán)限copying e hd 0 el | e localversion rootabuntie/opdin亍6&/+i-davinci# mkdir /rftpbootcopying q 曲翅qqqlocalversion-mvl modrootubuntu:/opt/dm365/ti-davinci# chmod -r 777 /tftpbootj4、通過xinitd超級服務(wù)器丿訂動tftpdrootubuntu:/opt/dm365/tidavinci# /etc/init.

25、d/xinetd startrather than invoking init scripts through /etc/init.dr use the service(8) 1 utility, e.g. service xinetd startsince the script you are attempting to invoke has been converted to an upstart job, you may also use the start(8) utility, e.g. start xinetd ootubuntu:/odt/dn365/ti-davinci#五、用

26、u-boot啟動:module.symvers/tftpboot/localversion-mvlk將生成的ulmage拷貝到tftpboot fl錄下,以便可以使川ubuntu:/opt/dm365/ti-davinci# cp arch/arm/boot/ulmageubuntu:/opt/dm365/tdavinci#ubuntu:/opt/dm365/ti-davinci# ubuntu:/opt/dm365/ti-davinci# ubuntu: znnt/dm365/ti -davinci# 1rn/tftpboot h錄下可以看到剛剛復(fù)制進(jìn)來的鏡像文件rootubuntu:/tf

27、tpboot# is ulmage ulmage_6467t root(aubuntu: /tftpboot# |2、將鏡像文件下載到相應(yīng)的板子上,并進(jìn)行演示:首先是設(shè)置tftp服務(wù)器的ip和客戶端的ipsetenv ipaddr 21setenv serverip 192.16&2.222在板子啟動z前,將此命令寫入串口工具命令框小,并保存此設(shè)置,以便以后不用多次設(shè)置。boot命令將進(jìn)入鏡像導(dǎo)入模式,u-boot啟動內(nèi)核,之后在設(shè)置環(huán)境參數(shù)setenv gatewayip setenv bootcmd *tftp 0x82000000 ul

28、mage;bootm 0x82000000'setenv bootcmd 'tftp 0x82000000 ulmage_365_bkup;bootm 0x82000000'setenv bootargs 'console=ttys0,l 15200n8 root=/dev/ram() rw initrd=0x82000000,16m mem=5()mip=1925:22:::eth0:off在鍵入boot命令,成功引導(dǎo)進(jìn)入環(huán)境。同時u-boot和內(nèi)核z間還可以進(jìn)行傳參通信,在u-boot啟動

29、z前,通過串口工具將參數(shù)傳 遞給內(nèi)核,內(nèi)核可以解析。setenv bootargs 'consoletysoj 15200n8 mem=50m noinitrd root=/dev/nfs nfsroot= 22:/opt/nfs,nolock,rsize=4096,wsize=4096 param=testparam mpurate=600 ip= 192.16&2.221:22:1926&2.1::eth0:off例如在這條命令中,param=testparam是自己設(shè)置的參數(shù),在經(jīng)過解析后,輸入

30、結(jié)果如下:cpuo: d cach«: s192bull t 1 zonel uts .kernel cgj-md -ine: cor>£>i«=ttysi 221:22:12 1682l”5525525s0:«h(hoffpid hash xabl< entries: 256 (order:clock event we t仏r0_0 conf igucor so*: colour du dzccq 80x jud*rrry each* hash e8l92 (ord*r:人 32768r-cache hash c

31、 entries: 4096 (or<kr: 2. 163b4 metrory: 93m8 - so6 totalcpuo: i cache: 16384 bytes. assatrty 4, 32 byte lin*s 126 sets亠is - -bytes associativity 4 32 byte lir*es. 4 setstotal ddes: 12800corie-1tylio, 1152co»8rolnltrd root-/<i?v7nfs nfsroot-22:/opt/nf£.nolcck.rs4ze-4096茅 o

32、at testpin “風(fēng)心匕yoc ip<92.16bytes) cups set: 07-.:凸52552550:址力0:0什圖片 1111、可部分有譜句輸ill 為 process_param is testparam.這里解析的部分在如卜所示的目錄下:domountsrd.c initramfs o main o do mounts rdo kconfig makefile initramfs.cmaincmounts oversion.c version.orootubuntu:/opt/dm365/ti-davinci/init# is builtin.o do mounts.cdo mounts initrdocalibrate.c do_mountshdo_mountsnd ccalibrate.。 do mounts initrd.c do mountso rootu

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論