已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
英文專(zhuān)業(yè)資料翻譯英文專(zhuān)業(yè)資料翻譯英文專(zhuān)業(yè)資料翻譯英文專(zhuān)業(yè)資料翻譯英文資料題目英文資料題目英文資料題目英文資料題目RUNNINGLINUXONARMDEVELOPMENTPLATFORMS英文資料來(lái)源英文資料來(lái)源英文資料來(lái)源英文資料來(lái)源HTTP/WWWARMCOM中文譯文題目中文譯文題目中文譯文題目中文譯文題目在在在在ARMARM開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行LINUXLINUX專(zhuān)專(zhuān)專(zhuān)專(zhuān)業(yè)業(yè)業(yè)業(yè)自動(dòng)化自動(dòng)化自動(dòng)化自動(dòng)化姓姓姓姓名名名名學(xué)學(xué)學(xué)學(xué)號(hào)號(hào)號(hào)號(hào)指導(dǎo)教師指導(dǎo)教師指導(dǎo)教師指導(dǎo)教師二OO八年六月十六日在在在在ARM開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行開(kāi)發(fā)平臺(tái)上運(yùn)行LINUX2007年1月摘要摘要摘要摘要這篇文檔介紹了怎樣在基于ARM的開(kāi)發(fā)平臺(tái)上安裝和運(yùn)行LINUX的步驟,包括安裝BOOTLOADER,內(nèi)核和文件系統(tǒng)鏡像。這篇文檔并不打算成為關(guān)于開(kāi)發(fā)與建立LINUX系統(tǒng)的完全手冊(cè),在開(kāi)源社區(qū)里已經(jīng)有大量可獲得的關(guān)于這方面的信息,開(kāi)源論壇也提供了許多有價(jià)值的信息。請(qǐng)參考ARMLINUX的維客網(wǎng)站(WWWLINUXARMORG或者WWWARMCOM/LINUX來(lái)獲得更多信息。索引索引索引索引1安裝預(yù)先編譯好的鏡像2BOOTLOADER3LINUX內(nèi)核4文件系統(tǒng)5編譯工具51交叉編譯52二進(jìn)制兼容性6UCLINUX7附加注意事項(xiàng)1安裝預(yù)先編譯好的鏡像安裝預(yù)先編譯好的鏡像安裝預(yù)先編譯好的鏡像安裝預(yù)先編譯好的鏡像鏡像文件可以通過(guò)比如ARMREALVIEWICE這樣的調(diào)試器安裝到閃存上,這種調(diào)試器通過(guò)JTAG運(yùn)行控制器與開(kāi)發(fā)板相連。ARMREALVIEWRINTEGRATOR的開(kāi)發(fā)板使用ARMFLASHUTILITY由板子提供來(lái)燒寫(xiě)鏡像(比如AFUAXF,在調(diào)試器中運(yùn)行工具AFUPROGRAM1UBOOTC/TMP/UBOOTBINLOWESTAVAILABLEFLASHATLOCATION0X24440000BLOCKB30PROGRAMMINGBLOCKB30ARMREALVIEWVERSATILEPB,AB926EJS通過(guò)調(diào)試器運(yùn)行由開(kāi)發(fā)提供的BOOTMONITORAXF程序來(lái)燒寫(xiě)鏡像。程序上有幾個(gè)關(guān)于燒寫(xiě)ELF格式或者是二進(jìn)制格式的選項(xiàng)菜單。為了通過(guò)閃存運(yùn)行程序你應(yīng)該按照如下燒寫(xiě)ELF格式的鏡像到閃存FLASHWRITEIMAGEC/TMP/UBOOTAXFNAMEUBOOTREALVIEWVERSATILES提供了一個(gè)叫做“NETWORKFLASHUTILITYNFU”的附加的閃存燒寫(xiě)工具。這個(gè)工具能夠通過(guò)以太網(wǎng)連接來(lái)燒寫(xiě)鏡像到閃存。為了從一個(gè)IP已知(比如19216801的服務(wù)器下載并燒寫(xiě)一個(gè)UBOOT鏡像文件到閃存,你可以使用如下命令序列MANAGEDHCPCSTARTMANAGEMAPN19216801FLASHWRITEIMAGEN/UBOOTAXF請(qǐng)參考你的REALVIEWVERSATILE系列光盤(pán)中提供的文檔來(lái)獲得更多的信息和精確的語(yǔ)法。在燒寫(xiě)其他鏡像文件內(nèi)核與CRAMFS文件系統(tǒng)的時(shí)候可以使用類(lèi)似的過(guò)程。這些鏡文件應(yīng)當(dāng)按照二進(jìn)制格式燒寫(xiě)而不是按照ELF格式燒寫(xiě)。更多的信息請(qǐng)參考隨開(kāi)發(fā)板所提供的固件文檔。2BOOTLOADERUBOOT是REALVIEWINTEGRATOR與VERSATILE版本的啟動(dòng)加載器??梢酝ㄟ^(guò)WWWSOURCEFORGENET/PROJECTS/UBOOT/來(lái)獲取源代碼和文檔。UBOOT預(yù)期是在ARM板子上內(nèi)存的的0X0100000地址處開(kāi)始運(yùn)行。提供的鏡像可以通過(guò)一個(gè)調(diào)試器加載而從這個(gè)地址上運(yùn)行。REALVIEWINTEGRATOR原始二進(jìn)制文件(或者是ELF文件可以在閃存的開(kāi)始處被替換并當(dāng)作默認(rèn)的鏡像而被執(zhí)行。REALVIEWVERSATILE你應(yīng)當(dāng)使用ELF文件直接從閃存運(yùn)行,或者從內(nèi)存加載和運(yùn)行原始的二進(jìn)制文件。為了編譯UBOOT你需要從上述網(wǎng)站上下載源代碼的發(fā)行版本。對(duì)REALVIEWINTEGRATOR與VERSATILE的支持已經(jīng)加入了UBOOTCVS/GIT的軟件倉(cāng)庫(kù)。在寫(xiě)這篇文檔的時(shí)候附加的補(bǔ)丁或許已經(jīng)應(yīng)用上了,如果有的話,這些補(bǔ)丁應(yīng)當(dāng)被列出在對(duì)外公布的郵件列表上源代碼可以從HTTP/WWWARMCOM/LINUX/LINUX_DOWNLOADHTML獲得。一旦你已經(jīng)解壓源碼,你需要設(shè)置并編譯BOOTLOADER。你可以從MAKEFILE的上面部分來(lái)參考所有的目標(biāo)列表。為了設(shè)置與編譯BOOTLOADER你應(yīng)當(dāng)執(zhí)行下列命令REALVIEWINTEGRATOR/CPMAKEINTEGRATORCP_CONFIGMAKEREALVIEWVERSATILEMAKEVERSATILEAB_COFIGMAKE編譯出的可執(zhí)行文件二進(jìn)制或者是ELF格式被放置在最頂層的目錄。為了編碼傳遞給LINUX內(nèi)核的默認(rèn)的命令行參數(shù)和默認(rèn)的BOOTLOADER命令序列比如DHCP/BOOTTP,FLASH等,使用了很多的宏定義。這其中的許多宏定義可以通過(guò)使用UBOOT的SET命令進(jìn)行交互式的改變。ARMREALVIEWVERSATILE開(kāi)發(fā)板所用的參數(shù)可以通過(guò)各自的在INCLUDE/CONFIGS目錄下的配置文件得到,這些配置文件都定義了像CONFIG_COMMANDS,CONFIG_BOOTARGS與CONFIG_BOOTCOMMAND這樣的宏。LINUX內(nèi)核通常從由宏CFG_LOAD_ADDR0X7C0指定的地址開(kāi)始加載,然后從0X8000處執(zhí)行一個(gè)未被壓縮的內(nèi)核鏡像。當(dāng)將一個(gè)原始的LINUX內(nèi)核二進(jìn)制文件鏡像轉(zhuǎn)化成一個(gè)被UBOOT加載的文件時(shí),這些參數(shù)由UBOOT的MKIMAGE工具指定。當(dāng)編譯UBOOT時(shí)MKIMAGE工具被內(nèi)置在里面。注意,當(dāng)你通過(guò)以太網(wǎng)下載一個(gè)內(nèi)核鏡像的時(shí)候,你應(yīng)當(dāng)配置你的服務(wù)器能夠識(shí)別你的開(kāi)發(fā)平臺(tái)的網(wǎng)卡地址和鏡像的下載位置。從閃存的鏡像中啟動(dòng)從閃存的鏡像中啟動(dòng)從閃存的鏡像中啟動(dòng)從閃存的鏡像中啟動(dòng)當(dāng)把UBOOT啟動(dòng)文件加入LINUX內(nèi)核二進(jìn)制鏡像中去時(shí),請(qǐng)確認(rèn)加載與執(zhí)行的地址都被設(shè)置為0X8000。啟動(dòng)命令應(yīng)當(dāng)是INTEGRATORCPCP0X0X7FC00XINTEGRATORCPBOOTM你也可以使用UBOOT所帶的“HELP“命令來(lái)查看每個(gè)命令的精確的語(yǔ)法。命令行命令行命令行命令行LINUX內(nèi)核的命令行可以在UBOOT的提示符下通過(guò)使用SET命令來(lái)改變?!癙RINTENV“命令可以用來(lái)列出當(dāng)前的環(huán)境變量。當(dāng)從一個(gè)BOOTLOADER執(zhí)行一個(gè)LINUX內(nèi)核的時(shí)候,內(nèi)核就會(huì)使用由指出的命令行來(lái)代替任何默認(rèn)的內(nèi)置的命令行。鏡像可以允許你保存環(huán)境變量到閃存中,這可以通過(guò)使用“SAVEENV“命令來(lái)實(shí)現(xiàn)。從HTTP/WWWARMCOM/LINUX中獲得的UBOOT鏡像包含了已保存在閃存中的從閃存的低部開(kāi)始的按照的UBOOT,內(nèi)核和文件系統(tǒng)的順序保存在閃存中的命令行。3LINUX內(nèi)核內(nèi)核內(nèi)核內(nèi)核內(nèi)核的源代碼可以從WWWKERNELORG網(wǎng)站上下載并獲得,任何附加的補(bǔ)丁應(yīng)當(dāng)按照如下添加在基本內(nèi)核目錄樹(shù)上CDLINUX2619/PATCHPL對(duì)于每一個(gè)平臺(tái)和預(yù)先編譯的鏡像都有配置文件。相關(guān)的配置文件應(yīng)當(dāng)復(fù)制到內(nèi)核文件并命名為CONFIG,內(nèi)核可以通過(guò)運(yùn)行MAKEXCONFIG或者等價(jià)的命令比如MAKEMENUCONFIG來(lái)配置。以下命令序列可以用來(lái)編譯構(gòu)建內(nèi)核MAKEXCONFIGMAKEIMAGE在ARCH/ARM/BOOT/中產(chǎn)生原始的二進(jìn)制鏡像一個(gè)包含與內(nèi)核鏡像相關(guān)且能夠被調(diào)試器加載的調(diào)試信息的VMLINUX文件會(huì)產(chǎn)生假設(shè)內(nèi)核在編譯的時(shí)候使用了G選項(xiàng)BOOTLOADER同時(shí)也能檢測(cè)到平臺(tái)的ID,信息被保存在寄存器中。內(nèi)核在啟動(dòng)并執(zhí)行以前需要平臺(tái)的編號(hào)。當(dāng)直接從一個(gè)調(diào)試器中啟動(dòng)一個(gè)內(nèi)核的時(shí)候,寄存器中的值需要有調(diào)試器設(shè)定。4文件系統(tǒng)文件系統(tǒng)文件系統(tǒng)文件系統(tǒng)由本頁(yè)提供的內(nèi)建的文件系統(tǒng)可用在ARMREALVIEWINTEGRATOR與VERSATILE版本的平臺(tái)上。使用一個(gè)腳本文件可以在運(yùn)行的時(shí)候檢測(cè)平臺(tái)的類(lèi)型,并且創(chuàng)建一個(gè)指向適當(dāng)?shù)拇谠O(shè)備/DEV/TTY的符號(hào)鏈接。這些鏡像包含了一個(gè)系統(tǒng)工具,命令和應(yīng)用程序的子集。為了配置一個(gè)壓縮的文件鏡像,ARM_EMBEDDED_LINUX_230TARGZ文件需要解壓。編譯的指令由最頂層的README文件提供,此文件還列出了產(chǎn)生一個(gè)壓縮文件系統(tǒng)鏡像的各個(gè)步驟。用于編寫(xiě)此文件系統(tǒng)比如說(shuō)CRAMFS文件系統(tǒng)中應(yīng)用的程序的源代碼包的復(fù)件可以以代碼的形式向ARM網(wǎng)站索取聯(lián)系A(chǔ)RM技術(shù)支持。文件系統(tǒng)或者通過(guò)NFS被掛載或者放在閃存上,取決于平臺(tái)的設(shè)置和在啟動(dòng)時(shí)傳遞給內(nèi)核的命令行參數(shù)。在任何情況下,文件系統(tǒng)的位置由內(nèi)核的命令行參數(shù)以“ROOT“選項(xiàng)的形式具體指出,或者是ROOT/DEV/MTDBLOCKI或者是ROOT/DEV/NFS,其中I由合適的分區(qū)數(shù)代替。在REALVIEWVERSATILE版本平臺(tái)上,MTDPART選項(xiàng)需要被定義以便指出鏡像存放在閃存的哪個(gè)位置。這些已經(jīng)在內(nèi)核源代碼目錄下的DRIVER/MTD/目錄下整理好了,并且在配置文件中還有一個(gè)與REALVIEWVERSATILE平臺(tái)二進(jìn)制鏡像有關(guān)的配置文件。5編譯工具51交叉編譯ARM交叉編譯工具鏈需要安裝在宿主機(jī)上以便用來(lái)編寫(xiě)LINUX內(nèi)核或者應(yīng)用程序。在默認(rèn)情況下這篇文章假設(shè)是在一個(gè)基于LINUX宿主機(jī)的開(kāi)發(fā)平臺(tái)上。請(qǐng)注意下載下來(lái)的預(yù)先編譯好的工具鏈需要假設(shè)你安裝在系統(tǒng)上的GLIBC的函數(shù)庫(kù)的版本23。以ROOT用戶來(lái)執(zhí)行如下步驟來(lái)解壓并且安裝預(yù)先編譯好的工具鏈到你的系統(tǒng)MKDIR/USR/LOCAL/ARM/GNU/RELEASE411CD/USR/LOCAL/ARM/GNU/RELEASE411TARXVFZSOURCEYG411ARMNONELINUXGNUEABII686PCLINUXGNUTARGZLNS/USR/LOCAL/ARM/GNU/RELEASE411/USR/LOCAL/ARM/GNU/RELEASES用來(lái)編譯GCC工具的源代碼可以從WWWCODESOURCERYCOM或者從GCCCVS的主要的軟件倉(cāng)庫(kù)下載。也可以到這個(gè)網(wǎng)站的討論小組上去討論與ARMGNU工具有關(guān)的技術(shù)性的問(wèn)題??梢跃幾g多種編譯器的目標(biāo)文件AMRELF系列能夠產(chǎn)生與任何操作系統(tǒng)都無(wú)關(guān)的FLAT格式或者是標(biāo)準(zhǔn)的二進(jìn)制文件。ARMELF選擇了與ARMLINUX共用大量代碼的ELF格式支持。ARMNONELINUXGNUEABI是在LINUX上需要的目標(biāo)文件并且能夠編譯支持LINUX/ARM的ELF格式。預(yù)先構(gòu)建的工具鏈?zhǔn)前凑誂RMLINUX的選項(xiàng)產(chǎn)生的,并且不是使用的236版本的GLIBC。52ABI兼容性在這個(gè)發(fā)行版中使用的GCC也就是GCC41默認(rèn)使用了支持ARM構(gòu)架的ABI。LINUX2619的內(nèi)核可以設(shè)置為支持新的ARM構(gòu)架的ABI和舊版本的ABI。隨文件系統(tǒng)提供的22版本的軟件包在編譯時(shí)已經(jīng)加入了對(duì)新的ABI的支持,你應(yīng)該確保你在配置內(nèi)核時(shí)加入了對(duì)ABI的支持KERNELFEATURESCONFIG_AEABI??梢允褂脙?nèi)核配置選項(xiàng)KERNELFEATURESCONFIG_OABI_COMPAT來(lái)使用ARM構(gòu)架的舊版本的ABI,然而這需要一個(gè)與內(nèi)建了支持舊版本ABI(也就是AEL210二進(jìn)制工具的文件系統(tǒng)聯(lián)合使用。在使用諸如由IOCTL調(diào)用而傳遞的數(shù)據(jù)結(jié)構(gòu)體的時(shí)候,這就顯得十分重要,從內(nèi)核的角度與從用戶的角度來(lái)看這些地方的數(shù)據(jù)類(lèi)型與隊(duì)列必須精確一致。這篇文檔可以從地址HTTP/WWWARMCOM/PDFS/AN150B_BUILDEING_LINUX_APPLICATIONS_WITH_RVCTZIP下載。6UCLINUX本頁(yè)提供預(yù)先編譯好的UCLINUX內(nèi)核鏡像。主要的軟件倉(cāng)庫(kù)的關(guān)于UCLINUX源代碼的內(nèi)核信息可以從HTTP/WWWUCLINUXORG和HTTP/OPENSRCSECSAMSUNGCOM網(wǎng)站由HYOKS為了最初的ARM移植而創(chuàng)立上下載。在2005年,對(duì)沒(méi)有MMU的ARM的支持已經(jīng)加入到了主內(nèi)核中,并且大部分的不支持MMU的內(nèi)核補(bǔ)丁應(yīng)當(dāng)被整合到主內(nèi)核中。在這個(gè)網(wǎng)站上獲得的UCLINUX內(nèi)核鏡像是由與EABI兼容的工具鏈產(chǎn)生的,并且內(nèi)核在編譯的時(shí)候使用了CONFIG_AEABI選項(xiàng)。然而這并不是一個(gè)完整的對(duì)UCLINUX兼容的EABI也就是共享庫(kù)等)。在本頁(yè)上提供的文件系統(tǒng)的鏡像是一個(gè)由社區(qū)成員們制作的工具與可執(zhí)行文件的集合體,并且有編譯的時(shí)候沒(méi)有使用EABI選項(xiàng)。假設(shè)已經(jīng)對(duì)內(nèi)核進(jìn)行了設(shè)置,內(nèi)核可以處理這兩種類(lèi)型的二進(jìn)制文件。UCLINUX對(duì)應(yīng)用程序使用一種FLAT格式的二進(jìn)制文件。這只是一個(gè)簡(jiǎn)單的包含了加載與執(zhí)行需求最小的可二進(jìn)制格式。一個(gè)特殊的為ELF
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年證券分析師之發(fā)布證券研究報(bào)告業(yè)務(wù)考試題庫(kù)300道含完整答案【有一套】
- 2026年一級(jí)注冊(cè)建筑師考試題庫(kù)300道【奪冠】
- 2026年企業(yè)人力資源管理師考試備考題庫(kù)含答案(綜合題)
- 2026年材料員考試備考題庫(kù)附參考答案【突破訓(xùn)練】
- 防水卷材制造工崗前班組評(píng)比考核試卷含答案
- 2026年安全員之A證考試題庫(kù)500道含完整答案【典優(yōu)】
- 2026年設(shè)備監(jiān)理師之設(shè)備監(jiān)理合同考試題庫(kù)帶答案(模擬題)
- 羽毛球制作工安全生產(chǎn)能力考核試卷含答案
- 2026年設(shè)備監(jiān)理師之質(zhì)量投資進(jìn)度控制考試題庫(kù)200道及一套答案
- 家用洗衣機(jī)維修工安全培訓(xùn)考核試卷含答案
- 油漆車(chē)間年終總結(jié)
- 2025年甘肅省水務(wù)投資集團(tuán)有限公司招聘企業(yè)管理人員筆試考試參考試題及答案解析
- 廣東省六校2025-2026學(xué)年高二上學(xué)期12月聯(lián)合學(xué)業(yè)質(zhì)量檢測(cè)語(yǔ)文試題(含答案)
- 2025年10月自考07180廣播播音主持試題及答案
- 鄉(xiāng)村康養(yǎng)項(xiàng)目申請(qǐng)書(shū)
- 私人奴隸協(xié)議書(shū)范本
- 2025秋期版國(guó)開(kāi)電大本科《心理學(xué)》一平臺(tái)形成性考核練習(xí)1至6在線形考試題及答案
- MOOC 英語(yǔ)影視欣賞-蘇州大學(xué) 中國(guó)大學(xué)慕課答案
- 護(hù)理人員配置原則與標(biāo)準(zhǔn)
- 阿爾及利亞醫(yī)療器械法規(guī)要求綜述
- 為深度學(xué)習(xí)而教:促進(jìn)學(xué)生參與意義建構(gòu)的思維工具
評(píng)論
0/150
提交評(píng)論