嵌入式考試題_第1頁
嵌入式考試題_第2頁
嵌入式考試題_第3頁
嵌入式考試題_第4頁
嵌入式考試題_第5頁
已閱讀5頁,還剩9頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1.嵌入式系統是以應用中心,以計算機技術為基礎,軟件硬件可裁剪,適應應用系統對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統。2.在嵌入式系統設計過程中,需求分析包括:功能性需求分析和非功能性需求分析。3.ARM字數據存儲格式有:大端格式和小端格式。4.總線按照傳輸關系分類可分為:主從結構和對等結構。5.RS-232C的幀格式由四部分組成,包括:起始位、數據位、奇偶校驗位和停止位。6.USB低速設備應該在D-線上接一個上拉電阻,全速設備應該在D+線上接一個上拉電阻。7.I/O接口電路數據傳送方式有:查詢、中斷、DMA、I/O通道和I/O處理機方式。實時系統的關鍵問題是保證系統的實時性;

2、實時操作系統就是指具有實時性、能支持實時系統工作的操作系統。實時操作系統的評價指標有:任務調度算法、上下文切換時間、確定性、最小內存開銷和最大中斷禁止時間。1.下面哪個系統屬于嵌入式系統。( D )A、“天河一號”計算機系統B、聯想T400筆記本計算機C、聯想S10上網本D、聯想OPhone手機2.軟硬件協同設計方法與傳統設計方法的最大不同之處在于( B )。A、軟硬件分開描述B、軟硬件統一描述C、協同測試D、協同驗證3.下面關于哈佛結構描述正確的是( A )。A、程序存儲空間與數據存儲空間分離B、存儲空間與IO空間分離C、程序存儲空間與數據存儲空間合并D、存儲空間與IO空間合并4.下面哪一種

3、工作模式不屬于ARM特權模式( A )。A、用戶模式B、系統模式C、軟中斷模式D、FIQ模式5.ARM7TDMI的工作狀態包括( D )。A、測試狀態和運行狀態B、掛起狀態和就緒狀態C、就緒狀態和運行狀態D、ARM狀態和Thumb狀態6.指令“LDMIA R0!, R1, R2, R3, R4”的尋址方式為( C )。A、立即尋址B、寄存器間接尋址C、多寄存器尋址D、堆棧尋址7.USB接口移動硬盤最合適的傳輸類型為( B )。A、控制傳輸B、批量傳輸C、中斷傳輸D、等時傳輸8.下面哪一種功能單元不屬于I/O接口電路。( D )A、USB控制器 B、UART控制器C、以太網控制器D、LED9.下

4、面哪個操作系統是嵌入式操作系統。( B )A、Red-hat LinuxB、CLinuxC、Ubuntu LinuxD、SUSE Linux10.使用Host-Target聯合開發嵌入式應用,( B )不是必須的。A、宿主機B、銀河麒麟操作系統C、目標機D、交叉編譯器簡答題1.簡述嵌入式處理器的特點(列出五個特點以上)。答:低檔處理器多采用哈佛結構,高檔處理器多采用馮諾伊曼結構;品種規格2.系列化;對實時多任務有很強的支持能力;可靠性高、功耗低、集成度高、性價比高。(每個特點1分)3.什么是CMOS電平?有何特點?答:發送端:高電平0.9Vdd,低電平0.7Vdd,低電平0.3Vdd。(2分)

5、特點:噪聲容限大,負載能力強。(1分)4.什么是信號的建立時間?什么是信號的保持時間?答: 建立時間:在時鐘信號邊沿到來之前,數據信號必須提前一段時間保持穩定有效。(2.5分)保持時間:在時鐘信號邊沿到來之后,數據信號必須在隨后的一段時間內保持穩定有效。(2.5分)5.什么是非搶先式實時操作系統?有何優缺點?它的實時性如何決定?答:對于基于優先級的實時操作系統而言,非搶先式實時操作系統是指某個任務運行后,就把CPU控制權完全交給了該任務,直到它主動將CPU控制權還回來。(2分)優點:實時性比不使用實時操作系統的好,程序設計相對簡單,可調用不可重入函數(任務間不嵌套)。(1分)缺點:如果最長任務

