嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答_第1頁
嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答_第2頁
嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答_第3頁
嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答_第4頁
嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、word可編輯嵌入式專業(yè)系統(tǒng)設(shè)計大學教程習題與解答.word可編輯嵌入式系統(tǒng)設(shè)計大學教程習題與解答第1章 嵌入式系統(tǒng)設(shè)計根本概念緒論1、嵌入式系統(tǒng)的定義是什么?你是如何理解嵌入式系統(tǒng)的 P3 答:嵌入式系統(tǒng)一般定義為以應(yīng)用為中心、以計算機技術(shù)為根底,軟硬件可裁剪,應(yīng)用系統(tǒng)對功能、可靠性、本錢、體積、功耗和應(yīng)用環(huán)境有特殊要求的專用計算機系統(tǒng)。一個嵌入式系統(tǒng)就是一個硬件和軟件的集合體,它包括硬件和軟件兩局部。其中硬件包括嵌入式處理器/控制器/數(shù)字信號處理器DSP、存儲器及外設(shè)器件、輸入輸出I/O端口、圖形控制器等;軟件局部包括操作系統(tǒng)軟件嵌入式操作系統(tǒng)和應(yīng)用程序應(yīng)用軟件,由于應(yīng)用領(lǐng)域不同,應(yīng)用程序

2、千差萬別。2、列出并說明嵌入式系統(tǒng)不同于其他計算機系統(tǒng)的主要特征。P3P4 答:主要特征有: 系統(tǒng)內(nèi)核小:由于嵌入式系統(tǒng)一般是應(yīng)用于小型電子裝置,系統(tǒng)資源相對有限,所以內(nèi)核較傳統(tǒng)的操作系統(tǒng)要小得多。 專用性強:嵌入式系統(tǒng)通常是面向特定任務(wù)的,個性化很強,其中軟件系統(tǒng)和硬件的結(jié)合非常緊密,一般要針對硬件進行軟件系統(tǒng)的移植。 運行環(huán)境差異大:嵌入式系統(tǒng)使用范圍極為廣泛,其運行環(huán)境差異很大。 可靠性要求高:嵌入式系統(tǒng)往往要長期在無人值守的環(huán)境下運行,甚至是常年運行,因此對可靠性的要求特別高。 系統(tǒng)精簡和高實時性操作系統(tǒng): 具有固化在非易失性存儲器中的代碼:為了系統(tǒng)的初始化,幾乎所有系統(tǒng)都要在非易失性

3、存儲器中存放局部代碼啟動代碼。為了提高執(zhí)行速度和系統(tǒng)可靠性,大多數(shù)嵌入式系統(tǒng)常常把所有代碼或者其壓縮代碼固化,存放在存儲器芯片或處理器的內(nèi)部存儲器件中,而不使用外部存儲介質(zhì)。 嵌入式系統(tǒng)開發(fā)工作和環(huán)境:嵌入式系統(tǒng)開發(fā)需要專門的開發(fā)工具和環(huán)境。3、簡述嵌入式系統(tǒng)的體系結(jié)構(gòu)。P5 答:嵌入式系統(tǒng)自底向上包含四個局部:硬件平臺、嵌入式實時操作系統(tǒng)RTOS、硬件抽象層HAL和嵌入式實時應(yīng)用程序。硬件抽象層位于操作系統(tǒng)和硬件之間,包含了系統(tǒng)中與硬件相關(guān)的大局部功能。屏蔽了底層硬件的多樣性,操作系統(tǒng)不再直接面對具體的硬件環(huán)境,而是面向由這個中間層次所代表的、邏輯上的硬件環(huán)境。4、嵌入式系統(tǒng)是怎樣分類的?P

4、8 答:根據(jù)不同的分類標準,嵌入式系統(tǒng)有不同的分類方法。按嵌入式微處理器的位數(shù)分類:嵌入式系統(tǒng)可分為4位、8位、16位、32位和64位等;按軟件實時性需求分類:可分為非實時系統(tǒng)如PDA、軟實時系統(tǒng)如消費類產(chǎn)品和硬實時系統(tǒng)如工業(yè)實時控制系統(tǒng)。按嵌入式系統(tǒng)的復(fù)雜程度分類:嵌入式系統(tǒng)可分為小型嵌入式系統(tǒng)、中型嵌入式系統(tǒng)和復(fù)雜嵌入式系統(tǒng)。5、什么是實時操作系統(tǒng),其主要功能是什么?P8 答:實時多任務(wù)操作系統(tǒng)Real Time multi-tasking Operation System,RTOS簡稱實時操作系統(tǒng),主要用來完成嵌入式實時應(yīng)用的任務(wù)調(diào)度和控制等核心功能。這些功能是通過內(nèi)核效勞函數(shù)形式交給用

5、戶調(diào)用的,也就是RTOS的系統(tǒng)調(diào)用,或者叫做RTOS的API。6、在日常生活中,你接觸過哪些嵌入式產(chǎn)品?他們都有些什么功能?P9P10 答:略 第2章 嵌入式系統(tǒng)設(shè)計根本概念1、嵌入式系統(tǒng)的硬件由哪幾個局部組成?P1213 答:嵌入式系統(tǒng)的硬件系統(tǒng)是由嵌入式處理器、存儲器、I/O接口電路、通信模塊以及其他外部設(shè)備組成的。其核心是嵌入式處理器。存儲器是構(gòu)成嵌入式系統(tǒng)硬件的重要組成局部。嵌入式處理器工作時,必須有附屬電路支持,如時鐘電路、復(fù)位電路、調(diào)試電路、監(jiān)視定時器、中斷控制電路等,這些電路并不完成數(shù)據(jù)的輸入/輸出功能,而是為嵌入式處理器的工作提供必要的條件。嵌入式處理器與通用處理器的最大區(qū)別在

6、于嵌入式處理器集成了大量的不同功能的I/O模塊。用戶在開發(fā)嵌入式系統(tǒng)時,可以根據(jù)系統(tǒng)需求選擇適宜的嵌入式處理器,而無需再另外配備I/O電路。此外,嵌入式系統(tǒng)通常還包括人機交互界面,用于系統(tǒng)與用戶的交互。人機界面常常使用鍵盤、液晶屏、觸摸屏等部件,以方便與用戶的交互操作。2、通用處理器與嵌入式處理器有哪些相同和不同的地方?P13 答:嵌入式微處理器一般具備四個特點: 對實時和多任務(wù)有很強的支持能力,能完成多任務(wù)并且有較短的中斷響應(yīng)時間,從而使內(nèi)部的代碼和實時操作系統(tǒng)的執(zhí)行時間減少到最低限度; 具有功能很強的存儲區(qū)保護功能,這是由于嵌入式系統(tǒng)的軟件結(jié)構(gòu)已模塊化,而為了防止在軟件模塊之間出現(xiàn)錯誤的交

