ARM嵌入式系統(tǒng)基礎(chǔ)教程習(xí)題答案--周立功(共9頁)_第1頁
ARM嵌入式系統(tǒng)基礎(chǔ)教程習(xí)題答案--周立功(共9頁)_第2頁
ARM嵌入式系統(tǒng)基礎(chǔ)教程習(xí)題答案--周立功(共9頁)_第3頁
ARM嵌入式系統(tǒng)基礎(chǔ)教程習(xí)題答案--周立功(共9頁)_第4頁
ARM嵌入式系統(tǒng)基礎(chǔ)教程習(xí)題答案--周立功(共9頁)_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上第一章思考與練習(xí)1、舉出3個書本中未提到的嵌入式系統(tǒng)的例子。 答:紅綠燈控制,數(shù)字空調(diào),機頂盒2、什么叫嵌入式系統(tǒng) 嵌入式系統(tǒng):以應(yīng)用為中心、以計算機技術(shù)為基礎(chǔ)、軟件硬件可裁剪、適應(yīng)應(yīng)用系 統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。3、什么叫嵌入式處理器?嵌入式處理器分為哪幾類? 嵌入式處理器是為完成特殊的應(yīng)用而設(shè)計的特殊目的的處理器。 嵌入式微處理器(Embedded Microprocessor Unit, EMPU) 嵌入式微控制器(Microcontroller Unit, MCU) 嵌入式DSP 處理器(Embedded Digital S

2、ignal Processor, EDSP) 嵌入式片上系統(tǒng)(System On Chip)4、什么是嵌入式操作系統(tǒng)?為何要使用嵌入式操作系統(tǒng)?是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,首先,嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。其次,提高了開發(fā)效率,縮短了開發(fā)周期。再次,嵌入式實時操作系統(tǒng)充分發(fā)揮了 32 位 CPU 的多任務(wù)潛力。 第二章1、嵌入式系統(tǒng)項目開發(fā)的生命周期分哪幾個階段?各自的具體任務(wù)是什么? 項目的生命周期一般分為識別需求、提出解決方案、執(zhí)行項目和結(jié)束項目4 個階段。識別需求階段的主要任務(wù)是確認需求,分析投資收益比,研究項目的可行性,分析廠商所應(yīng)具備的條件。提出解決方案階段

3、由各廠商向客戶提交標(biāo)書、介紹解決方案。執(zhí)行項目階段細化目標(biāo),制定工作計劃,協(xié)調(diào)人力和其他資源;定期監(jiān)控進展, 分析項目偏差,采取必要措施以實現(xiàn)目標(biāo)。結(jié)束項目階段主要包括移交工作成果,幫助客戶實現(xiàn)商務(wù)目標(biāo);系統(tǒng)交接給維護人員;結(jié)清各種款項。2、為何要進行風(fēng)險分析?嵌入式項目主要有哪些方面的風(fēng)險?在一個項目中,有許多的因素會影響到項目進行,因此在項目進行的初期,在客戶和開發(fā)團隊都還未投入大量資源之前,風(fēng)險的評估可以用來預(yù)估項目進行可能會遭遇的難題。需求風(fēng)險;時間風(fēng)險;資金風(fēng)險;項目管理風(fēng)險3、何謂系統(tǒng)規(guī)范?制定系統(tǒng)規(guī)范的目的是什么? 規(guī)格制定階段的目的在于將客戶的需求,由模糊的描述,轉(zhuǎn)換成有意義的

4、量化數(shù)據(jù)。4、何謂系統(tǒng)規(guī)劃?為何要做系統(tǒng)規(guī)劃系統(tǒng)規(guī)劃就是擬定一個開發(fā)進程,使項目在合理的進程范圍中逐漸建構(gòu)完成。其目地是讓客戶可以進一步地掌握系統(tǒng)開發(fā)的進程,并確定檢查點,以讓雙方確定項目是否如預(yù)期中的進度完成。5、為什么在項目結(jié)束前需要進行項目討論? 項目的討論一個項目進行的反饋機制。通過這一個程序,項目團隊的經(jīng)驗才可以被記錄 下來,也就是說,這是一個撰寫項目歷史的過程。 第三章1、ARM7TDMI中的T、D、M、I的含義是什么? 64 位乘法指令(帶M 后綴的)、支持片上調(diào)試(帶D 后綴的)、高密度 16 位的Thumb 指令機擴展(帶T 后綴的)和EmbededICE 觀察點硬件(帶I

5、后綴的)2、ARM7TDMI采用幾級流水線?使用何種存儲器編址方式?三級流水線(取指 譯碼 執(zhí)行);使用了馮·諾依曼(Von Neumann )結(jié)構(gòu),指令和數(shù)據(jù)共用一條32 位總線。3、ARM處理器模式和ARM處理器狀態(tài)有何區(qū)別?處理器模式指的是處理器在執(zhí)行程序時在不同時刻所處的不同狀態(tài),處理器狀態(tài)指的是處理器當(dāng)前所執(zhí)行的指令集。4、分別列舉ARM的處理器模式和狀態(tài)。 狀態(tài): ARM 狀態(tài) 32 位,這種狀態(tài)下執(zhí)行的是字方式的ARM 指令 Thumb 狀態(tài) 16 位,這種狀態(tài)下執(zhí)行半字方式的 Thumb 指令 模式: 用戶模式、快中斷模式、中斷模式、管理模式、 中止模式、未定義模式和