6、的執行時間不能確定,系統的實時性就不能確定。(1分)實時性:取決于最長任務的執行時間。(1分)6.簡述優先級倒置產生的條件、現象以及解決方案。答:條件:基于優先級搶先式的任務調度、資源共享。(1分)現象:低優先級任務L和高優先級任務H共享資源,在任務L占有共享資源之后,任務H就緒,但這時任務H必須等待任務L完成對共享資源的操作。在任務L完成對共享資源的操作之前,任務M也已就緒并將搶先任務L運行。在任務M運行時,系統中具有最高優先級的任務H仍然保持掛起狀態。(3分)解決方案:優先級繼承、優先級頂置。(1分)7.右下圖為USB批量IN傳輸事務流程圖,請根據右下圖用文字敘述其工作過程(包括4+2個分

7、支并說明分支出現的原因)。答:令牌段:(2分)主機發出令牌包,尋址從機。數據段:(4分)從機如果接收令牌包出錯,無響應;從機端點不存在,回送STALL;從機端點數據未準備好,回送NAK;從機端點數據準備好,回送數據包。握手段:(4分)主機如果接收數據包出錯,無響應;主機如果接收數據包正確,回送ACK。請用C語言編寫一個簡單框架程序(個別地方也可文字敘述),要求體現前后臺系統的編程思想(任務就是一個函數,直接調用,無需實現,但至少三個任務),并分析前后臺系統的優缺點以及它的實時性如何決定。答:后臺程序:void main( void )Init( )/初始化while(1) (1分)if( ev

8、entFlag1) (1分)task1( );else if( eventFlag2) (1分)task2( );else if( eventFlag3) (1分)task3( );前臺程序:_irq void HandleFlag1( void ) (1分)清中斷請求標志;eventFlag1 = true;_irq void HandleFlag2( void ) (1分)清中斷請求標志;eventFlag2 = true;_irq void HandleFlag3( void ) (1分)清中斷請求標志;eventFlag3 = true;優點:系統結構簡單,幾乎不需要額外的存儲開銷。(

9、1分)缺點:所有的任務具有相同的優先級別,任務響應時間不可預測;后臺程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。(1分)實時性:取決于所有其它任務的執行時間之和。(1分)形形色色的嵌入式系統默默無聞地生活在我們的身邊,為我們的學習生活增加了無窮的樂趣。請列舉你所熟悉的五個嵌入式應用系統,并對每個嵌入式系統作簡單的分析(指出它為什么是嵌入式系統)。答:答案眾多(評分標準:每一個應用2分,其中題目1分,簡要分析1分)U盤(2分);MP3播放器(2分);手機(2分);藍牙耳機(2分);GPS導航儀(2分)。等等

10、簡要分析略。8.從模塊結構來看,嵌入式系統由三大部分組成,分別是:硬件、軟件和開發平臺。9.嵌入式系統的設計過程包括:需求分析、規格說明、體系結構設計、構件設計、系統集成和系統測試。ARM系列微處理器支持的邊界對齊格式有:字節對齊、半字對齊和字對齊。10.RAM存儲器有兩種,分別是:SRMA和DRAM。總線由傳輸信息的物理介質和管理信息傳輸的協議組成。采用RS232C實現最簡單的雙機互聯,至少需要如下信號線:TXD、RXD和GND。USB通信總線中的事務可能由令牌包、數據包和握手包組成。11.I/O接口編址方式有兩種,分別是:統一編址和獨立編址。12.在宿主機上使用編譯器軟件將嵌入式應用、嵌入