7、叉作用,需要設(shè)計強大的存儲區(qū)保護功能,同時也有利于軟件診斷; 可擴展的處理器結(jié)構(gòu),以能迅速地擴展出滿足應(yīng)用的高性能的嵌入式微處理器; 嵌入式處理器的功耗必須很低,尤其是用于便攜式的無線及移動的計算和通信設(shè)備中靠電池供電的嵌入式系統(tǒng)更是如此,功耗只能為mW甚至W級。 嵌入式處理器與通用處理器的最大區(qū)別在于嵌入式處理器集成了大量的不同功能的I/O模塊。用戶在開發(fā)嵌入式系統(tǒng)時,可以根據(jù)系統(tǒng)需求選擇適宜的嵌入式處理器,而無需再另外配備I/O電路。3、常用的嵌入式處理器通常分成哪幾大類?P13 答:嵌入式系統(tǒng)中的處理器通常分為三大類,即微處理器Micro-Processor Unit,MPU、微控制器M

8、icro-Controller Unit,MCU和數(shù)字信號處理器DSP。微處理器是指功能較強大的CPU,它不是為任何特定的計算目標而設(shè)計的。因此這種芯片通常用于個人計算機與效勞器。微控制器是針對嵌入式系統(tǒng)而設(shè)計的,它將CPU、存儲器以及其他外設(shè)都集成在同一片電路板上。數(shù)字信號處理器DSP中的CPU是針對快速離散時間信號處理計算的。因此,DSP非常適用于音頻及視頻通信?,F(xiàn)代的芯片生產(chǎn)工藝已經(jīng)允許將重要處理器的內(nèi)核和各種外圍的芯片器件整合在一起,以進一步降低功耗,到達專用的需求,這時,便出現(xiàn)了片上系統(tǒng)SoCSystem On Chip。4、什么是嵌入式外圍設(shè)備?簡要說明嵌入式外圍設(shè)備是如何分類的。

9、P2223 答:5、嵌入式操作系統(tǒng)的開展經(jīng)歷了哪幾個階段?P28答:嵌入式操作系統(tǒng)伴隨著嵌入式系統(tǒng)的開展,大致經(jīng)歷了四個階段:第一階段:無操作系統(tǒng)的嵌入算法階段,以單芯片為核心的可編程控制器形式的系統(tǒng),具有與監(jiān)測、伺服、指示設(shè)備相配合的功能。第二階段:以嵌人式CPU為根底、簡單操作系統(tǒng)為核心的嵌入式系統(tǒng)。由于CPU種類繁多,因此通用性比擬差;系統(tǒng)開銷小,效率高;具有一定的兼容性和擴展性;系統(tǒng)主要用來控制系統(tǒng)負載以及監(jiān)控應(yīng)用程序運行。第三階段:通用的嵌入式實時操作系統(tǒng)階段。以嵌入式操作系統(tǒng)為核心的嵌入式系統(tǒng),能運行于各種類型的微處理器上,兼容性好;內(nèi)核精小、效率高,具有高度的模塊化和擴展性;具備

10、文件和目錄管理、設(shè)備支持、多任務(wù)、網(wǎng)絡(luò)支持、圖形窗口以及用戶界面等功能;具有大量的應(yīng)用程序接口APl;嵌入式應(yīng)用軟件豐富。第四階段:以基于Internet為標志的嵌入式系統(tǒng)。這是一個正在迅速開展的階段。嵌入式設(shè)備與Internet的結(jié)合將代表著嵌入式技術(shù)的真正未來。6、現(xiàn)階段常用的操作系統(tǒng)有哪些?通過調(diào)研,指出幾種常用的嵌入式操作系統(tǒng)的特點是什么?常用在什么場合?P2829 答:常用的嵌入式RTOS分三大類:商用系統(tǒng)、專用系統(tǒng)和開放系統(tǒng)。商品化的嵌入式實時操作系統(tǒng),主要有WindRiver的Vxworks和pSOS+,3Com的Palm OS以及Microsoft的Windows CE等。專用

11、操作系統(tǒng)功能相對較弱,但針對性強,其平安可靠性大都超過普通商用系統(tǒng),如應(yīng)用于 的嵌入式操作系統(tǒng)SymbianOS。開放系統(tǒng)的典型代表是嵌入式Linux和mC/OS-。7、嵌入式操作系統(tǒng)的主要任務(wù)有哪些?P28 答:嵌入式操作系統(tǒng)通常包括與硬件相關(guān)的底層驅(qū)動軟件、系統(tǒng)內(nèi)核、設(shè)備驅(qū)動接口、通信協(xié)議、圖形界面、標準化瀏覽器等。 嵌入式操作系統(tǒng)具有通用操作系統(tǒng)的根本特點,如能夠有效管理越來越復(fù)雜的系統(tǒng)資源;能夠把硬件虛擬化,使得開發(fā)人員從繁忙的驅(qū)動程序移植和維護中解脫出來;能夠提供庫函數(shù)、驅(qū)動程序、工具集以及應(yīng)用程序。8、嵌入式系統(tǒng)的根本設(shè)計過程包括哪幾個階段?每一個階段的主要工作有哪些?P33 答:

12、以自頂向下的角度來看,系統(tǒng)設(shè)計包括五個階段,從系統(tǒng)需求分析開始;第二步是規(guī)格說明,在這一步,我們對需設(shè)計的系統(tǒng)功能進行更細致地描述,這些描述并不涉及系統(tǒng)的組成;第三步是系統(tǒng)結(jié)構(gòu)設(shè)計,在這一階段以大的構(gòu)件為單位設(shè)計系統(tǒng)內(nèi)部詳細構(gòu)造,明確軟、硬件功能的劃分;第四步是構(gòu)件設(shè)計,它包括系統(tǒng)程序模塊設(shè)計、專用硬件芯片選擇及硬件電路設(shè)計;第五步是系統(tǒng)集成,在完成了所有構(gòu)件設(shè)計的根底上進行系統(tǒng)集成,構(gòu)造出所需的完整系統(tǒng)。9、需求分析階段細分為哪幾個步驟?每個步驟完成什么工作?P3435 答:需求分析階段可細分為四個階段:1、需求與規(guī)格說明:通過與客戶進行交流,了解用戶的意圖,明確客戶需求,整理成正式的規(guī)格說

13、明,這些規(guī)格說明里包含了進行系統(tǒng)體系結(jié)構(gòu)設(shè)計所需要的足夠信息。2、確認需求:確認這一系列的需求不僅需要理解什么是用戶需要的,而且需要理解他們是如何表達這些需求的。3、簡單的需求表格:將復(fù)雜而費時的工作用相對少量的格式清晰、簡單的需求表格來表示,在考慮系統(tǒng)根本特征時可以將這個表格作為檢查表。4、需求的內(nèi)部一致性:在寫完需求分析以后,應(yīng)該對它們的內(nèi)部一致性進行檢查。10、試通過各種渠道調(diào)查目前市場上主要有哪些嵌入式系統(tǒng)開發(fā)平臺,它們各自有什么特點。 答:略第3章 ARM體系結(jié)構(gòu)及基于ARM9處理器的嵌入式系統(tǒng)硬件平臺OMAP59121、試比擬RISC和CISC體系結(jié)構(gòu)的異同,為什么ARM內(nèi)核要采用