6、系統(tǒng)模式。 5、PC和LR分別使用哪個寄存器? PC使用R15寄存器,LR使用R14寄存器6、R13寄存器的通用功能是什么? 堆棧 第四章1、基礎(chǔ)知識(1)ARM7TDMI(-S)有幾種尋址方式?LOR R1,R0,#0x08屬于哪種尋址方式?1. 寄存器尋址;2. 立即尋址;3. 寄存器移位尋址;4. 寄存器間接尋址;5. 基址尋址;6. 多寄存器尋址;7. 堆棧尋址;8. 塊拷貝尋址;9. 相對尋址;LOR R1,R0,#0x08屬于基址尋址。(2)ARM指令的條件碼有多少個?默認條件碼是什么? 16條, 默認條件碼是AL。(3)ARM指令中第二個操作數(shù)有哪幾種形式?舉例5個8位圖立即數(shù)。

7、 (1) 立即數(shù);(2) 寄存器;(3) 寄存器及移位常數(shù); 0x3FC(0xFF<<2)、0、0xF(0xF0<<24)、200(0xC8)、0xF(0x1F<<28)。(4)LDR/STR指令的偏移形式有哪4種?LDRB和LDRSB有何區(qū)別?(1) 零偏移;(2) 前索引偏移;(3) 程序相對偏移;(4) 后索引偏移。LDRB就是讀出指定地址的數(shù)據(jù)并存入指定寄存器,LDRSB讀出指定地址的數(shù)據(jù),并高24位用符號位擴展,再存入指定寄存器。(5)請指出MOV指令與LDR加載指令的區(qū)別及用途。MOV 將 8 位圖(pattern)立即數(shù)或寄存器(operand

8、2)傳送到目標(biāo)寄存器(Rd),可用于移位 運算等操作。讀取指定地址上的存儲器單元內(nèi)容,執(zhí)行條件AL.(6)CMP指令的操作是什么?寫一個程序,判斷R1的值是否大于0x30,是則將R1減去0x30。CMP 指令將寄存器Rn 的值減去operand2 的值,根據(jù)操作的結(jié)果更新CPSR 中的相應(yīng)條 件標(biāo)志位,以便后面的指令根據(jù)相應(yīng)的條件標(biāo)志來判斷是否執(zhí)行。 CMP R1,0x30 SUBHI R1,R1,0x30(7)調(diào)用子程序是用B還是用BL指令?請寫出返回子程序的指令? BL 指令用于子程序調(diào)用。 MOV PC, R14(8)請指出LDR偽指令的用法。指令格式與LDR加載指令的區(qū)別是什么?LDR

9、 偽指令用于加載 32 位的立即數(shù)或一個地址值到指定寄存器。第二個數(shù)為地址表達式。(9)ARM狀態(tài)與Thumb狀態(tài)的切換指令是什么?請舉例說明。 BX指令, (10)Thumb狀態(tài)與ARM狀態(tài)的寄存器有區(qū)別嗎?Thumb指令對哪些寄存器的訪問受到一定限制?Thumb狀態(tài)下不能更新CPSR 中的ALU 狀態(tài)標(biāo)志。,Thumb指令對R8R15寄存器訪問受限。(11)Thumb指令集的堆棧入棧、出棧指令是哪兩條? PUSH POP(12)Thumb指令集的BL指令轉(zhuǎn)換范圍為何能達到±4MB?其指令編碼是怎樣的?Thumb 采用兩條16 位指令組合成22 位半字偏移(符號擴展為32 位),使