11、式操作系統編譯成為可以在目標機上運行代碼的過程,稱為交叉編譯,而采用的編譯器稱為交叉編譯器。13.嵌入式操作系統的內核構成包括系統初始化、多任務管理和內存管理。14.下面哪個系統不屬于嵌入式系統( D )。A、MP3播放器B、GPS接收機C、“銀河玉衡”核心路由器D、“天河一號”計算機系統15.在嵌入式系統設計中,嵌入式處理器選型是在進行( C )時完成。A、需求分析B、系統集成C、體系結構設計D、軟硬件設計16.下面哪一類嵌入式處理器最適合于用于工業控制( B )。A、嵌入式微處理器B、微控制器C、DSPD、以上都不合適17.關于ARM子程序和Thumb子程序互相調用描述正確的是( B )。

12、A、系統初始化之后,ARM處理器只能工作在一種狀態,不存在互相調用。B、只要遵循一定調用的規則,Thumb子程序和ARM子程序就可以互相調用。C、只要遵循一定調用的規則,僅能Thumb子程序調用ARM子程序。D、只要遵循一定調用的規則,僅能ARM子程序調用Thumb子程序。18.關于ARM處理器的異常的描述不正確的是( C )。A、復位屬于異常B、除數為零會引起異常C、所有異常都要返回D、外部中斷會引起異常19.下面總線不屬于對等結構的是( A )。A、PCIB、IEEE1394C、令牌網D、以太網20.USB總線采用的通信方式為( A )。A、輪詢方式B、中斷方式C、DMA方式D、I/O通道

13、方式21.嵌入式系統最常用的數據傳送方式是( B )。A、查詢B、中斷C、DMAD、I/O處理機22,Clinux與標準Linux最大的區別在于( B )。A、文件系統 B、內存管理C、任務調度算法D、應用開發模式23.嵌入式操作系統一般通過( A )手段來解決代碼體積與嵌入式應用多樣性嵌入式操作系統一般通過( A )手段來解決代碼體積與嵌入式應用多樣性的問題。A、使用可定制的操作系統B、將操作系統分布在多個處理器上運行C、增大嵌入式設備的存儲容量D、使用壓縮軟件對操作系統進行壓縮24.談一談嵌入式系統的發展趨勢(列出五個趨勢以上)。答:產品種類不斷豐富;應用范圍不斷普及;性能不斷提高;功耗不

14、斷降低,體積不斷縮小;網絡化、智能化程度不斷提高;軟件成為影響價格的主要因素。(每個趨勢1分)25.簡述嵌入式微處理器的特點。答:嵌入式微處理器的特點:通用微處理器的增強,一般為32位。(1分)構成:一般CPU、存儲器、I/O接口三者分離;(1分)性能:一般為1002000MIPS;(1分)存儲器:Flash一般為116MB,SDRAM一般為264MB;(1分)一般加載復雜嵌入式操作系統:VxWorks、WinCE、Clinux等。(1分)26.什么是訪存時序配合?答:存控發出的信號要滿足存儲器的時序要求(2.5分);存儲器返回的信號要滿足存控的時序要求(2.5分)。27.請指出USB總線的四

15、種傳輸類型,并指出每一種傳輸類型的基本特點。答:四種傳輸類型:控制傳輸、批量傳輸、中斷傳輸和等時傳輸(1分)控制傳輸:雙向,糾錯,查詢、配置設備信息;(1分)批量傳輸:單向,糾錯,大塊無結構數據,延遲不定;(1分)中斷傳輸:單向,糾錯,小塊無結構數據,延遲確定;(1分)等時傳輸:單向,無糾錯,大塊無結構數據,延遲確定。(1分)28.什么是前后臺系統?有何優缺點?它的實時性如何決定?答:前后臺系統:分為前臺程序和后臺程序。前臺程序也稱中斷級程序,通過中斷來處理事件,在中斷服務子程序中,一般對中斷做一些簡單的處理,然后給出事件發生的標志,待后臺程序來處理;后臺程序也稱任務級程序,一個死循環,循環查