14、RISC體系結(jié)構(gòu)?P47答:ARM體系結(jié)構(gòu)總的設(shè)計思路是在不犧牲性能的同時盡可能簡化處理器。同時從體系結(jié)構(gòu)的層面上支持靈活的處理器擴展。這種簡化和開放的思路使ARM處理器采用了很簡單的結(jié)構(gòu)精簡指令集計算機Reduced Instruction Set Computer,RISC體系結(jié)構(gòu)來進行實現(xiàn)。傳統(tǒng)的復(fù)雜指令集計算機Complex Instruction Set Computer,CISC結(jié)構(gòu)有其固有的缺點,即隨著計算機技術(shù)的開展而不斷引入新的復(fù)雜的指令集,為支持這些新增的指令,計算機的體系結(jié)構(gòu)會越來越復(fù)雜,然而,在CISC指令集的各種指令中,其使用頻率卻相差懸殊,大約有20的指令會被反復(fù)使

15、用,占整個程序代碼的80。而余下的80的指令卻不經(jīng)常使用,在程序設(shè)計中只占20,顯然,這種結(jié)構(gòu)是不太合理的。基于以上的不合理性,1979年美國加州大學伯克利分校提出了RISC的概念。RISC并非只是簡單地去減少指令。RISC是一種設(shè)計思想,其目標是設(shè)計出一套能在高時鐘頻率下單周期執(zhí)行、簡單而有效的指令集。RISC的設(shè)計重點在于降低由硬件執(zhí)行的指令的復(fù)雜度,因為軟件比硬件容易提供更大的靈活性和更高的智能。因此,RICS設(shè)計對編譯器有更高的要求;相反,傳統(tǒng)的CISC那么更側(cè)重于硬件執(zhí)行指令的功能性,使CISC指令變得更復(fù)雜。2、簡述ARM的設(shè)計思想及其與單純的RISC定義的不同。P4849 答:A

16、RM內(nèi)核并不是一個純粹的RISC體系結(jié)構(gòu),這是為了使它能夠更好地適應(yīng)其主要應(yīng)用領(lǐng)域嵌入式系統(tǒng)。為了使ARM指令集能夠更好地滿足嵌入式應(yīng)用的需要,ARM指令集和單純的RISC定義有以下幾個方面的不同: 一些特定的指令周期數(shù)可變并不是所有的ARM指令都是單周期的。例如:多存放器裝載/存儲的Load/Store指令的執(zhí)行周期就是不確定的,必須根據(jù)被傳送的存放器個數(shù)來定。如果是訪問連續(xù)的存儲器地址,就可以改善性能,因為連續(xù)的內(nèi)存訪問通常比隨機訪問要快;同時,代碼密度也得到了提高,因為在函數(shù)的起始和結(jié)尾,多個存放器的傳輸是很常用的操作。 內(nèi)嵌桶形移位器產(chǎn)生了更為復(fù)雜的指令內(nèi)嵌桶形移位器是一個硬件部件,在

17、一個輸入存放器被一條指令使用之前,內(nèi)嵌桶形移位器可以處理該存放器中的數(shù)據(jù)。它擴展了許多指令的功能,以此改善了內(nèi)核性能,提高了代碼密度。 Thumb 16位指令集ARM內(nèi)核增加了一套稱之為Thumb指令的16位指令集,使得內(nèi)核既能夠執(zhí)行16位指令,也能夠執(zhí)行32位指令,從而增強了ARM內(nèi)核的功能。16位指令與32位的定長指令相比擬,代碼密度可以提高約30%。 條件執(zhí)行只有當某個特定條件滿足時指令才會被執(zhí)行。這個特性可以減少分支指令的數(shù)目,從而改善性能,提高代碼密度。3、ARM體系結(jié)構(gòu)開展過程中,主要有哪些變種,對各變種做簡要介紹。P4950答:我們將在ARM體系中增加的某些特定功能稱為ARM體系

18、的某種變種variant,下面介紹ARM體系的一些變種形式。 1Thumb指令集T變種 Thumb指令集是將ARM指令集的一個子集重新編碼而形成的一個指令集。ARM指令長度為32位,Thumb指令長度為16位。這樣,使用Thumb指令集可以得到密度更高的代碼,這對于需要嚴格控制產(chǎn)品本錢的設(shè)計非常有意義。 2長乘法指令M變種 M變種增加了兩條用于進行長乘法操作的ARM指令:其中一條指令用于實現(xiàn)32位整數(shù)乘以32位整數(shù),生成64位整數(shù)的長乘法操作,另一條指令用于實現(xiàn)32位整數(shù)乘以32位整數(shù),然后再加上32位整數(shù),生成64位整數(shù)的長乘加操作。 3增強型DSP指令E變種 E變種包含了一些附加的指令,這

19、些指令用于增強處理器對一些典型DSP算法的處理性能,主要包括:幾條新的實現(xiàn)16位數(shù)據(jù)乘法和乘加操作的指令,實現(xiàn)飽和的帶符號數(shù)的加減法操作的指令。 4Java加速器JazelleJ變種ARM的Jazelle技術(shù)將Java的優(yōu)勢和先進的32位RISC芯片完美地結(jié)合在一起。Jazelle技術(shù)提供了Java加速功能,可以得到比普通Java虛擬機高得多的性能。與普通的Java虛擬機相比,Jazelle使Java代碼運行速度提高了3倍,而功耗降低了80%。Jazelle技術(shù)使得程序員可以在一個單獨的處理器上同時運行Java應(yīng)用程序、已經(jīng)建立好的操作系統(tǒng)、中間件以及其他應(yīng)用程序。與使用協(xié)處理器和雙處理器相比

20、,使用單獨的處理器可以在提供高性能的同時,保證低功耗和低本錢。 5ARM媒體功能擴展SIMD變種 SIMD變種的主要特點是:可以同時進行兩個16位操作數(shù)或者4個8位操作數(shù)的運算,提供了小數(shù)算術(shù)運算,用戶可以定義飽和運算的模式,兩套16位操作數(shù)的乘加/乘減運算,32位乘以32位的小數(shù)MAC,同時8位/16位選擇操作。4、ARM體系結(jié)構(gòu)版本的命名規(guī)那么有哪些?簡單說明ARM7TDMI的含義。P50答:ARM產(chǎn)品通常以ARMxyzTDMIEJF-S形式出現(xiàn)。ARM體系結(jié)構(gòu)的命令規(guī)那么中這些后綴的具體含義見表3-2。ARM7TDMI的含義即ARM7內(nèi)核,增加了Thumb指令集T變種、JTAG調(diào)試器、長