10、指令轉(zhuǎn)移范圍為±4MB。2 有符號和無符號加法 下面給出A 和B 的值,您可先手動計算A+B,并預(yù)測N、Z、V 和 C 標(biāo)志位的值。然后修改程序清單4.1 中R0、R1 的值,將這兩個值裝載到這兩個寄存器中(使用LDR 偽指令, 如LDR R0,=0x FFFF0000),使其執(zhí)行兩個寄存器的加法操作。調(diào)試程序,每執(zhí)行一次加法 操作就將標(biāo)志位的狀態(tài)記錄下來,并將所得結(jié)果與您預(yù)先計算得出的結(jié)果相比較。如果兩個 操作數(shù)看作是有符號數(shù),如何解釋所得標(biāo)志位的狀態(tài)?同樣,如果這兩個操作數(shù)看作是無符數(shù),所得標(biāo)志位又當(dāng)如何理解? 0xFFFF000F 0x7FFFFFFF (A) + 0x0000

11、FFF1 + 0x + (B) 結(jié)果: ( ) ( ) ( ) 3 數(shù)據(jù)訪問 把下面的 C 代碼轉(zhuǎn)換成匯編代碼。數(shù)組 a 和b 分別存放在以 0x4000 和 0x5000 為起始 地址的存儲區(qū)內(nèi),類型為long(即32 位)。把編寫的匯編語言進行編譯連接,并進行調(diào)試。 for (i=0; i<8; i+) ai = b7-i; 第五章1、基礎(chǔ)知識:(1)LPC2114可使用的外部晶振頻率范圍是多少(使用/不使用PLL功能時)? 晶振頻率范圍:130 MHz,若使用PLL 或ISP 功能為:1025MHz。(2)描述一下LPC2210的PO.14、P1.20、P1.26、BOOT1和BO

12、OT0引腳在芯片復(fù)位時分別有什么作用?并簡單說明LPC2000系列ARM7微控制器的復(fù)位處理流程。 P0.14 的低電平強制片內(nèi)引導(dǎo)裝載程序復(fù)位后控制器件的操作,即進入ISP 狀態(tài)。 P1.20 的低電平使 P1.25P1.16 復(fù)位后用作跟蹤端口。 P1.26 的低電平使 P1.31P1.26 復(fù)位后用作一個調(diào)試端口。當(dāng)RESET 為低時,BOOT0 與BOOT1 一同控制引導(dǎo)和內(nèi)部操作。引腳的內(nèi)部上拉確保了引腳未連接時呈現(xiàn)高電平。外部復(fù)位輸入:當(dāng)該引腳為低電平時,器件復(fù)位,I/O口和外圍功能進入默認狀態(tài),處理器從地址0 開始執(zhí)行程序。復(fù)位信號是具有遲滯作用的TTL 電平。(3)LPC200

13、0系列ARM7微控制器對向量表有何要求(向量表中的保留字)?向量表所有數(shù)據(jù)32 位累加和為零(0x0xC 的8 個字的機器碼累加),才能脫機運行用戶程序,這是LPC2114/2124/2212/2214 的特性。(4)如何啟動LPC2000系列ARM7微控制器的ISP功能?相關(guān)電路應(yīng)該如何設(shè)計? (5)LPC2000系列ARM7微控制器片內(nèi)Flash是多位寬度的接口?它是通過哪個功能模塊來提高Flash的訪問速度? 128位, 通過存儲器加速模塊(MAM)來提高Flash的訪問速度(6)若LPC2210的BANK0存儲塊使用32位總線,訪問BANK0時,地址線A1、A0是否有效?EMC模塊中的

14、BLSOBLS4具有什么功能?無效,( 如果存儲器組配置成 16 位寬,則不需要 A0;8 位寬的存儲器組需要使用 A0 。);字節(jié)定位選擇信號。(7)LPC2000系列ARM7微控制器具有引腳功能復(fù)用特性,那么如何設(shè)置某個引腳為指定功能? 通過引腳功能選擇寄存器的設(shè)定來設(shè)置某個引腳為指定功能(8)設(shè)置引腳為GPIO功能時,如何控制某個引腳單獨輸入/輸出?當(dāng)前要知道某個引腳當(dāng)前的輸出狀態(tài)時,是讀取IOPIN寄存器還是讀取IOSET寄存器? GPIO方向寄存器,IOPIN。(9)P0.2和P0.3口是I2C接口,當(dāng)設(shè)置它們?yōu)镚PIO時,是否需要外接上拉電阻才能輸出高電平? (10)使用SPI主模