16、詢各種標志位,如果標志位置位,就執行相應的任務程序。(2分)優點:系統結構簡單,幾乎不需要額外的存儲開銷。(1分)缺點:所有的任務具有相同的優先級別,任務響應時間不可預測;后臺程序是一個無限循環的結構,一旦在這個循環體中正在處理的任務崩潰,使得整個任務隊列中的其他任務得不到機會被處理,從而造成整個系統的崩潰。(1分)實時性:取決于所有其它任務的執行時間之和。(1分)29.簡述嵌入式操作系統和實時操作系統的關系。答:“嵌入式”并不意味著“實時”,例如Clinux、Embedded Linux為嵌入式操作系統但非實時操作系統(2分);“實時”并不意味著“嵌入式”,例如OpenVMS(工作站、小型機

17、)為實時操作系統但非嵌入式操作系統(2分);不過實際上,目前的嵌入式操作系統(EOS)基本上是實時操作系統(RTOS)(1分)。下圖為單周期存儲器讀時序圖。clk為時鐘信號,上升沿有效;rd為讀信號,高電平有效。問:如果主設備要求的建立時間,保持時間,則此系統的最高時鐘頻率為多少?能否滿足保持時間的要求?(要求寫出計算過程)。參考功能描述最小值最大值單位t0rd延遲時間510nst1rd持續時間60nst2rd有效到數據輸出30nst3rd無效到data持續時間510ns答:滿足存儲器讀rd時序要求,則時鐘周期要保證主設備有足夠的建立時間,則時鐘周期要保證主設備有足夠的保持時間最高時鐘頻率為分

18、析下述S3C44B0x的示例程序。#include volatile unsigned long timeval; / 當前時刻void main(void) init_timer();/ Initialize Timerwhile(1) pPIO-PDATE = 0xFD; / Turn LED1 Onwait(1000);/ Wait 1000mspPIO-PDATE = 0xFB;/ Turn LED2 Onwait(1000);/ Wait 1000ms/ 初始化Timer5以及開定時中斷void init_timer(void) / 1ms產生一次定時中斷_irq void Hand

19、lerTIMER5(void)timeval+; pIC-I_ISPC = INT_TIMER5; / 等待函數,以毫秒為單位void wait(unsigned long time) 問:語句“while (1)”的作用是什么?關鍵詞“_irq”的作用是什么?語句“pIC-I_ISPC = INT_TIMER5;”的作用是什么?子程序HandlerTIMER5并未被調用,它是如何執行的?此程序的功能是什么?答: 語句“while (1)”的作用是死循環、等待中斷、LED顯示;(2分) 關鍵詞“_irq”的作用是指明該函數為IRQ中斷服務子程序;(2分) 語句“pIC-I_ISPC = INT

20、_TIMER5;”的作用是清除中斷請求標志;(2分) 中斷源發出中斷請求,CPU響應中斷并查詢中斷源得到中斷向量表入口地址,到中斷向量表相應入口地址取指令執行,該處為跳轉指令,執行跳轉指令跳轉到子程序HandlerTIMER5處執行;(2分) 此程序的功能是雙燈閃爍。(2分)3、PC機不是嵌入式系統,但是PC機中卻包含了大量的嵌入式系統。列舉其中包含的嵌入式應用系統(至少三個),并對每個嵌入式應用系統作簡單的介紹和分析。答:答案眾多(評分標準:每一個應用3分,敘述詳細最多加1分)鍵盤、鼠標、光驅、顯示器等,介紹及分析略。ARM處理器狀態 ARM微處理器的工作狀態一般有兩種,并可在兩種狀態之間切