21、乘法指令M變種和嵌入式跟蹤宏單元的功能。5、列舉目前常用的ARM微處理器的型號及功能特點。P5153答:ARM微處理器目前包括下面幾個系列,以及其它廠商基于ARM體系結(jié)構(gòu)的處理器,除了具有ARM體系結(jié)構(gòu)的共同特點以外,每一個系列的ARM微處理器都有各自的特點和應(yīng)用領(lǐng)域。 ARM7系列 ARM9系列 ARM9E系列 ARM10E系列 ARM11系列 SecurCore系列 Inter的Xscale Inter的StrongARM其中,ARM7、ARM9、ARM9E和ARM10E為4個通用處理器系列,每一個系列提供一套相對獨特的性能來滿足不同應(yīng)用領(lǐng)域的需求。SecurCore系列專門為平安要求較高

22、的應(yīng)用而設(shè)計。6、比擬ARM9與ARM7處理器的性能特點,試說明它們有何異同。P5556 答:ARM7提供了非常好的性能功耗比,它包含了Thumb指令集快速乘法指令和ICE調(diào)試技術(shù)的內(nèi)核。ARM9處理器通過全新的設(shè)計,采用了更多的晶體管,能夠到達兩倍以上于ARM7處理器的處理能力。諾伊曼結(jié)構(gòu),而ARM9內(nèi)核是5級流水線,。從ARM7到ARM9的性能提升還來源于存儲器讀寫指令load和store,以及互鎖技術(shù)的應(yīng)用。7、簡單介紹OMAP5912微處理器的特點和功能。P5960 答:OMAP5912處理器是OMAP1510系列的一個分支,是由TI應(yīng)用最為廣泛的TMS320C55X DSP內(nèi)核與低功

23、耗、高性能的ARM926EJ-S微處理器組成的雙核應(yīng)用處理器,這兩個內(nèi)核通過一種專用的處理器內(nèi)部通信機制相連接。OMAP5912的結(jié)構(gòu)如圖3-10所示。C55x系列可提供對低功耗應(yīng)用的實時多媒體處理的支持;ARM926可滿足控制和接口方面的處理需要。基于雙核結(jié)構(gòu),OMAP5912具有極強的運算能力和極低的功耗,一方面,產(chǎn)品性能高、省電;另一方面,同其它OMAP處理器一樣,采用開放式、易于開發(fā)的軟件設(shè)施,支持廣泛的操作系統(tǒng),如Linux、Windows、WinCE、Nucleus、Palm OS、VxWorks等。可以通過API及用戶熟悉且易于使用的工具優(yōu)化其應(yīng)用程序。OMAP5912處理器的目

24、標應(yīng)用是: 需要密集信號處理的設(shè)備 通訊終端 WAN BlueTooth GSM,GPRS,EDGE CDMA 視頻和圖像處理MPEG4,JPEG,Windows Media Video,etc. 高級語言處理應(yīng)用text-to-speech,speech recognition 音頻處理MPEG-1 Audio Layer3 MP3,AMR,WMA,AAC,及其它GSM Speech Codecs 圖形和視頻加速 數(shù)據(jù)處理8、常用的OMAP5912開發(fā)工具有哪些?P6061答:常用的OMAP5912開發(fā)工具有:1OMAP5912 Starter Kit OSKOmap5912根本板,提供了完

25、成設(shè)計與測試過程所需的所有軟件,這包括一系列主板專用庫、芯片專用庫以及一套針對OMAP5912 Linux內(nèi)核的Linux開發(fā)工具。2MU-Q-VGA LCD Module for OMAP5912OSK的LCD擴充套件,提供了LCD觸摸屏。3Accelerator Program for OMAP5912針對omap5912OSK的Linux和WinCE BSP和驅(qū)動程序軟件包,方便易用,支持很多設(shè)備和擴展模塊,如LCD、USB Client & Host、鍵盤、觸摸屏、以太網(wǎng)、串口等設(shè)備。4RAPID DEVELOPMENT KIT RDKomap5912 OSK無線模塊擴充套件。5Por

26、table Data Terminal Reference Design基于omap5912的便攜式數(shù)據(jù)終端PDT參考設(shè)計,一個完整的多媒體智能 設(shè)計案例。相關(guān)應(yīng)用包括導(dǎo)航、游戲、學習輔助、通話、娛樂等等。第4章 ARM微處理器的編程模型與指令系統(tǒng)1、ARM微處理器有哪幾種運行模式?其中哪些是特權(quán)模式,哪些又是異常模式?P64 答:ARM微處理器支持7種運行模式,分別為:用戶模式;快速中斷模式;外部中斷模式;管理模式;數(shù)據(jù)訪問終止模式;系統(tǒng)模式;未定義指令中止模式。除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權(quán)模式Privileged Modes;而除去用戶模式和系統(tǒng)模式以外的5種

27、又稱為異常模式Exception Modes,常用于處理中斷或異常。2、ARM體系結(jié)構(gòu)的存儲器格式有哪幾種?P6465 答:ARM體系結(jié)構(gòu)可以用兩種方法存儲字數(shù)據(jù),稱之為大端格式big-endian和小端格式little-endian。大端格式:字數(shù)據(jù)的高字節(jié)存儲在低地址中,而字數(shù)據(jù)的低字節(jié)那么存放在高地址中;小端格式:低地址中存放的是字數(shù)據(jù)的低字節(jié),高地址存放的是字數(shù)據(jù)的高字節(jié)。3、ARM狀態(tài)下和Thumb狀態(tài)下存放器的組織有何不同?P6970 答:Thumb狀態(tài)下的存放器集是ARM狀態(tài)下存放器集的一個子集,程序可以直接訪問8個通用存放器R7R0、程序計數(shù)器PC、堆棧指針SP、連接存放器LR

28、和CPSR。同時,在每一種特權(quán)模式下都有一組SP、LR和SPSR。在Thumb狀態(tài)下,高位存放器R8R15并不是標準存放器集的一局部,但可使用匯編語言程序受限制的訪問這些存放器,將其用作快速的暫存器。4、簡述CPSR各狀態(tài)位的作用,并說明如何對其進行操作,以改變各狀態(tài)位。P6768 答:CPSR可在任何運行模式下被訪問,它包含條件碼標志位、中斷禁止位、當前處理器模式標志位,以及其他一些相關(guān)的控制和狀態(tài)位。條件碼標志位: NNegative當用兩個補碼表示的帶符號數(shù)進行運算時,N=1表示運算的結(jié)果為負數(shù);N=0 表示運算的結(jié)果為正數(shù)或零; ZZeroZ=1 表示運算的結(jié)果為零;Z=0表示運算的結(jié)