15、式時,SSEL引腳是否可以作為GPIO?若不能,SSEL引腳應(yīng)如何處理? 不能用作GPIO,SSEL應(yīng)設(shè)這高電平,處于末激活狀態(tài)。(11)LPC2114具有幾個UART是符合什么標(biāo)準?哪一個UART可用作ISP通信?哪一個UART具有MODEM接口? UART0,UART1;UART0用于ISP通信,UART1具有MODEM接口。(12)LPC2114具有幾個32位定時器?PWM定時器是否可以作通用定時器使用? 兩個32位定時器,PWM定時器不能用作通用定時器使用(13)LPC2000系列ARM7微控制器具有哪兩種低耗模式?如何降低系統(tǒng)的功耗? 2 個低功耗模式:空閑和掉電;2、計算PLL設(shè)置

16、值:假設(shè)有一個基于LPC2114的系統(tǒng),所使用的晶振為11.0592MHZ石英晶振。請計算出最大的系統(tǒng)時鐘(ccls)頻率為多少MHZ?此時PLL的M值和P值各為多少?請列出計算公式,并編寫設(shè)置PLL的程序段。3、存儲器重影射:(1)LPC2210具有( 4 )種存影射模式。 3 5 1 4(2)當(dāng)程序已固化到片內(nèi)Flash,向量表保存在0x起始處,則MAP1:0的值應(yīng)該為( 2 )。 00 01 10 11(3)LPC2000系列APM7微控制器ccq重影射的目標(biāo)起始地址為( ),共有( )個字。 0x,8 0x,8 0x,16 0x7FFFE000,84、外部中斷喚醒掉電設(shè)計:以下代碼是初

17、始化外部中斷0,用它來喚醒掉電的LPC2114,請?zhí)羁?。PINSEL0=0x;PINSELI = (PINSEL1&0XFFFFFFFC)|0X01; /設(shè)置I/O連接,PO.16設(shè)置為EINTOEXTMODE =0X00; /設(shè)置EINT0為電平觸發(fā)模式 EXTPOLAR=0X00; /設(shè)置EINT0為低電平觸發(fā) EXTWAKE =0X01; /允許外部中斷0喚醒掉電的CPUEXTINT=0x0F; /清除外部中斷標(biāo)識 第四章程序清單4.1寄存器相加;文件名:TESTI.S;功能:實現(xiàn)兩個寄存器相加;說明:使用ARMulate軟件仿真調(diào)試 AREA Examplel,CODE,REA

18、DONLY ;聲明代碼段Examplel ENTRY ;標(biāo)識程序入口 CODE32 ;聲明32位ARM指令START MOV R0,#0 ;設(shè)置參數(shù) MOV R1,#10LOOP BL ADD_SUB ;調(diào)用子程序ADD_SUB B LOOP ;跳轉(zhuǎn)到LOOPADD_SUB ADDS R0,R0,R1 ;R0=R0+R1 MOV PC,LR ;子程序返回 END ;文件結(jié)束程序清單4.2 讀取SMI立即數(shù)T_bit EQU 0X20SWI_Handler STMFD SP!,R0_R3,R12,LR ;現(xiàn)場保護 MRS R0,SPSR ;讀取SPSR STMED SP!,R0 ;保存SPSR

19、TST R0,#T_bit ;測試T標(biāo)志位 LDRNEH R0,LR,#_2 ;若是Thumb指令,讀取指令碼(16位) BICNE R0,R0,,#0xFF00 ;取得Thumb指令的8位立即數(shù) LDREQ R0,LR,#_4 ;若是ARM指令,讀取指令碼(32位) BICEQ R0,R0,#0Xff ;取得ARM指令的24位立即數(shù) LDMFD SP!, R0_R3,R12,PC ;SWI異常中斷返回程序清單4.3使用IRQ中斷ENABLE_IRQ MRS R0,CPSR BIC R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR程序清單4.4禁能IRQ中斷DISABLE_IRQ MRS R0 CPSR ORR R0,R0,#0x80 MSR CPSR_C,R0 MOV PC,LR程序清單4.5堆棧指令初始化INTSTACK WOV R0,LR ;保存返回地址;設(shè)置管理模式堆棧 MSR CPSR_C,#0xD3 LDR SP,stacksvc;設(shè)置中斷模式堆棧 MSR CPSR_C,#0xD2 LDR SP

溫馨提示

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

評論

0/150

提交評論