21、換:第一種為ARM狀態,此時處理器執行32位的字對齊的ARM指令;第二種為Thumb狀態,此時處理器執行16位的、半字對齊的Thumb指令。在程序的執行過程中,微處理器可以隨時在兩種工作狀態之間切換,并且,處理器工作狀態的轉變并不影響處理器的工作模式和相應寄存器中的內容。但ARM微處理器在開始執行代碼時,應該處于ARM狀態。 ARM處理器狀態 進入Thumb狀態:當操作數寄存器的狀態位(位0)為1時,可以采用執行BX指令的方法,使微處理器從ARM狀態切換到Thumb狀態。此外,當處理器處于Thumb狀態時發生異常(如IRQ、FIQ、Undef、Abort、SWI等),則異常處理返回時,自動切換

22、到Thumb狀態。 進入ARM狀態:當操作數寄存器的狀態位為0時,執行BX指令時可以使微處理器從Thumb狀態切換到ARM狀態。此外,在處理器進行異常處理時,把PC指針放入異常模式鏈接寄存器中,并從異常向量地址開始執行程序,也可以使處理器切換到ARM狀態。ARM處理器模式 ARM微處理器支持7種運行模式,分別為:用戶模式(usr):ARM處理器正常的程序執行狀態。快速中斷模式(fiq):用于高速數據傳輸或通道處理。外部中斷模式(irq):用于通用的中斷處理。管理模式(svc):操作系統使用的保護模式。數據訪問終止模式(abt):當數據或指令預取終止時進入該模式,可用于虛擬存儲及存儲保護。系統模

23、式(sys):運行具有特權的操作系統任務。定義指令中止模式(und):當未定義的指令執行時進入該模式,可用于支持硬件協處理器的軟件仿真。ARM處理器模式 ARM微處理器的運行模式可以通過軟件改變,也可以通過外部中斷或異常處理改變。大多數的應用程序運行在用戶模式下,當處理器運行在用戶模式下時,某些被保護的系統資源是不能被訪問的。 除用戶模式以外,其余的所有6種模式稱之為非用戶模式,或特權模式;其中除去用戶模式和系統模式以外的5種又稱為異常模式,常用于處理中斷或異常,以及需要訪問受保護的系統資源等情況。ARM寄存器 ARM處理器共有37個寄存器。其中包括:31個通用寄存器,包括程序計數器(PC)在

24、內。這些寄存器都是32位寄存器。以及6個32位狀態寄存器。 關于寄存器這里就不詳細介紹了,有興趣的人可以上網找找,很多這方面的資料。異常處理 當正常的程序執行流程發生暫時的停止時,稱之為異常,例如處理一個外部的中斷請求。在處理異常之前,當前處理器的狀態必須保留,這樣當異常處理完成之后,當前程序可以繼續執行。處理器允許多個異常同時發生,它們將會按固定的優先級進行處理。當一個異常出現以后,ARM微處理器會執行以下幾步操作:進入異常處理的基本步驟:將下一條指令的地址存入相應連接寄存器LR,以便程序在處理異常返回時能從正確的位置重新開始執行。將CPSR復制到相應的SPSR中。根據異常類型,強制設置CP

25、SR的運行模式位。強制PC從相關的異常向量地址取下一條指令執行,從而跳轉到相應的異常處理程序處。如果異常發生時,處理器處于Thumb狀態,則當異常向量地址加載入PC時,處理器自動切換到ARM狀態。 ARM微處理器對異常的響應過程用偽碼可以描述為: R14_ = Return LinkSPSR_= CPSRCPSR4:0 = Exception Mode NumberCPSR5 = 0 ;當運行于 ARM 工作狀態時If = Reset or FIQ then;當響應 FIQ 異常時,禁止新的 FIQ 異常CPSR6 = 1PSR7 = 1PC = Exception Vector Addres

26、s異常處理完畢之后,ARM微處理器會執行以下幾步操作從異常返回:將連接寄存器LR的值減去相應的偏移量后送到PC中。將SPSR復制回CPSR中。若在進入異常處理時設置了中斷禁止位,要在此清除。.BootLoader簡介 簡單地說,Boot Loader 就是在操作系統內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終調用操作系統內核準備好正確的環境。 Boot Loader 是嚴重地依賴于硬件而實現的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 Boot Loader 幾乎是不可能的。盡管如