29、果為非零; CCarry可以有4種方法設(shè)置C的值: 加法運算包括比擬指令CMN:當運算結(jié)果產(chǎn)生了進位時無符號數(shù)溢出,C=1,否那么C=0。 減法運算包括比擬指令CMP:當運算時產(chǎn)生了借位無符號數(shù)溢出,C=0,否那么C=1。 對于包含移位操作的非加/減運算指令,C為移出值的最后一位。 對于其他的非加/減運算指令,C的值通常不改變。 VOVerflow可以有2種方法設(shè)置V的值: 對于加/減法運算指令,當操作數(shù)和運算結(jié)果為二進制的補碼表示的帶符號數(shù)時,V=1表示符號位溢出。 對于其他的非加/減運算指令,V的值通常不改變。CPSR的低8位包括I、F、T和M4:0稱為控制位,當發(fā)生異常時這些位可以被改變

30、。如果處理器運行特權(quán)模式,這些位也可以由程序修改。狀態(tài)存放器PSR中的其余位為保存位,當改變PSR中的條件碼標志位或者控制位時,保存位不要被改變,在程序中也不要使用保存位來存儲數(shù)據(jù)。保存位將用于ARM版本的擴展。5、ARM體系結(jié)構(gòu)所支持的異常類型有哪些?具體描述各類異常,在應(yīng)用程序中應(yīng)該如何處理?P7071答:ARM體系結(jié)構(gòu)所支持的異常類型有復(fù)位、未定義指令、軟件中斷、指令預(yù)取中止、數(shù)據(jù)中止、外部中斷請求、快速中斷請求。具體地: 當處理器的復(fù)位電平有效時,產(chǎn)生復(fù)位異常,程序跳轉(zhuǎn)到復(fù)位異常處理程序處執(zhí)行; 當ARM處理器或協(xié)處理器遇到不能處理的指令時,產(chǎn)生未定義指令異常。可使用該異常機制進行軟件

31、仿真; 軟件中斷異常由執(zhí)行SWI指令產(chǎn)生,可用于用戶模式下的程序調(diào)用特權(quán)操作指令。可使用該異常機制實現(xiàn)系統(tǒng)功能調(diào)用; 假設(shè)處理器預(yù)取指令的地址不存在,或該地址不允許當前指令訪問,存儲器會向處理器發(fā)出中止信號,但當預(yù)取的指令被執(zhí)行時,才會產(chǎn)生指令預(yù)取中止異常; 假設(shè)處理器數(shù)據(jù)訪問指令的地址不存在,或該地址不允許當前指令訪問時,產(chǎn)生數(shù)據(jù)中止異常; 當處理器的外部中斷請求引腳有效,且CPSR中的I位為0時,產(chǎn)生IRQ異常。系統(tǒng)的外設(shè)可通過該異常請求中斷效勞; 當處理器的快速中斷請求引腳有效,且CPSR中的F位為0時,產(chǎn)生FIQ異常。6、ARM指令有哪幾種尋址方式?試分別表達其各自的特點并舉例說明。P

32、77 答:ARM指令系統(tǒng)支持的根本尋址方式有7種:立即數(shù)尋址、存放器尋址、存放器間接尋址、基址變址尋址、多存放器尋址、堆棧尋址、相對尋址。他們的特點分別是: 立即數(shù)尋址:操作數(shù)本身就在指令中給出。如:ADD R0,R0,#0x3f 存放器尋址:指令中地址碼給出的是存放器編號。如:ADD R0,R1,R2 存放器間接尋址:存放器中的值作為操作數(shù)的地址,操作數(shù)本身存放在存儲器中。如:ADD R0,R1,R2 基址變址尋址:將存放器的內(nèi)容與指令中給出的地址偏移量相加,從而得到一個操作數(shù)的有效地址,用于訪問基址附近的存儲器單元。如:LDR R0,R1,#4 多存放器尋址:塊拷貝尋址。如:LDMIA R

33、0,R1,R2,R3,R4 堆棧尋址:用堆棧作為地址。如:STMFD SP! R1-R7,LR 相對尋址:以程序計數(shù)器PC的當前值為基地址,指令中的地址標號作為偏移量,將兩者相加之后得到操作數(shù)的有效地址。如:BL NEXT7、簡述ARM指令集的分類。P81 答:ARM指令集總體分為六大類:數(shù)據(jù)處理指令、程序狀態(tài)存放器訪問指令、Load/Store指令、跳轉(zhuǎn)指令轉(zhuǎn)移指令、異常中斷指令、協(xié)處理器指令。8、假設(shè)R0的內(nèi)容為0x8000,存放器R1、R2內(nèi)容分別為0x01和0x10,存儲器內(nèi)容為空。執(zhí)行下述指令后,說明PC如何變化?存儲器及存放器的內(nèi)容如何變化? STMIB R0!,R1,R2 LDM

34、IA R0!,R1,R2答:略。9、如何從ARM指令集跳轉(zhuǎn)到Thumb指令集?ARM指令集中的跳轉(zhuǎn)指令與匯編語言中的跳轉(zhuǎn)指令有什么區(qū)別?P96 答:進入Thumb指令模式有2種方法:一種是執(zhí)行一條交換轉(zhuǎn)移指令BX,將指令中的目標地址存放器的最低位置1,并將其他位的值放入程序計數(shù)器PC,那么可進入Thumb指令。另一種方法是利用異常返回,也可把微處理器從ARM模式轉(zhuǎn)換為Thumb模式。在這個過程中,ARM提供了2種機制:當返回地址保存在當前異常模式的R14LR時,采用傳送指令;當返回地址保存在堆棧時,使用多存放器Load/Store指令。ARM指令集中的跳轉(zhuǎn)指令與匯編語言中的跳轉(zhuǎn)指令的區(qū)別是AR

35、M指令集中的跳轉(zhuǎn)指令可以直接向程序計數(shù)器PC寫入跳轉(zhuǎn)地址值。10、ARM指令集支持哪幾種協(xié)處理器指令?試分別簡述并列舉其特點。P93答:ARM協(xié)處理器指令包括以下5條,其特點分別是: CDP協(xié)處理器數(shù)操作指令:用于ARM處理器通知ARM協(xié)處理器執(zhí)行特定的操作,假設(shè)協(xié)處理器不能成功完成特定的操作,那么產(chǎn)生未定義指令異常。 LDC協(xié)處理器數(shù)據(jù)加載指令:用于將源存放器所指向的存儲器中的字數(shù)據(jù)傳送到目的存放器中,假設(shè)協(xié)處理器不能成功完成傳送操作,那么產(chǎn)生未定義指令異常。 STC協(xié)處理器數(shù)據(jù)存儲指令:用于將源存放器中的字數(shù)據(jù)傳送到目的存放器所指向的存儲器中,假設(shè)協(xié)處理器不能成功完成傳送操作,那么產(chǎn)生未定

