嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立

嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立

ID:39587458

大?。?93.00 KB

頁(yè)數(shù):35頁(yè)

時(shí)間:2019-07-06

嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立_第1頁(yè)
嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立_第2頁(yè)
嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立_第3頁(yè)
嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立_第4頁(yè)
嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立_第5頁(yè)
資源描述:

《嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立》由會(huì)員上傳分享,免費(fèi)在線(xiàn)閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第5章 嵌入式系統(tǒng)開(kāi)發(fā)環(huán)境的建立本章要點(diǎn)主機(jī)開(kāi)發(fā)環(huán)境的建立嵌入式Linux系統(tǒng)內(nèi)核的裁剪、編譯嵌入式Linux系統(tǒng)開(kāi)發(fā)板的燒寫(xiě)建立主機(jī)開(kāi)發(fā)環(huán)境1、交叉編譯什么是交叉工具鏈?為什么要使用交叉工具鏈?所謂交叉編譯就是在一個(gè)平臺(tái)上生成可以在另一個(gè)平臺(tái)上執(zhí)行的代碼。安裝進(jìn)行嵌入式開(kāi)發(fā)前,首先需安裝交叉工具鏈,步驟如下:1.解壓工具鏈到某一目錄下例:tarxvzfarm-linux-gcc-4.3.2.tar.gz–C/2.修改/etc/profile,添加pathmunge/usr/local/arm/4.3.2/bin3.執(zhí)行source/e

2、tc/profile使用編譯器:arm-linux-gccarm-linux-gcchello.c–ohello反匯編工具:arm-linux-objdumparm-linux-objdump–D–ShelloELF文件查看工具:arm-linux-readelfarm-linux-readelf–ahelloarm-linux-readelf–dhello查看hello使用的動(dòng)態(tài)庫(kù)編譯嵌入式Linux內(nèi)核嵌入式Linux系統(tǒng)由Linux內(nèi)核與根文件系統(tǒng)兩部分構(gòu)成,兩者缺一不可。內(nèi)核制作制作嵌入式平臺(tái)使用的Linux內(nèi)核,方法和制作PC

3、平臺(tái)的Linux內(nèi)核基本一致,下面使用對(duì)比的方式介紹如何制作用于嵌入式開(kāi)發(fā)板的內(nèi)核。1、清除原有配置與中間文件x86:makedistcleanarm:makedistclean2、配置內(nèi)核x86:makemenuconfigarm:makemenuconfigARCH=arm3、編譯內(nèi)核x86:makebzImagearm:makeuImageARCH=armCROSS_COMPILE=arm-linux根文件系統(tǒng)根文件系統(tǒng)是Linux啟動(dòng)時(shí)使用的第一個(gè)文件系統(tǒng)。沒(méi)有根文件系統(tǒng),Linux將無(wú)法正常啟動(dòng)。根文件系統(tǒng)由一系列目錄組成,目

4、錄中包含了應(yīng)用程序、C庫(kù)、以及相關(guān)的配置文件。根文件系統(tǒng)1、創(chuàng)建根文件系統(tǒng)的目錄mkdirrootfscdrootfsmkdirbindevetclibprocsbinsysusrmnttmpvarmkdirusr/binusr/libusr/sbinlib/modules2、創(chuàng)建設(shè)備文件cddev/mknod-m666consolec51mknod-m666nullc13cd..3、安裝/etctaretc.tar.gz–C/xxx/rootfs根文件系統(tǒng)4、編譯內(nèi)核模塊進(jìn)入Linux內(nèi)核目錄(linux2.6.29)makemodu

5、lesARCH=armCROSS_COMPILE=arm-linux-5、安裝內(nèi)核模塊makemodules_installARCH=armINSTALL_MOD_PATH=/xxx/rootfs根文件系統(tǒng)——Busybox:嵌入式開(kāi)發(fā)中的瑞士軍刀6、配置busybox進(jìn)入busybox目錄執(zhí)行makemenuconfiga.進(jìn)入BusyboxSettingsbuildOptions->選中“Buildbusyboxasastaticbinary”,靜態(tài)鏈接CrossCompilerprefix(arm-linux-)Installat

6、ionOptions->選中“Don‘tuse/usr”,選中該項(xiàng)可以避免busybox被安裝到宿主系統(tǒng)的/usr目錄下,破壞宿主系統(tǒng)BusyboxInstallationPrefix(/xxx/rootfs)該選項(xiàng)表明編譯后的busybox的安裝位置根文件系統(tǒng)7、編譯、安裝busyboxmakeARCH=armCROSS_COMPILE=arm-linux-makeinstallRamdisk基于前面步驟制作好的根文件系統(tǒng),可進(jìn)一步制作ramdisk,步驟如下:1、genext2fs-b8192-d/xxx/rootfsramdisk

7、**genext2fs為產(chǎn)生ramdisk的工具**2、gzip-9-framdiskBootLoader什么是BootLoader?軟件層次一個(gè)嵌入式系統(tǒng)從軟件角度來(lái)看分為三個(gè)層次:1.引導(dǎo)加載程序包括固化在固件(firmware)中的boot程序(可選),和BootLoader兩大部分。2.Linux內(nèi)核特定于嵌入式平臺(tái)的定制內(nèi)核。3.文件系統(tǒng)包括了系統(tǒng)命令和應(yīng)用程序。一個(gè)同時(shí)裝有BootLoader、內(nèi)核的啟動(dòng)參數(shù)、內(nèi)核映像和根文件系統(tǒng)映像的固態(tài)存儲(chǔ)設(shè)備的典型空間分配結(jié)構(gòu)圖:軟件層次回憶PCPC機(jī)中的引導(dǎo)加載程序由BIOS(其本質(zhì)

8、是一段固件程序)和GRUB或LILO一起組成。BIOS在完成硬件檢測(cè)和資源分配后,將硬盤(pán)中的引導(dǎo)程序讀到系統(tǒng)內(nèi)存中然后將控制權(quán)交給引導(dǎo)程序。引導(dǎo)程序的主要任務(wù)是將內(nèi)核從硬盤(pán)上讀到內(nèi)存中,然后跳轉(zhuǎn)到內(nèi)核的入口

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。