27、此,我們仍然可以對 Boot Loader 歸納出一些通用的概念來,以指導用戶特定的 Boot Loader 設計與實現。 基于 ARM7TDMI core 的 CPU 在復位時通常都從地址 0x00000000 取它的第一條指令。在系統加電后,CPU 將首先執行 Boot Loader 程序。大多數 Boot Loader 都包含兩種不同的操作模式:“啟動加載”模式和“下載”模式 :啟動加載(Boot loading)模式:Boot Loader 從目標機上的某個固態存儲設備上將操作系統加載到 RAM 中運行,整個過程并沒有用戶的介入。下載(Downloading)模式:Boot Loade

28、r 將通過串口連接或網絡連接等通信手段從主機(Host)下載文件,比如:下載內核映像和根文件系統映像等。BOOT的一般步驟為: 設置中斷向量表 初始化存儲設備 初始化堆棧 初始化用戶執行環境 呼叫主應用程序設置中斷向量表 ARM要求中斷向量表必須放置在從0地址開始,連續8X4字節的空間內。 每當一個中斷發生以后,ARM處理器便強制把PC指針置為向量表中對應中斷類型的地址值。因為每個中斷只占據向量表中1個字的存儲空間,只能放置一條ARM指令,使程序跳轉到存儲器的其他地方,再執行中斷處理。中斷向量表的程序實現通常如下表示: AREA Boot ,CODE, READONLYENTRYB? Rese

29、tHandler B? UndefHandler B? SWIHandlerB? PreAbortHandlerB? DataAbortHandlerBB? ?IRQHandlerB? FIQHandler其中關鍵字ENTRY是指定編譯器保留這段代碼,因為編譯器可能會認為這是一段亢余代碼而加以優化。鏈接的時候要確保這段代碼被鏈接在0地址處,并且作為整個程序的入口。? 初始化存儲設備 存儲器端口的接口時序優化是非常重要的,這會影響到整個系統的性能。因為一般系統運行的速度瓶頸都存在于存儲器訪問,所以存儲器訪問時序應盡可能的快;而同時又要考慮到由此帶來的穩定性問題。在不同的板子上處理芯片、存儲設備以

30、及其接口差異很大,應根據不同的情況來配置。初始化堆棧 因為ARM有7種執行狀態,每一種狀態的堆棧指針寄存器(SP)都是獨立的。因此,對程序中需要用到的每一種模式都要給SP定義一個堆棧地址。方法是改變狀態寄存器內的狀態位,使處理器切換到不同的狀態,然后給SP賦值。注意:不要切換到User模式進行User模式的堆棧設置,因為進入User模式后就不能再操作CPSR回到別的模式了,可能會對接下去的程序執行造成影響。 這是一段堆棧初始化的代碼示例:mrs r0,cpsr ;讀取cpsr寄存器的值bic r0,r0,#MODEMASK ;把模式位清零orr r1,r0,#UNDEFMODE|NOINTms

31、r cpsr_cxsf,r1 ;UndefModeldr sp,=UndefStack其他模式的堆棧的初始化也類似。堆棧地址的定義一般如下: (_ISR_STARTADDRESS-0x1400) UserStack # 1024 ;#=field,定義一個數據域,長度為1024SVCStack # 1024UndefStack # 1024 AbortStack # 1024 IRQStack # 1024 FIQStack # 0初始化用戶執行環境 一個ARM映像文件由RO,RW和ZI三個段組成,其中RO為代碼段,RW是已初始化的全局變量,ZI是未初始化的全局變量。映像一開始總是存儲在ROMFlash里面的,其RO部分即可以在ROMFlash里面執行,也可以轉移到速度更快的RAM中執行;而RW和ZI這兩部分是必須轉移到可寫的RAM里去。所謂應用程序執行環境的初始化,就是完成必要的從ROM到RAM的數據傳輸和內容清零。 編

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論