




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
《嵌入式系統》練習題二一、填空題.嵌入式系統的應用軟件開發一般都采用任務型設計,且具有一實時性—要求。.嵌入式操作系統一般都采用模塊化設計,用戶可以根據應用要求選擇相應的的功能,以定制新的嵌入式操作系統,這種特性稱為—可裁剪.嵌入式系統在調試時往往采用交叉調試的方式進行,這種交叉調試也稱為—遠程調試.在基于MCS-51單片機應用開發過程中經常使用的調試方式是—ROM仿真器.在LinUX的命令中,用于刪除文件的命令是—RM.在LinUX的命令中,用于打包的命令是tar.ARM處理器總共有_37—個32位的物理寄存器。.ARM存儲器支持兩種端序,其中字數據的高位字節存儲在低地址中的這種存儲端序稱大端序.ATPCS的參數傳遞規則中,當參數個數不超過4個時,可以使用寄存器R0?R3來傳遞參數,當參數超過4個時,還可以使用一堆?!獊韨鬟f參數。.可執行的映像文件一般可以包含一個或多個代碼段,代碼段通常是_只讀.實時邏輯的正確性不僅依賴于計算結果的正確性,還取決于輸出結果的—時間.位于具體硬件設備和軟件之間,其主要作用是屏蔽各個硬件具體的細節特征,為上層軟件提供統一的訪問接口,以便于軟件的移植的這一層軟件稱為—硬件抽象層.半主機調試的實質是讓不支持ANSIC函數庫功能的目標系統使用調試主機提供的_.C函數庫功能。.在ARM狀態下,用于半主機操作的SWI子功能號是—0X123456.在LinUX圖形界面下,快速進入第二個虛擬控制臺的組合鍵是_Alt+F2.在基于嵌入式LinUX開發時,要求上位機和下位機的LinUX內核版本一 相同.在ARM處理器的異常中斷向量表中,每個異常中斷向量占_4—個字節。.ARM處理器的工作狀態包括ARM狀態和_Thumb狀態。.當前程序狀態寄存器的預定義名稱是—CPSR.在ARM匯編語言中,指令— 不能—從一行的開頭處開始編寫。.在LinuX中,用于管理項目的工具是make.ARM處理器有5種異常處理工作模式,分別是ABT、UND、SVC、FIQ和IRQ。.在ARM匯編程序中用于將一個源文件包含到當前源文件中的指示符是—GET或INCLUDE.用于指定ARM匯編程序入口點的指示符是—ENTRY二、選擇題51系列的單片機系統屬于一AA.無操作系統控制的嵌入式系統B」小型操作系統控制的嵌入式系統C.中型操作系統控制的嵌入式系統D.大型操作系統控制的嵌入式系統應用程序編程接口的英文縮寫是— DA.EPROMB.HALC.BSPD.API片上調試技術的英文縮寫是—BA.ICEB.OCDC.JTAGD.BDMARM公司提供的一種調試監控程序(也稱為調試代理)的是_DA.ARMulatorB.ADSC.AXDD.AngelLinuX文件系統使用A來記錄文件信息,作用像Winodows的文件分配表。A.索引節點B.硬鏈接C.軟連接D.符號連接.在LinUX下,用于創建目錄的命令是—BA.cdB.mkdirC.rdD.rm.ARM處理器不支持—A—數據類型。A.64B.32C.16D.8.ARM指令恰好是—B字節邊界對準。A.2B.4C.8D.16.在ARM的匯編指示符中,C與FIELD等價。A.^B.%C.#D.=.在ARM的各種程序文件中,A是不包含調試信息和注釋信息。A.BIN文件B.EXE文件C.ELF文件D.AXF文件.下列B是嵌入式操作系統的特點。A.內核大B.可搶占C.不可配置D.可靠性低.實時系統有一個基本的性能指標,但不包括—CA.響應時間B.生存時間C.存儲時間D.吞吐量在開發嵌入式應用軟件時,若沒有下位機和評估板,最簡單的方法是利用AA.模擬軟件B.ROM仿真器C.目標機D.在線仿真器背景調試的英文縮寫是—AA.BDMB.ICDC.ICED.OCDD文件系統可用于存放一些具有臨時性或經常修改的數據。A.JFFSB.ROMFSC.YAFFSD.RAMFS在LinuX下,顯示已經掛載的分區列表的命令是— CA.duB.lsC.dfD.dir下列D表示的是管理模式。A.usrB.irqC.abtD.svcARM處理器一共有D個狀態寄存器。A.3B.4C.5D.6下列一B異常發生時,程序計數器的值還沒有更新。A.IRQB.UNDC.FIQD.數據訪問ABT下列—C代表棧指令寄存器的名稱。A.APB.BPC.SPD.KPGNU開發套件中,下列B—是項目管理工具。A.asB.makeC.makefileD.MakefileARM9屬于ARM處理器的第_A代產品。A.V5B.V6C.V7D.V8ARM10的指令流水線是D—級。A.3B.4C.5D.6ARM映像文件內部組織具有層次結構的性質,包含三種成分,但不包括DA.輸入段B.輸出段C.域D.臨界段ATPCS規定,子程序間通過寄存器傳遞參數時,不能使用一A—來傳遞參數。A.R4B.R3C.R2D.R1三、判斷題嵌入式系統中的軟件系統主要由嵌入式操作系統和應用軟件組成,其中嵌入式微處理器屬于嵌入式軟件系統的核心。(錯)運行在智能手機或平板電腦中的Android系統是一種嵌入式操作系統。(對WindRiVer公司所提供的軟件開發包是Tornad。,基所使用的操作系統是Windows。(錯)基于ARM的開發工具僅包括編輯器、編譯器、匯編器、鏈接器和調試器。(錯在LinuX系統中,目錄不能有硬連接,且硬連接不能跨越文件系統。LinuX系統中卸載某個文件系統需要使用的命令是unload。(錯)當ARM處理器執行異常處理程序時,處理器處于ARM狀態。(對)ARM處理器的快速中斷模式下的影子寄存器數量最多。(對)EXTERN在引用某個外來的符號時,如果本源文件設有實際引用該符號,該符號也會被加入到本源文件的符號表中。(錯)在ARM匯編語言中,基本指令必須從一行的行頭開始。(錯)嵌入式系統與單片機的開發模式和開發過程完全相同。(錯)嵌入式技術在我國應用最早的就是工業控制領域。(對)Angel是ARM公司開發的駐留在下位機的一種調試監控程序。(對)調試器和Angel之間的通信根據JTAG協議進行。(錯)Cat是用于顯示文件內容的命令,在顯示文件內容時能夠分屏顯示文件的內容。(錯)LinUX下的tar命令即可以打包文件,也可壓縮文件。(錯)ARM9核的指令流水線是6級。(錯)只有ABT和UND模式才是ARM處理器真正意義主的“異常”。(對)一個ARM源程序至少需要一個代碼段,大的程序可以包含多個代碼段和數據段。(對)ATPCS規定,默認情況下,子程序之間通過寄存器R0-R7來傳遞參數。(錯)在LinUX的makefile文件下的自動變量中,$?代表所有依賴文件,以空格分開且其修改日期比當前規則的目標文件的創建日期早。(錯)ARMV7體系結構的處理器核使用ARMCOrteX打頭,主要有A、R和乂三個系列。(對)ARM處理器一共有7種工作模式,其中的5種模式又稱為特權模式。(錯)在內嵌匯編程序段中,對物理寄存器的使用沒用任何限制。(錯)匯編程序調用C程序時,C程序不需要使用任何關鍵字來聲明,而匯編程序則需要使用IMPORT來聲明C程序。(對)四、簡答題.試比較SRAM、DRAM和SDRAM有什么區別?SRAM:加電情況下不需要刷新,數據不會丟失,一般不是行列地址復用。存取速度較快,且比較省電,但存1位信息需要4-6只晶體管,制造成本高。一般用做cache。DRAM:需要不斷刷新才能保存數據,行列地址復用。存1位信息只需要1只晶體管。一般用做主存。SDRAM:數據的讀寫需要時鐘來同步,多bank結構。DRAM和SDRAM的容量較SRAM大,但讀寫速度不如SRAM。DDRSDRAM:SDRAM在一個時鐘周期內只傳輸一次數據,它是在時鐘的上升期進行數據傳輸;而DDR內存則是一個時鐘周期內傳輸兩次數據,它能夠在時鐘的上升期和下降期各傳輸一次數據,因此稱為雙倍速率同步動態隨機存儲器。DDR內存可以在與SDRAM相同的總線頻率下達到更高的數據傳輸率。.什么是映像文件?什么是映像文件的加載視圖和執行視圖?映像文件(Image)是一個計算機上的可執行文件,在執行之前被加載到計算機的存儲器中。通常,一個映像文件中包含多個線程。映像文件的加載視圖是指映像文件開始執行前它的域和段在存儲器中的位置視圖,該視圖根據映像文件裝載到存儲器時的地址描述每一個域和段。映像文件的執行視圖是指映像文件在執行時其每一個域和段在內存中的地址描述視圖。.LinUX的開發工具有哪些?1)程序編輯器:Vi、emacs、gedit。2)編譯器套裝:GCC3)鏈接器:ld4)匯編器:as5)調試器:gdb6)項目管理工具:make.什么是ARM處理器的影子寄存器?影子寄存器的引入是ARM的一個特點(X86,POwerPC都沒有)。我們知道,ARM有16個通用寄存器,這16個通用寄存器在指令中使用4個bit來標識,但是在不同的模式下,同樣的4個bit指向不同的物理寄存器,這些不同的物理寄存器就被稱之為影子寄存器。不同的通用寄存器的影子寄存器個數也不相同,有的沒有,有的只有1個,有的多達5個。要記住一點:所有的影子寄存器都是一個實際存在的物理寄存器。ARM核是一個非常緊湊的設計,影子寄存器的引入就是這種設計的表現。通過引入影子寄存器,指令可以重復使用相同的寄存器編碼,但是在不同模式下,這些編碼對應不同的物理寄存器。比如Abort模式下的R13就同用戶模式下的R13不同,雖然它們編碼一樣,但是實際上對應的是不同的物理寄存器(可以將CPSR的模式域當作片選)。.ARM匯編的符號命名和書寫規則有哪些?1.符號命名可以使用大小寫字母,數字和下劃線。2.符號是大小寫字母敏感的。3.除本地行號外,名稱不能不能以數字開頭。4.一個程序段中不能重名。5.符號在其作用范圍內必須唯一。.符號不能夠與系統內部變量或者系統預定義的符號同名。例如:a1orR0、sp、cpsr、{PC}or.、{VAR}or@、{CONFIG}、{CPU}等等。.當程序中的符號與指令助記符或者指示符同名時,用雙豎線將符號括起來。如I∣buffe.a∣I,這時雙豎線并不是符號的組成部分。.在ARM匯編語言程序中,所有符號必須在一行的最左邊位置開始書寫,即所謂的頂格書寫,不允許包含空格或者制表符。.符號的字符序列中不能大小寫字母相混雜。.如果符號使用了更大范圍的字符集,則需要用單豎線將符號括起來,以便編譯器處理。例如:I.textI和IImage$$ZI$$Limitl.單豎線不屬于符號,在兩個單線之間不能適用單豎線、分號。.嵌入式操作系統有哪些特點?嵌入式操作系統(EOS)一般具有以下特點:D可移植2)強調實時性能3)內核精簡,所占空間小4)搶占式內核5)使用可重入函數6)可配置7)可裁剪8)高可靠性.何謂半主機方式?半主機,也稱為半主機機制、半主機方式、半主機調試或者半主機調試方法。其實質是讓不支持ANSlC函數庫功能的目標系統使用調試主機提供的C函數庫功能。即目標機可借助半主機機制將應用程序發出的I/O請求轉發給主機處理,而不是由目標機本身來處理I/O請求。此種調試方式非常有用,因為目標開發系統往往不具備最終系統所有的輸入輸出設備。. Linux的啟動過程如何?答:LinUX的啟動過程如下:1)處理器重新啟動之后,執行ROM啟動代碼;2)ROM啟動代碼初始化CPU、內存控制器以及片上設備,然后配置存儲映射,然后執行引導裝載程序LILO;3)LILO將Linux內核從閃存或TFTP服務器解壓到RAM中,然后跳到內核的第一條指令處執行,內核首先配置微處理器的寄存器,然后調用Start_kernel,它是體系結構無關的開始點;4)內核初始化高速緩存和各種硬件設備;5)內核掛裝根文件系統;6)內核執行init進程;7)正在執行的init進程裝載運行時共享庫;Init進程讀取其配置文件/etc/inittab并執行腳本,一般而言執行一個啟動腳本,即/etc/rc.d/rc.sysinitInit進入運行級別,執行系統任務和登錄,最后進入用戶會話階段。.異常處理結束后,CPU是如何返回到主程序斷點的?從異常中斷處理程序返回時,需要執行以下4個基本操作:1.所有修改過的用戶寄存器必須從處理程序的保護棧中恢復(出棧)2.恢復被中斷程序在被中斷時刻的CPSR寄存器(當時的執行現場),實質上就是將SPSRjnode寄存器內容恢復到CPSRo3.返回到發生異常中斷的指令位置(該指令沒有執行完畢)或者異常中斷的下一條指令處執行。為了做到這一點,需要將LR_mode寄存器的內容經過某種減法計算后復制到程序計數器PC中。4.清除CPSR中的中斷禁止標志位(I標志和T標志)。.匯編程序、C/C++程序相互調用時,需要注意什么問題?.設計匯編程序必須遵守ATPCS,保證程序調用時參數的正確傳遞。.在匯編程序中使用EXPORT指示符聲明本程序可以被別的程序調用。.在C語言程序中使用extern關鍵詞聲明該匯編程序可以被調用,C++語言程序使用extern“C”來聲明該匯編程序可以被調用。.在匯編程序調用該C程序之前,需要在匯編程序中使用IMPORT偽操作來聲明該C程序。.在匯編程序中通過BL指令來調用子程序。.試說明ARM指令和Thumb指令的主要區別?答:.指令工作標志:ARM指令的CPSR的T位為0,而Thumb為Io.操作數尋址方式:大多數ARM指令為3地址,大多數ThUmb指令為2地址。.指令長度:ARM指令長度為32位,而ThUmb指令長度為16位。.條件執行:大多數ARM指令都可以條件執行,只有分支ThUmb指令才可以條件執行。.數據處理指令:ARM指令可以訪問桶型移位器和ALU,而Thumb指令有獨立的桶型移位器和ALU指令。.寄存器使用:ARM指令可以使用15個通用寄存器和PC,而Thumb指令使用8個通用低寄存器、7個高寄存器和PC。.程序狀態寄存器:ARM指令在特權模式下可讀可寫,而ThUmb指令不能直接訪問。.異常處理:ARM指令能夠全盤處理,而ThUmb指令不能處理。.編寫ARM匯編語言程序的注意事項有哪些?答:.在ARM匯編語言中,指令不能從一行的行頭開始。在一行語句中,指令的前面必須有空格或者符號。.在ARM匯編語言中,符號必須從一行的行頭開始,并且符號中不能包含空格,符號后面不能跟“:”。.ARM匯編器對標識符大小寫敏感(即區分大小寫字母),書寫標號及指令時字母大小寫要一致。.在ARM匯編程序中,ARM指令、偽指令、寄存器名可以全部為大寫字母,也可以全部為小寫字母,但不要大小寫混合使用。.源程序中,語句之間可以插入空行,以使得源代碼的可讀性更好。.在ARM匯編語言中注釋以分號“;”開頭。注釋的結尾即為一行的結尾。注釋也可以單獨占用一行。.如果單行代碼太長,可以使用字符“\”將其分行?!癨”后不能有任何字符,包括空格和制表符等。五、問答及應用題LLinUX的makefile有什么作用?例如,在某目錄下某工程有三個源文件,分別是xal.c、xa2.c和xa3.c,其分別對應的頭文件是xal.h、xa2.h和xa3.h,該工程的最終可執行文件名是mytest,此外,xa2.c和xa3.c還依賴于xa1.h,試寫出該目錄下最通用的makefile文件。make工具通過一個稱為makefile的文件來完成并自動維護編譯工作。Makefile需要按照某種語法進行編寫,其中說明了如何編譯各個源文件并連接生成可執行文件,并定義了源文件之間的依賴關系。當修改了其中某個源文件時,如果其他源文件依賴于該文件,則也要重新編譯所有依賴該文件的源文件。具體makefile文件之一如下:#Thisisamakefileformaketools.Mytest:xa1.oxa2.oxa3.oGCC-omytestxa1.oxa2.oxa3.oXa1.o:xa1.cxa1.hGcc—cxa1.cXa2.o:xa2.Cxa2.hxa1.hGcc—cxa2.cXa3.o:xa3.cxa3.hxa1.hGcc-Cxa3.c.試編寫一個ARM匯編子程序SUMMING,用于計算1000以內所有能被3整除的自然數之和。要求該子程序可被其他程序調用。EXPORTSUMMINGAREAMYSUM,CODE,READONLYENTRYSUMMINGLDRR0,=1000MOVR1,#0MOVR2,#3CMPR2,R0LOOPADDLORl,Rl,R2ADDSR2,R2,#3BLOLOOPMOVPC,LREND.與通用計算機軟件開發相比,嵌入
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學生紀律衛生管理規范
- 2025西安市職工大學輔導員考試試題及答案
- 2025燕山大學里仁學院輔導員考試試題及答案
- 2025蘇州高博軟件技術職業學院輔導員考試試題及答案
- 2025福建中醫藥大學輔導員考試試題及答案
- 室內設計霸氣
- 生活標志設計原理與應用
- 四川北牧南江黃羊集團有限公司招聘筆試題庫2025
- 四川自貢市大安區區屬國有企業招聘筆試題庫2025
- 醫院建筑設計案例分析
- 電弧增材制造工藝及其應用
- YALEBROWN強迫量表完全
- 醫療機構消毒記錄表清潔消毒日檢查記錄表
- 2024年全國甲卷高考物理試卷(真題+答案)
- 廣西壯族自治區桂林市2023-2024學年七年級下學期期末考試數學試題
- 2024年農產品食品質量安全檢驗員技能及理論知識考試題庫(附含答案)
- 無人機足球團體對抗賽項目競賽規則
- 《建筑材料》教案
- 2024年山東省濟南市歷下區六年級下學期小升初招生語文試卷含答案
- DB3502-Z 5043-2018 浮筑樓板應用技術規程
- 2019年4月自考00322中國行政史試題及答案含解析
評論
0/150
提交評論