![嵌入式系統(tǒng)原理復(fù)習(xí)題及答案_第1頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/a041d862-a5ac-4b71-80ca-8ed7a97c9330/a041d862-a5ac-4b71-80ca-8ed7a97c93301.gif)
![嵌入式系統(tǒng)原理復(fù)習(xí)題及答案_第2頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/a041d862-a5ac-4b71-80ca-8ed7a97c9330/a041d862-a5ac-4b71-80ca-8ed7a97c93302.gif)
![嵌入式系統(tǒng)原理復(fù)習(xí)題及答案_第3頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/a041d862-a5ac-4b71-80ca-8ed7a97c9330/a041d862-a5ac-4b71-80ca-8ed7a97c93303.gif)
![嵌入式系統(tǒng)原理復(fù)習(xí)題及答案_第4頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/a041d862-a5ac-4b71-80ca-8ed7a97c9330/a041d862-a5ac-4b71-80ca-8ed7a97c93304.gif)
![嵌入式系統(tǒng)原理復(fù)習(xí)題及答案_第5頁](http://file3.renrendoc.com/fileroot_temp3/2022-2/24/a041d862-a5ac-4b71-80ca-8ed7a97c9330/a041d862-a5ac-4b71-80ca-8ed7a97c93305.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、嵌入式系統(tǒng)原理復(fù)習(xí)題1、 嵌入式系統(tǒng)的概念如各類單片機和但由于他們沒有操往往困難重重,甚至具有自己操作系統(tǒng),廣義上講,凡是帶有微處理器的專用軟硬件系統(tǒng)都可稱為嵌入式系統(tǒng)。如各類單片機和DSP系統(tǒng)。這些系統(tǒng)在完成較為單一的專業(yè)功能時具有簡潔高效的特點。作系統(tǒng),管理系統(tǒng)硬件和軟件的能力有限,在實現(xiàn)復(fù)雜多任務(wù)功能時,無法實現(xiàn)。從狹義上講,我們更加強調(diào)那些使用嵌入式微處理器構(gòu)成獨立系統(tǒng),具有特定功能,用于特定場合的嵌入式系統(tǒng)。本書所謂的嵌入式系統(tǒng)是指狹義上的嵌入式系統(tǒng)。根據(jù)IEEE(國際電氣和電子工程師協(xié)會)的定義:嵌入式系統(tǒng)是“用于控制、監(jiān)視或者輔助操作機器和設(shè)備的裝置”(原文為devicesuse
2、dtocontrol,monitor,orassisttheoperationofequipment,machineryorplants)。嵌入式系統(tǒng)是以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、功能、可靠性、成本、體積、功耗嚴(yán)格要求的專用計算機系統(tǒng)。2、 嵌入式系統(tǒng)的特點1) 系統(tǒng)內(nèi)核小2) 專用性強3) 運行環(huán)境差異大4) 可靠性要求高5) 系統(tǒng)精簡和高實時性操作系統(tǒng)6) 具有固化在非易失性存儲器中的代碼7) 無自舉開發(fā)能力3、 嵌入式系統(tǒng)的硬件平臺由哪些部分組成嵌入式系統(tǒng)的微硬件包括嵌入式核心芯片、存儲器系統(tǒng)及外部接口4、 什么是分時系統(tǒng)、軟實時系統(tǒng)、硬實時系統(tǒng),它們的區(qū)別是什么?
3、分時操作系統(tǒng)按照相等的時間片調(diào)度進(jìn)程輪流運行,分時操作系統(tǒng)由調(diào)度程序自動計算進(jìn)程的優(yōu)先級,而不是由用戶控制進(jìn)程的優(yōu)先級。這樣的系統(tǒng)無法實時響應(yīng)外部異步事件。硬實時系統(tǒng)有一個剛性的、不可改變的時間限制,它不允許任何超出時限的錯誤。超時錯誤會帶來損害甚至導(dǎo)致系統(tǒng)失敗、或者導(dǎo)致系統(tǒng)不能實現(xiàn)它的預(yù)期目標(biāo)。軟實時系統(tǒng)的時限是一個柔性靈活的,它可以容忍偶然的超時錯誤。失敗造成的后果并不嚴(yán)重,僅僅是輕微的降低了系統(tǒng)的吞吐量。5、 嵌入式系統(tǒng)的分類按嵌入式微處理器的位數(shù)分類a) 4位b) 8位c) 16位d) 32位e) 64位按軟件實時性需求分類a) 非實時系統(tǒng)b) 軟實時系統(tǒng)c) 硬實時系統(tǒng)按嵌入系統(tǒng)的復(fù)
4、雜程度分類b) 小型嵌入式系統(tǒng)c) 中型嵌入式系統(tǒng)d) 復(fù)雜嵌入式系統(tǒng)6、 ARM9處理器的工作狀態(tài)有哪些ARM狀態(tài),Thumb狀態(tài)7、 ARM9處理器的內(nèi)部寄存器結(jié)構(gòu)ARM處理器總共有37個寄存器,可以分為以下兩類寄存器:1 )31個通用寄存器:R0R15;R13_svc、R14_svc;R13_abt、R14_abt;R13_und、R14_und;R13_irq、R14_irq;R8_frq-R14_frq。2 )6個狀態(tài)寄存器CPSRSPSR_svcSPSR_abtSPSR_undSPSR_ir中口SPSR_fiq。8、 ARM9處理器的工作模式有哪些用戶,F(xiàn)IQ,IRQ,SVC,中止
5、,未定義,系統(tǒng)9、CPSRt存器各數(shù)據(jù)位的作用CPS電含條件碼標(biāo)志、中斷禁止位、當(dāng)前處理器模式以及其它狀態(tài)和控制信息。10、 如何實現(xiàn)ARM狀態(tài)和Thumb狀態(tài)的切換ARM處理器在兩種工作狀態(tài)之間切換方法:進(jìn)入Thumb狀態(tài):當(dāng)操作數(shù)寄存器Rm的狀態(tài)位bit0為1時,執(zhí)行BXRm指令進(jìn)入Thumb狀態(tài)。如果處理器在Thumb狀態(tài)進(jìn)入異常,則當(dāng)異常處理(IRQ,FIQ,Undef,Abort和SWI)返回時,自動切換到Thumb狀態(tài)。進(jìn)入ARM狀態(tài):當(dāng)操作數(shù)寄存器Rm的狀態(tài)位bit0為0時,執(zhí)行BXRm指令進(jìn)入ARM狀態(tài)。如果處理器進(jìn)行異常處理(IRQ,FIQ,Undef,Abort和SWI),
6、在此情況下,把PC放入異常模式鏈接寄存器LR中,從異常向量地址開始執(zhí)行也可以進(jìn)入ARM狀態(tài)。11、 ARM為何集成了32位的ARM指令集和16位的Thumb指令集ARM的RISC體系結(jié)構(gòu)的發(fā)展中已經(jīng)提供了低功耗、小體積、高性能的方案。而為了解決代碼長度的問題,ARM體系結(jié)構(gòu)又增加了T變種,開發(fā)了一種新的指令體系,這就是Thumb指令集。它有從標(biāo)準(zhǔn)32位ARM指令集抽出來的36條指令格式,可以重新編成16位的操作碼。這能帶來很高的代碼密度。12、 ARM指令尋址方式與ARM指令集中各類常用指令的用法(內(nèi)容太多,第三章全部內(nèi)容?。?3、 什么是交叉編譯,為什么要進(jìn)行交叉編譯在一種計算機環(huán)境中運行的
7、編譯程序,能編譯出在另外一種環(huán)境下運行的代碼,這個編譯過程就叫交叉編譯。原因:有時是因為目的平臺上不允許或不能夠安裝我們所需要的編譯器,而我們又需要這個編譯器的某些特征;有時是因為目的平臺上的資源貧乏,無法運行我們所需要編譯器;有時又是因為目的平臺還沒有建立,連操作系統(tǒng)都沒有,根本談不上運行什么編譯器。14、 簡述構(gòu)建交叉編譯鏈的主要步驟1)獲取相關(guān)的源代碼和補丁包2)它們都存放在src目錄下3)安裝binutils4)安裝Linuxheader5) 安裝Glibc頭文件6)編譯GCCStage17) 使用剛編譯出的GCC編譯Glibc8) 重新編譯GCQ即GCCStage215、 簡述嵌入式
8、系統(tǒng)的開發(fā)流程主要包括系統(tǒng)需求分析(要求有嚴(yán)格規(guī)范的技術(shù)要求卜體系結(jié)構(gòu)設(shè)計、軟硬件及機械系統(tǒng)設(shè)計、系統(tǒng)集成、系統(tǒng)測試,最終得到最終產(chǎn)品。16、 嵌入式系統(tǒng)與通用計算機的區(qū)別一是能力不同。通用計算機系統(tǒng)通常什么都能做,我們買個電腦,上網(wǎng)、聽音樂、看電影、做軟件都不在話下。嵌入式系統(tǒng)一般面向某一特定應(yīng)用,不是什么都能干。例如鼠標(biāo)里的嵌入式系統(tǒng)任務(wù)只是監(jiān)視鼠標(biāo)的按鍵,并向主CPU發(fā)送鍵碼,數(shù)碼相機里面的嵌入式系統(tǒng)主要進(jìn)行圖像處理,讓它們什么都能做,有點難也沒必要。二是大小不同。通用計算機系統(tǒng)通常對個頭沒有要求,臺式機占據(jù)一張桌子,大型服務(wù)器可以占據(jù)一個房間,筆記本放到膝蓋上就行。嵌入式系統(tǒng)由于要嵌入
9、到它服務(wù)的主體里面,一般都比較小,而且要與服務(wù)的主體有機結(jié)合成為一個整體。三是實時性要求不同。實時性指完成任務(wù)的時間要求。通用計算機系統(tǒng)一般實時性要求不高,但嵌入式系統(tǒng)往往實時性要求很高。比如汽車?yán)锏那度胧较到y(tǒng),如果發(fā)動機過熱,必須要求在規(guī)定的時間內(nèi)作出反應(yīng),如果像PC那樣不緊不慢的,后果可想而知。四是可靠性要求不同。電腦死機估計每個人都經(jīng)常遇到,死機了怎么辦?重啟就是。但是如果火箭發(fā)射時里面的嵌入式系統(tǒng)死機了,五是二次開發(fā)能力不同。我們買來個電腦,通常也就裝了個操作系統(tǒng),其它的程序我們需要什么就可以裝什么,我們甚至可以打開機箱,加幾條內(nèi)存。但嵌入式系統(tǒng)通常買來后就那樣了,軟件和硬件都不變了。
10、數(shù)碼相機相信多數(shù)人沒有打開過,也沒有再安裝什么新軟件。倒是智能手機可以裝一些軟件,但能力有限。因為一個通用計算系六是數(shù)量不同。嵌入式系統(tǒng)的數(shù)量遠(yuǎn)大于通用計算機系統(tǒng)的數(shù)量。統(tǒng)中至少包括數(shù)十個嵌入式系統(tǒng)。更別說其它的嵌入式系統(tǒng)了。17、 常見的嵌入式操作系統(tǒng)有哪些,各自有什么特點1) VxWorks:性能優(yōu)越,開發(fā)調(diào)試便利,強大的技術(shù)支持,但是昂貴的價格讓開發(fā)者望而卻步。2) WindowsCE:精簡的模塊化操作系統(tǒng)多硬件平臺支持支持有線和無線的網(wǎng)絡(luò)連接穩(wěn)健的實時性支持豐富的多媒體和多語言支持強大的開發(fā)工具3) PalmOS:3Com公司產(chǎn)品,專門為掌上電腦開發(fā)的32位的嵌入式操作系統(tǒng)占有非常小的
11、內(nèi)存,基于PalmOS編寫的應(yīng)用程序占用的空間也非常小(通常只有幾十KB)Palm提供了串行通信接口和紅外線傳輸接口,利用它可以方便地與其它外部設(shè)備通信、傳輸數(shù)據(jù)擁有開放的OS應(yīng)用程序接口,開發(fā)商可根據(jù)需要自行開發(fā)所需的應(yīng)用程序具有強開放性,現(xiàn)在有大約數(shù)千種專門為PalmOS編寫的應(yīng)用程序,從程序內(nèi)容上看,小到個人管理、游戲,大到行業(yè)解決方案,PalmOS無所不包。在豐富的軟件支持下,基于PalmOS的掌上電腦功能得以不斷擴(kuò)展。操作系統(tǒng)的節(jié)能功能。在PalmOS的應(yīng)用程序中,如果沒有事件運行,則系統(tǒng)設(shè)備進(jìn)入半休眠(doze)的狀態(tài);如果應(yīng)用程序停止活動一段時間,則系統(tǒng)自動進(jìn)入休眠(sleep)
12、狀態(tài)。合理的內(nèi)存管理。Palm的存儲器全部是可讀寫的快速RAM,動態(tài)RAM(DynamicRAM)類似于PC機上的RAM,它為全局變量和其它不需永久保存的數(shù)據(jù)提供臨時的存儲空間;存儲RAM(StorageRAM)類似于PC機上的硬盤,可以永久保存應(yīng)用程序和數(shù)據(jù)。PalmOS的數(shù)據(jù)是以數(shù)據(jù)庫(database)的格式來存儲的。4) 嵌入式Linux:嵌入式LinuxOS逐漸形成了可與WindowsCE等EOSf抗衡的局面。目前正在開發(fā)的嵌入式系統(tǒng)中,49%的項目選擇Linux作為嵌入式操作系統(tǒng)。Linux現(xiàn)已成為嵌入式操作系統(tǒng)的理想選擇。開放源碼,豐富的軟件資源,廣泛的軟件開發(fā)者的支持,價格低廉
13、,結(jié)構(gòu)靈活,適用面廣。精簡的內(nèi)核,性能高、穩(wěn)定,多任務(wù)。適用于不同的CPU,支持多種體系結(jié)構(gòu),如X86、ARM、MIPS、ALPHASPAR第。能夠提供完善的嵌入式GUI以及嵌入式X-Windows。提供嵌入式瀏覽器、郵件程序、MP3播放器、MPEG播放器、記事本等應(yīng)用程序。提供完整的開發(fā)工具和SDK同時提供PC上的開發(fā)版本。用戶可定制,可提供圖形化的定制和配置工具。常用嵌入式芯片的驅(qū)動集,支持大量的周邊硬件設(shè)備,驅(qū)動豐富。針對嵌入式的存儲方案,提供實時版本和完善的嵌入式解決方案。完善的中文支持,強大的技術(shù)支持,完整的文檔。18、 什么是BootLoader,ARM系統(tǒng)中BootLoader的
14、主要作用是什么BootLoader就是在操作系統(tǒng)內(nèi)核運行之前運行的一段小程序。通過這段小程序,我們能初始化硬件設(shè)備、建立內(nèi)存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調(diào)用操作系統(tǒng)內(nèi)核準(zhǔn)備好正確的環(huán)境。作用:硬件初始化,操作系統(tǒng)引導(dǎo)。19、 簡述BootLoader的啟動過程大多數(shù)BootLoader都包含兩種不同的操作模式:啟動加載模式和下載模式。啟動加載模式也稱為自主模式,即BootLoader從目標(biāo)機上的某個固態(tài)存儲設(shè)備上將操作系統(tǒng)加載到RAM中運行,整個過程并沒有用戶的介入。而下載模式則是目標(biāo)機上的BootLoader將通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機(Ho
15、st)下載文件。從主機下載的文件通常首先被BootLoader保存到目標(biāo)機的RAM中,然后再被BootLoader寫到目標(biāo)機上的FLASHY固態(tài)存儲設(shè)備中。這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時被使用,或系統(tǒng)更新時使用。一般嵌入式系統(tǒng)的BootLoader較為常用的是啟動加載模式,它的加載流程也是我們要重點討論的內(nèi)容。( 1)啟動部分啟動部分主要是實現(xiàn)初始化硬件的功能。在參考板的BootLoader目錄下,會發(fā)現(xiàn)一些.s文件,可能會是init.s或者是reset.s等,這樣的文件是CPU加電后最先執(zhí)行的代碼。接著Oal.exe通過Startup函數(shù)完成硬件的初始化,Startup函數(shù)是Bo
16、otLoader的入口函數(shù)。該函數(shù)一般是使用匯編語言編寫,與CPU關(guān)系非常緊密,能完成初始化CPU、內(nèi)存等核心硬件。Startup.s代碼與硬件平臺的Bootloader啟動代碼共用。如果是熱啟動,即在該函數(shù)調(diào)用之前已經(jīng)啟動了Bootloader程序,相當(dāng)基本硬件初始化已經(jīng)完成,則直接跳轉(zhuǎn)到OALStartUp函數(shù)中;否則需要進(jìn)行硬件中斷屏蔽、內(nèi)存、系統(tǒng)時鐘頻率、電源管理等硬件的基本初始化過程。在系統(tǒng)硬件初始化完畢之后,Startup調(diào)用OALStartUp函數(shù),OALStartUp函數(shù)主要完成將OEMAddressTable表傳遞給內(nèi)核,然后調(diào)用KernelStart函數(shù)跳轉(zhuǎn)到內(nèi)核。因此,這
17、部分工作是BootLoader的一大重點。( 2)主控部分StartUp函數(shù)初始化CPU等核心硬件并跳轉(zhuǎn)到Main函數(shù)后,系統(tǒng)就會轉(zhuǎn)入C語言代碼執(zhí)行環(huán)境。這時函數(shù)分為3個模塊:BLCOMMON、Download、FLASH。其中BLCOMMON模塊是由微軟提供的,執(zhí)行一些邏輯上的功能,因此建議開發(fā)人員不要對其進(jìn)行修改。而Download、FLASH中的函數(shù)與硬件平臺息息相關(guān),因此對于每種硬件平臺都要將函數(shù)的實現(xiàn)進(jìn)行修改。其中,BLCOMMON庫是與BootLoader程序鏈接在一起的,BLCOMMON庫的入口點為BootloaderMain函數(shù),它是Startup匯編函數(shù)完成后跳轉(zhuǎn)至該入口的。
18、Main函數(shù)的主要任務(wù)時調(diào)用BLCommon中的BootloaderMain()函數(shù),這是BootLoader的主控函數(shù),它控制了BootLoader的完整執(zhí)行流程。這部分代碼由C語言實現(xiàn),是BLCOMMON代碼的一部分,它可以用來執(zhí)行比較復(fù)雜的操作。比如檢測內(nèi)存和Flash的有效性、檢測外部設(shè)備接口、檢測串口并且向已經(jīng)連接的主機發(fā)送調(diào)試信息、通過串口等待命令、啟動網(wǎng)絡(luò)接口、建立內(nèi)存映射等匯編無法完成的工作。( 3)下載部分一般在平臺調(diào)試完畢后,可以在不用人工干預(yù)的情況下自動加載CE,這也是BootLoader的功能之一。而在調(diào)試階段時,這需要通過Loader所支持的命令來進(jìn)行操作的,借助于這
19、些命令不僅可以完成硬件平臺的部分測試,還能完成CE的BootLoader程序最為重要的一個功能-下載CE映像。如果說硬件調(diào)試功能可以由其它的程序代替而不放入BootLoader中,但是下載映像文件卻是BootLoader必需的功能。CE映像文件通常叫做nk.bin,它是WindowsCE二進(jìn)制數(shù)據(jù)格式文件,不僅包含了有效的程序代碼,還有按照一定規(guī)則加入的控制信息。當(dāng)然,也可以選擇生成.sre格式的代碼文件,但是相于對前一種格式,它的代碼要長很多,所需要的下載時間也更長。(4)支持DOC部份對于WinCE操作系統(tǒng)而言,豐富的多媒體功能是其一大特點。但是隨之而來的問題是,如果選擇了圖形界面和中文支
20、持,系統(tǒng)很容易大大超出嵌入式系統(tǒng)上百KB的數(shù)量級。而DOC(DiskOnChip)則提供了一種相對廉價的大存儲容量的解決方案。DOC本質(zhì)上是一種加以軟件控制的NAND格式的Flash,通過TFFS這一軟件層提供對WinCE的支持。由于DOC不能像內(nèi)存一樣被直接訪問,所以其加載WinCE的過程有些特殊,必須要在BootLoader中加入專門的代碼,才能使用DOC來存放WinCE映像文件20、 Linux內(nèi)核源碼是如何組織的,主要的目錄文件有哪些?arch32 位 PC 相關(guān)的代包含和硬件體系結(jié)構(gòu)相關(guān)的代碼,每種平臺占一個相應(yīng)的目錄。和碼存放在i386目錄下,其中比較重要的包括:kernel內(nèi)核核
21、心部分mm內(nèi)存管理math-emu浮點單元仿真lib硬件相關(guān)工具函數(shù)boot引導(dǎo)程序pciPCI總線和powerCPU相關(guān)狀態(tài)block部分塊設(shè)備驅(qū)動程序crypto常用加密和散列算法如AESSHA等還有一些壓縮和CRC驗算法。/*/drivers放置系統(tǒng)所有的設(shè)備驅(qū)動程序;每種驅(qū)動程序又各占用一個子目錄:如,/block下為塊設(shè)備驅(qū)動程序,比如ide(ide.c)。如果你希望查看所有可能包含文件系統(tǒng)的設(shè)備是如何初始化的,你可以看drivers/block/genhd.c中的device_setup()。它不僅初始化硬盤,也初始化網(wǎng)絡(luò),因為安裝nfs文件系統(tǒng)的時候需要網(wǎng)絡(luò);fs文件系統(tǒng)代碼,每
22、個支持的文件系統(tǒng)有相應(yīng)的子目錄,如include包括編譯內(nèi)核所需的大部分頭文件,與平臺無關(guān)的頭文件放在平臺相關(guān)的頭文件如include/asm-arminit這個目錄包含核心的初始化代碼(注:不是系統(tǒng)的引導(dǎo)代碼cramfs,yaffs, jffs2 等 。include/linux 子目錄下,),包含兩個文件main.c 和Version.c,這是研究核心如何工作的好的起點之一。kernel主要的核心代碼,此目錄下的文件實現(xiàn)了大多數(shù)linux系統(tǒng)的內(nèi)核函數(shù),其中最重要的文件當(dāng)屬sched.c;同樣,和體系結(jié)構(gòu)相關(guān)的代碼在arch/*/kernel中。Lib庫函數(shù)代碼。Mm這個目錄包括所有獨立于
23、cpu體系結(jié)構(gòu)的內(nèi)存管理代碼,如頁式存儲管理內(nèi)存的分配和釋放等;而和體系結(jié)構(gòu)相關(guān)的內(nèi)存管理代碼則位arch/*/mm/,例如arch/i386/mm/Fault.c;Net網(wǎng)絡(luò)支持代碼sound音頻設(shè)備驅(qū)動代碼Scripts描述文件,腳本,用于對核心的配置;documentation關(guān)于內(nèi)核各部分的通用解釋和注釋ipc進(jìn)程間通信的代碼。security主要是一個SELinux的模塊。Modules模塊文件目錄,是個空目錄,用于存放編譯時產(chǎn)生的模塊目標(biāo)文件。/*/在每個子目錄下,都有一個Makefile和一個Readme文件,仔細(xì)閱讀這兩個文件,對內(nèi)核源碼的理解很有用。其中頂層目錄下的Makef
24、ile負(fù)責(zé)整個內(nèi)核的編譯,編譯的時候遞歸的調(diào)用各個目錄下的Makefile文件,最終將產(chǎn)生內(nèi)核的可執(zhí)行映像文件。Makefile:分布在Linux內(nèi)核源碼中的Makefile定義了Linux內(nèi)核編譯的規(guī)則。Makefile決定編譯哪些文件、怎樣編譯這些文件、按什么順序連接這些文件。config:在配置內(nèi)核時生成的一個文件,根據(jù).config來決定使用哪些Make巾le。21、內(nèi)核移植的一般步驟1、族取源碼解壓2、在系統(tǒng)中添加對平臺(ARM)的支持:toplevelMakefile改交叉編譯器路徑3、改平臺輸入:arch/arm/mach-s3c2440/mach-smdk2440.c4、改機器
25、碼,與U-Boot配合才能啟動:arch/arm/tools/mach-types第一階段:5、改鏡像的存放地:arch/arm/boot>Makefile默認(rèn)鏡像存在arch/arm/boot6、做自己的配置單:#makemenuconfig力口載2410的配置單修改Systemtype修改版本信息:generalsetupkernel features使支持交叉編譯器7、保存.config并復(fù)制一個配置單的備份8、編譯鏡像:#makedistclean#makezImage9、啟動內(nèi)核看console信息第二階段:1、移植NandFlash驅(qū)動:(驅(qū)動內(nèi)核已做好,只修改幾個地方)ar
26、ch/arm/plat-s3c24xx/common-smdk.c改分區(qū)信息改讀寫匹配時間Drivers/mtd/nand/s3c2410.c去掉EC俄驗(內(nèi)核與U-Boot校驗不同)#makemenuconfig添力口NandFlash支持2、完善串口驅(qū)動(內(nèi)核只支持兩個串口,可把紅外接口修改為串口)(可選操作)紅外改串口:arch/arm/mach-smdk2440.cdrivers/serial/s3c2410.c和samsung.c配置菜單3、移植文件系統(tǒng)1、獲得yaffs文件系統(tǒng)源碼和yaffs文件系統(tǒng)補丁解壓2、內(nèi)核中添加yaffs支持打補丁改配置單DeviceDrivers、Fi
27、lesystem3、編譯BusyBox:目的是生成文件系統(tǒng)所需要的一些目錄和文件3.1、解壓BusyBox源碼進(jìn)入源碼目錄添加編譯器路徑改Makefile3.2、改BusyBox配置單#makemenuconfig保存配置單3.3、編譯安裝BusyBox#make;makeinstall生成文件系統(tǒng)部分源碼在_install4、構(gòu)建文件系統(tǒng):目的是構(gòu)建一個比較完整的文件系統(tǒng)4.1、構(gòu)建框架主目錄:root_2.6.30.4子目錄:復(fù)制:BusyBox生成的Jnstall目錄下的目錄新建:#mkdirdevetchomelibmntoptprocrootsddisksystmpudiskvarw
28、ebusr/libusr/share4.2、添加文件dev設(shè)備目錄/etc配置文件目錄/home用戶目錄/lib庫目錄/mnt移動設(shè)備掛載目錄/opt與QT等相關(guān)/proc虛擬文件系統(tǒng)和目錄/root超級用戶目錄/sys可能mdev建目錄/tmp臨時文件目錄/var臨時文件目錄/usr/bin串口后關(guān)5、編譯文件系統(tǒng)鏡像:#mkyaffs2imageroot_2.6.30.4root_2.6.30.4.bin得到文件系統(tǒng)鏡像第三階段:1、移植網(wǎng)卡驅(qū)動2、移植USB驅(qū)動3、移植LCD驅(qū)動4、移植觸摸驅(qū)動5、移植聲卡驅(qū)動6、移植SD卡驅(qū)動7、移植IIS驅(qū)動8、移植RTC驅(qū)動9、移植看門狗驅(qū)動22、
29、 嵌入式系統(tǒng)中根文件系統(tǒng)架構(gòu)是如何組織的1 ./bin目錄該目錄下存放所有用戶都可以使用的、基本的命令,這些命令在掛接其它文件系統(tǒng)之前就可以使用,所以/bin目錄必須和根文件系統(tǒng)在同一個分區(qū)中。2 ./sbin目錄該目錄下存放系統(tǒng)命令,即只有管理員能夠使用的命令,系統(tǒng)命令還可以存放在/usr/sbin,/usr/local/sbin目錄下,/sbin目錄中存放的是基本的系統(tǒng)命令,它們用于啟動系統(tǒng),修復(fù)系統(tǒng)等,與/bin目錄相似,在掛接其他文件系統(tǒng)之前就可以使用/sbin,所以/sbin目錄必須和根文件系統(tǒng)在同一個分區(qū)中。3 、/dev目錄該目錄下存放的是設(shè)備文件,設(shè)備文件是Linux中特有的文件類型,在Linux系統(tǒng)下,以文件的方式訪問各種設(shè)備,即通過讀寫某個設(shè)備文件操作某個具體硬件。比如通過"dev/ttySAC0"文件可以操作串口0,通過"/dev/mtdblock1"可以訪問MTD設(shè)備的第2個分區(qū)。4 ./etc目錄該目錄下存放著各種配置文件,對于PC上的Linux系統(tǒng),/etc目錄下的文件和目錄非常多,這些目錄文件是可選的,它們依賴于系統(tǒng)中所擁有的應(yīng)用程序,依賴于這些程序是否需要配置文件。在嵌入式系統(tǒng)中,這些內(nèi)容可以大為精減。5 ./lib目錄該目錄下存放共享庫和可加載
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 美發(fā)店員工合同范本(7篇)
- 2024-2025學(xué)年第2課諸侯紛爭與變法運動-勤徑學(xué)升高中歷史必修上同步練測(統(tǒng)編版2019)
- 2025年企業(yè)市場營銷合作伙伴協(xié)議
- 2025年酒店客房用品訂購合同模板
- 2025年不動產(chǎn)權(quán)益讓與擔(dān)保協(xié)議版
- 2025年電動車維修服務(wù)合同示范
- 2025年水文測量儀器項目立項申請報告模范
- 2025年企業(yè)銷售專員合同格式
- 2025年戀愛雙方保密協(xié)議策劃模板
- 2025年度股權(quán)變更持有人協(xié)議
- GB/T 5019.5-2023以云母為基的絕緣材料第5部分:電熱設(shè)備用硬質(zhì)云母板
- 《工傷保險專題》課件
- 2024年農(nóng)發(fā)集團(tuán)招聘筆試參考題庫含答案解析
- 京東運營課件
- 安寧療護(hù)中的人文護(hù)理課件
- 頭痛的護(hù)理小課件
- 熱工基礎(chǔ)(第二版)-張學(xué)學(xué)(8)第七章
- 南京師范大學(xué)-高等數(shù)學(xué)-期末試卷20套
- 胸痛中心培訓(xùn)課件高危胸痛識別
- 2023年新高考物理廣東卷試題真題及答案詳解(精校版)
- 研學(xué)旅行課程標(biāo)準(zhǔn)(一)-前言、課程性質(zhì)與定位、課程基本理念、課程目標(biāo)
評論
0/150
提交評論