36、義指令異常。 MCR處理器存放器到協(xié)處理器存放器的數(shù)據(jù)傳送指令:用于將ARM處理器存放器中的數(shù)據(jù)傳送到協(xié)處理器存放器中,假設(shè)協(xié)處理器不能成功完成操作,那么產(chǎn)生未定義指令異常。 MRC協(xié)處理器存放器到ARM處理器存放器的數(shù)據(jù)傳送指令:用于將協(xié)處理器存放器中的數(shù)據(jù)傳送到ARM處理器存放器中,假設(shè)協(xié)處理器不能成功完成操作,那么產(chǎn)生未定義指令異常。第5章 嵌入式操作系統(tǒng)1、嵌入式操作系統(tǒng)進程的定義是什么?P101 答:進程是可并發(fā)執(zhí)行的、具有獨立功能的程序在一個數(shù)據(jù)集合上的運行過程,是操作系統(tǒng)進行資源分配和保護的根本單位。2、一個比擬完善的操作系統(tǒng)應(yīng)當包括哪幾個模塊?P100 答:一個比擬完善的操作系

37、統(tǒng)應(yīng)當包括內(nèi)存管理、進程管理、文件管理以及為了充分利用各種資源而設(shè)計的調(diào)度機制等四個模塊。3、說明嵌入式操作系統(tǒng)進程調(diào)度的幾種策略,并說出不同之處和優(yōu)缺點。P105108 答:實時調(diào)度方法大致可以劃分為以下幾類:離線和在線調(diào)度:對于離線調(diào)度算法,運行過程中使用的調(diào)度信息在系統(tǒng)運行之前就確定了。離線調(diào)度算法具有確定性,但缺乏靈活性,適用于那些特性能夠預(yù)先確定,且不容易發(fā)生變化的應(yīng)用。在線調(diào)度算法的調(diào)度信息那么在系統(tǒng)運行過程中動態(tài)獲得,在線調(diào)度算法在形成最正確調(diào)度決策上具有較大的靈活性。搶占和非搶占調(diào)度:在搶占式調(diào)度算法中,正在運行的任務(wù)可能被其他任務(wù)所打斷,搶占式調(diào)度算法,使關(guān)鍵任務(wù)能夠打斷非關(guān)

38、鍵任務(wù)的執(zhí)行,確保關(guān)鍵任務(wù)的截止時間能夠得到滿足,搶占式調(diào)度算法要更復(fù)雜些,且需要更多的資源,并可能在使用不當?shù)那闆r下會造成低優(yōu)先級任務(wù)出現(xiàn)長時間得不到執(zhí)行的情況。非搶占式調(diào)度常用于那些任務(wù)需要按照預(yù)先確定的順序進行執(zhí)行,且只有當任務(wù)主動放棄CPU資源后,其他任務(wù)才能得到執(zhí)行的情況。靜態(tài)和動態(tài)調(diào)度:在靜態(tài)調(diào)度算法中,任務(wù)的優(yōu)先級需要在系統(tǒng)運行前進行確定,且在運行過程中不會發(fā)生變化。在動態(tài)調(diào)度算法中,任務(wù)的優(yōu)先級可根據(jù)需要進行改變,也可能隨著時間按照一定的策略自動發(fā)生變化。4、嵌入式系統(tǒng)中進程間通信主要采用哪幾種形式?P110 答:嵌入式系統(tǒng)中進程間通信主要采用兩種形式:共享內(nèi)存和消息傳遞。二者

39、在邏輯上沒有什么區(qū)別,進程通信采用哪種方式,主要依賴實際需要。進程間通信也可以采用信號和管道的方式。5、簡述嵌入式操作系統(tǒng)的中斷管理和時鐘管理模式。P117-118答:在嵌入式操作系統(tǒng)中,中斷前導(dǎo)和中斷后續(xù)通常由內(nèi)核的中斷接管程序來實現(xiàn)。硬件中斷發(fā)生后,中斷接管程序獲得控制權(quán),先由中斷接管程序進行處理,然后才將控制權(quán)交給相應(yīng)的用戶中斷效勞程序。用戶中斷效勞程序執(zhí)行完成后,又回到中斷接管程序。實時內(nèi)核通常還提供如下中斷管理功能:掛接中斷效勞程序、獲得中斷效勞程序入口地址、獲取中斷嵌套層次、開中斷、關(guān)中斷。在實時系統(tǒng)中,時鐘具有非常重要的作用。通過時鐘,應(yīng)用和內(nèi)核能夠查詢當前時間、定時地完成各項工

40、作、報警、有限的等待和睡眠等,是處理具有時間約束特性應(yīng)用必不可少的內(nèi)容。因此,實時內(nèi)核都需要提供對時鐘進行管理的機制。時鐘管理一般具有以下功能:維持日歷時間,任務(wù)有限等待的計時,軟定時器的定時管理和維持系統(tǒng)時間片輪轉(zhuǎn)調(diào)度。6、嵌入式操作系統(tǒng)中的內(nèi)存管理功能有哪些?并做簡要闡述。P120 答:嵌入式操作系統(tǒng)中的內(nèi)存管理功能有:1虛擬內(nèi)存空間:操作系統(tǒng)采用虛擬內(nèi)存功能使系統(tǒng)顯得它有比實際大得多的內(nèi)存空間,虛擬內(nèi)存可以比系統(tǒng)中的物理內(nèi)存大許多倍。2內(nèi)存保護:系統(tǒng)中每個進程有自己的虛擬地址空間,這些虛擬地址空間相互之間完全別離。因此運行一個應(yīng)用的進程不會影響其他的進程。同樣,硬件的虛擬內(nèi)存機制允許內(nèi)存

41、區(qū)域被寫保護,這樣保護了代碼和數(shù)據(jù)不被惡意應(yīng)用重寫。3內(nèi)存映射:用來把映像和數(shù)據(jù)文件映像到一個進程的地址空間。在內(nèi)存映射中,文件的內(nèi)容被直接鏈接到進程的虛擬地址空間。4公平物理內(nèi)存分配:內(nèi)存管理子系統(tǒng)分配給系統(tǒng)中運行的每個進程公平的一份系統(tǒng)物理內(nèi)存。5共享虛擬內(nèi)存:允許進程擁有分隔的虛擬地址空間,但有時還需要進程共享內(nèi)存。如進程間通信需要共享內(nèi)存。7、mC/OS-II的主要特點有哪些?簡要說明之。P121答:mC/OS-II的主要特點有:1公開源代碼2可移植性Portable絕大局部mC/OS-II的源碼是用移植性很強的ANSI C寫的。和微處理器硬件相關(guān)的那局部是用匯編語言寫的。匯編語言寫的

42、局部已經(jīng)壓到最低限度,使得mC/OS-II便于移植到其他微處理器上。mC/OS-II可以在絕大多數(shù)8位、16位、32位以至64位微處理器、微控制器、數(shù)字信號處理器DSP上運行。3可固化RomablemC/OS-II是為嵌入式應(yīng)用而設(shè)計的,這就意味著,只要讀者有固化手段C編譯、連接、下載和固化,mC/OS-II可以嵌入到讀者的產(chǎn)品中成為產(chǎn)品的一局部。4可裁剪Scalable可以只使用mC/OS-II中應(yīng)用程序需要的那些系統(tǒng)效勞。也就是說某產(chǎn)品可以只使用很少幾個mC/OS-II調(diào)用,而另一個產(chǎn)品那么使用了幾乎所有mC/OS-II的功能,這樣可以減少產(chǎn)品中的mC/OS-II所需的存儲器空間RAM和R

43、OM。這種可剪裁性是靠條件編譯實現(xiàn)的。5占先式PreemptivemC/OS-II是完全占先式的實時內(nèi)核,mC/OS-II總是運行就緒條件下優(yōu)先級最高的任務(wù)。6多任務(wù)mC/OS-II可以管理64個任務(wù),目前這一版本保存8個給系統(tǒng)。留給用戶的應(yīng)用程序最多可以有56個任務(wù)。賦予每個任務(wù)的優(yōu)先級必須是不相同的,這意味著mC/OS-II不支持時間片輪轉(zhuǎn)調(diào)度法常用的非搶占式調(diào)度算法。7可確定性全部mC/OS-II的函數(shù)調(diào)用與效勞的執(zhí)行時間具有可確定性。8任務(wù)棧每個任務(wù)有自己單獨的棧,mC/OS-II允許每個任務(wù)有不同的棧空間,以便壓低應(yīng)用程序?qū)AM的需求。9系統(tǒng)效勞mC/OS-II提供很多系統(tǒng)效勞,例

44、如郵箱、消息隊列、信號量、塊大小固定的內(nèi)存的申請與釋放、時間相關(guān)函數(shù)等。10中斷管理中斷可以使正在執(zhí)行的任務(wù)暫時掛起,如果優(yōu)先級更高的任務(wù)被該中斷喚醒,那么高優(yōu)先級的任務(wù)在中斷嵌套全部退出后立即執(zhí)行,中斷嵌套層數(shù)可達255層。8、常用的linux操作系統(tǒng)采用怎樣的內(nèi)存管理機制和調(diào)度機制?P130答:Linux內(nèi)存管理程序通過映射機制把用戶程序的邏輯地址映射到物理地址,在用戶程序運行時,如果發(fā)現(xiàn)程序中要用的虛擬地址沒有對應(yīng)的物理內(nèi)存時,就發(fā)出請頁要求。如果有空閑的內(nèi)存可供分配,就請求分配內(nèi)存,并把正在使用的物理頁記錄在頁緩存中;如果沒有足夠的內(nèi)存可供分配,那么就調(diào)用交換機制,騰出一局部內(nèi)存。為了

45、支持虛擬存儲器的管理,Linux系統(tǒng)采用分頁paging的方式來載入進程。所謂分頁即是把實際的存儲器分割為相同大小的段,例如每個段1024個字節(jié),這樣1024個字節(jié)大小的段稱為一個頁面page。Linux屬于典型的多用戶多任務(wù)操作系統(tǒng)。它采用分時技術(shù),進程交替執(zhí)行,實現(xiàn)所謂的“假并行。它主要有三種調(diào)度算法,一個是基于優(yōu)先級的循環(huán)執(zhí)行法,二是FIFO算法,三是傳統(tǒng)的基于優(yōu)先級的循環(huán)執(zhí)行法。前兩種調(diào)度算法都是軟實時的,而第三種那么并非實時的。第6章 嵌入式Linux開發(fā)環(huán)境及其在ARM上的移植1、試述嵌入式Linux系統(tǒng)移植的一般過程。P141142答:嵌入式系統(tǒng)的開發(fā)和應(yīng)用層軟件的開發(fā)不同,有其

46、自身的特點,尤其在開發(fā)流程上有很大的不同。從大體上講,Linux系統(tǒng)移植一般分為下面幾步:1開發(fā)環(huán)境的搭建嵌入式系統(tǒng)移植過程中,目標機和宿主機往往在軟硬件環(huán)境上有很大的不同,開發(fā)時常常在功能強大的宿主機上進行,這就形成了交叉開發(fā)環(huán)境的搭建與選擇問題。同時由于宿主機和目標機在體系結(jié)構(gòu)等方面的差異,編譯時也需要采用交叉編譯工具對目標代碼進行編譯,這樣,才能使生成的可執(zhí)行文件在目標機上能夠執(zhí)行。2系統(tǒng)引導(dǎo)在微處理器第一次啟動的時候,會從預(yù)定的、固定的地址空間開始執(zhí)行指令。一般的嵌入式系統(tǒng)中并沒有PC機上的BIOS,而是由一種稱為Bootloader的系統(tǒng)引導(dǎo)程序來完成上述功能,啟動代碼完全依賴于硬件

47、,需要在系統(tǒng)移植中完成。3內(nèi)核引導(dǎo)系統(tǒng)移植的開發(fā)人員還應(yīng)當完成Bootloader和內(nèi)核的銜接局部的移植以及I/O映射、存儲器映射等與目標硬件平臺相關(guān)的板級初始化和CPU自身初始化的移植工作。4設(shè)備驅(qū)動程序Linux內(nèi)核源代碼樹中的相當大局部是各類驅(qū)動程序,在實際的開發(fā)過程中,也需要對相應(yīng)的設(shè)備進行驅(qū)動,如LCD、網(wǎng)卡、觸摸屏等等進行移植和編寫。由于一般在Linux源碼和相關(guān)社區(qū)中都擁有相當豐富的設(shè)備驅(qū)動源碼資源,因此,設(shè)備驅(qū)動的任務(wù)主要是相近源碼的移植修改工作。5文件系統(tǒng) 在嵌入式Linux內(nèi)核啟動的最后階段,將進行文件系統(tǒng)的加載。不同的嵌入式目標平臺有不同的應(yīng)用需求,需要根據(jù)具體情況實現(xiàn)對

48、文件系統(tǒng)的移植工作。目前,常用的嵌入式文件系統(tǒng)有JFFS2、Cramfs、Romfs等。2、Linux系統(tǒng)中常用的交叉編譯工具有哪些?簡述它們的功能和根本用法。P143153答:1GNU binutils是一套用來構(gòu)造和使用二進制所需的工具集。建立嵌入式交叉編譯環(huán)境,Binutils工具包是必不可少的,而且Binutils與GNU的C編譯器gcc是緊密相集成的,沒有binutils,gcc也不能正常工作。GNU binutils是一組開發(fā)工具,包括連接器、匯編器和其他用于目標文件和檔案的工具。2GUN ccGUN C Compiler,簡稱gcc是GUN工程的C編譯器套件,能夠編譯用C、C+、

49、Objective C編寫的程序。3make工具通過一個稱為makefile的文件來完成并自動維護編譯工作。4glibc 是提供系統(tǒng)調(diào)用和根本函數(shù)的C庫,比方open,malloc,printf等等。所有動態(tài)連接的程序都要用到它。它是編譯Linux系統(tǒng)程序很重要的組成局部。5gdb是一個用來調(diào)試C和C+程序的調(diào)試器Debugger,它能使用戶在程序運行時觀察程序的內(nèi)部結(jié)構(gòu)和內(nèi)存的使用情況。gdb的功能主要是監(jiān)視程序中變量的值、設(shè)置斷點以使程序在指定的代碼行上停止執(zhí)行、支持單步執(zhí)行等。3、如何分步編譯和安裝交叉編譯環(huán)境所需要的庫和源代碼?試著自己構(gòu)建嵌入式Linux系統(tǒng)交叉編譯環(huán)境。P15616

50、0 答:略4、5題應(yīng)在第九章,此處為作者疏漏見第九章習題6、Linux操作系統(tǒng)的移植工作主要分為哪幾個方面?其中內(nèi)核功能模塊的裁剪主要有哪幾種方法?P162164 答:對Linux操作系統(tǒng)的移植工作主要分為兩個方面,一方面是針對硬件特點對源代碼的修改,比方內(nèi)核的啟動局部、存儲設(shè)備的大小、具體的驅(qū)動問題等等;另一方面是功能模塊的裁剪,主要是對內(nèi)核功能的配置,包括支持的文件類型、外設(shè)模塊等等??傮w上講,針對硬件的修改有兩種方法:1對一種全新的硬件平臺開展移植工作時,需采用“自底向上的設(shè)計方法從頭設(shè)計,即從硬件的需求考慮逐步地采用分析、設(shè)計、編碼、測試。 2大多數(shù)情況下,是在前人工作的根底上修改己有

51、的代碼。Linux己經(jīng)可以在多種體系結(jié)構(gòu)中運行,可以參考相近的體系結(jié)構(gòu)的代碼,修改與目標硬件平臺不同的局部即可。嵌入式Linux內(nèi)核功能模塊的裁剪主要有三種方法: 1使用Linux自身的配置工具,編譯定制內(nèi)核。 2修改內(nèi)核源代碼,進行內(nèi)核裁剪。 3基于系統(tǒng)調(diào)用關(guān)系,進行內(nèi)核裁剪7、如何使用Linux自身的配置工具編譯定制內(nèi)核?P169答:配置完內(nèi)核之后,內(nèi)核仍然以源代碼的方式存在,不能直接下載到嵌入式系統(tǒng)中運行,因此,必須對內(nèi)核進行編譯,生成最終在目標板上運行的可執(zhí)行代碼。編譯內(nèi)核分以下三步進行:1執(zhí)行以下命令,正確設(shè)置編譯內(nèi)核所需的附屬文件,進行依賴性編譯:# make dep2執(zhí)行以下命令

52、,去除以前構(gòu)造內(nèi)核時產(chǎn)生的所有目標文件、模塊文件和一些臨時文件:# make clean3執(zhí)行以下命令,生成新的可執(zhí)行內(nèi)核映像文件:# make zImage完成上述命令之后,就會在/arch/arm/boot/下生成一個自己定制的內(nèi)核映像文件了,系統(tǒng)文件名可以任意取,。8、什么是文件系統(tǒng)?常用的嵌入式文件系統(tǒng)有哪些?P169170答:文件系統(tǒng)是指在一個物理設(shè)備上的任何文件組織和目錄,它構(gòu)成了Linux系統(tǒng)上所有數(shù)據(jù)的根底,Linux程序、庫、系統(tǒng)文件和用戶文件都駐留其中,因此,它是系統(tǒng)中龐大復(fù)雜且又是最為根本和重要的資源。通常對于一個嵌入式系統(tǒng),僅包含內(nèi)核是不夠的,還必須有文件系統(tǒng)的支持。L

53、inux支持的文件系統(tǒng)有很多種,比方ext2LinuxExtended-2、minix文件系統(tǒng)、msdos最初的FAT文件系統(tǒng)、ntfsWindowsNT文件系統(tǒng)、nfs網(wǎng)絡(luò)文件系統(tǒng)、hpftOS/2高性能文件系統(tǒng)、ncpfsNovellNetWare文件系統(tǒng)、affs Amiga快速文件系統(tǒng)等等。9、如何構(gòu)建一個嵌入式Linux文件系統(tǒng)?P172答:要構(gòu)建一個小型的Linux文件系統(tǒng),就需要決定文件系統(tǒng)中哪些局部要保存,哪些局部可以裁減。首先應(yīng)該保存那些保證系統(tǒng)運行的最根本的文件和目錄,再通過對系統(tǒng)功能的分析,決定哪些模塊是可以裁減的。一個最小的文件系統(tǒng)必須包括以下的內(nèi)容:程序函數(shù)庫、庫函數(shù)

54、文件的鏈接、/bin/shshell、最根本的設(shè)備文件。但是,這些文件目錄組成的最根本的文件系統(tǒng)只能運行shell,不能完成其它任何的應(yīng)用程序。要完成一些根本的功能還需要以下的一些文件:init程序、系統(tǒng)啟動設(shè)置、根本的應(yīng)用程序、設(shè)備文件、顯示系統(tǒng)信息的虛擬文件系統(tǒng)、其它文件系統(tǒng)掛載目錄、系統(tǒng)啟動時執(zhí)行的腳本、壓縮工具等。第7章 linux下設(shè)備驅(qū)動程序的開發(fā)設(shè)計1、設(shè)備驅(qū)動程序在大多數(shù)嵌入式系統(tǒng)中起著重要作用,因為它們提供了 應(yīng)用程序 和 設(shè)備 之間的軟件層。2、設(shè)備驅(qū)動程序通常包含 中斷處理程序 和 設(shè)備效勞子程序 兩局部。3、嵌入式系統(tǒng)中_A_、_C_、_D_等都屬于字符設(shè)備,典型的塊設(shè)備有_B_、_E_等。 A按鍵 B硬盤 C觸摸屏 D手寫板 ECD-ROM4、系統(tǒng)中不同的設(shè)備有_A_主設(shè)備號,主設(shè)備號 A 設(shè)備使用_A_驅(qū)動程序。 A相同的 B不同的5、CS8900A有兩種工作模式:MEMORY模式和IO模式。6、如何理解設(shè)備管理的“設(shè)備無關(guān)性概念?P174 答:在Linux/uclinux的框架結(jié)構(gòu)中,和設(shè)備相關(guān)的處理可以分為兩個層次文件系統(tǒng)層和設(shè)備驅(qū)動層。設(shè)備驅(qū)動層屏蔽具體設(shè)備的細節(jié),文件系統(tǒng)層那么向用戶提供一組統(tǒng)一的、標準的用戶接口。在嵌入式操作系統(tǒng)下的設(shè)備驅(qū)動程序主要是控制和管

溫馨提示

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

評論

0/150

提交評論