資源描述:
《周立功ARM嵌入式系統(tǒng)課后習題》由會員上傳分享,免費在線閱讀,更多相關內容在教育資源-天天文庫。
1、第1章思考與練習1、舉出3個書本中未提到的嵌入式系統(tǒng)的例子答:紅綠燈控制,數(shù)字空調,機頂盒2、什么叫嵌入式系統(tǒng)答:以應用為中心,計算機技術為基礎、軟件硬件可裁剪、適應應用系統(tǒng)對功能、可靠性、成本、體積、功耗嚴格要求的專用計算機系統(tǒng)。3、什么叫嵌入式處理器?嵌入式處理器分為哪幾類?答:嵌入式處理器是為完成特殊的應用而設計的特殊目的的處理器。嵌入式微處理器(EmbeddedMicroprocessorUnit,EMPU)嵌入式微控制器(MicrocontrollerUnit,MCU)嵌入式DSP處理器(EmbeddedDigitalSignalProcessor,EDSP嵌入式片上
2、系統(tǒng)(SystemOnChip)4、什么是嵌入式操作系統(tǒng)?為何要使用嵌入式操作系統(tǒng)?答:是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,首先,嵌入式實時操作系統(tǒng)提高了系統(tǒng)的可靠性。其次,提高了開發(fā)效率,縮短了開發(fā)周期。再次,嵌入式實時操作系統(tǒng)充分發(fā)揮了32位CPU的多任務潛力。第二章1、ARM7TDMI中的T、D、M、I的含義是什么?答:64位乘法指令(帶M后綴的)、支持片上調試(帶D后綴的)、高密度16位的Thumb指令機擴展(帶T后綴的)和EmbededICE觀察點硬件(帶I后綴的)2、ARM7TDMI采用幾級流水線?使用何種存儲器編址方式?答:三級流水線(取指譯碼執(zhí)行);使用
3、了馮·諾依曼(VonNeumann)結構,指令和數(shù)據(jù)共用一條32位總線。3、ARM處理器模式和ARM處理器狀態(tài)有何區(qū)別?答:處理器模式指的是處理器在執(zhí)行程序時在不同時刻所處的不同狀態(tài),處理器狀態(tài)指的是處理器當前所執(zhí)行的指令集。4、分別列舉ARM的處理器模式和狀態(tài)。狀態(tài):ARM狀態(tài)32位,這種狀態(tài)下執(zhí)行的是字方式的ARM指令Thumb狀態(tài)16位,這種狀態(tài)下執(zhí)行半字節(jié)方式的Thumb指令模式:用戶模式、快中斷模式、中斷模式、管理模式、中止模式、未定義模式。5、PC和LR分別使用哪個寄存器?答:PC使用R15寄存器,LR使用R14寄存器6、R13寄存器的通用功能是什么?答:堆棧指針7
4、、CPSR寄存器中哪些位用來定義處理器狀態(tài)?答:位31~28:N、Z、C、V,條件代碼標志位;27~8:保留位;T、M4~0,控制標志位8、描述一下如何禁止IRQ和FIQ的中斷?答:當控制位I置位時,IRQ中斷被禁止,否則允許IRQ中斷時能;當控制位F置位時,F(xiàn)IQ中斷被禁止,否則允許FIQ中斷使能。9、定義R0=0x12345678,假設使用存儲指令將R0的值存放在0x4000單元中。如果存儲器格式大端格式,請寫出在執(zhí)行加載指令存儲器0x4000單元的內容取出存放到R2寄存器操作后所得R2的值。如果儲存器格式改為小端格式,所得的R2值又為多少?低地址0x4000單元的字節(jié)內容
5、分別是多少?答:無論是大端格式還是小端格式,R2的值與R1一致;地址0x4000單元的字節(jié):大端:0x12、小端:0x78。10、請描述一下ARM7TDMI產生異常的條件是什么?各種異常會使處理器進入哪種模式?進入異常時內核有何操作?各種異常的返回指令又是什么?答:【異?!俊灸J健俊痉祷刂噶睢繌臀还芾頍o未定義指令未定義MOVSPC,R14軟件中斷管理MOVSPC,R14預取指中止中止SUBSPC,R14,#4數(shù)據(jù)中止中止SUBSPC,R14,#8IRQ中斷SUBSPC,R14,#4FIQ快速中斷SUBSPC,R14,#4進入異常時,內核自動做:PC→LR、CPSR→相應異常模式
6、下的SPSR、設置CPSR為相應的異常模式、相應異常處理程序的中斷入口向量地址→PC。第三章1、基礎知識(1)ARM7TDMI(-S)有幾種尋址方式?“LDRR1,[R0,#0x08]”屬于哪種尋址方式?答:有8種尋址方式:1.寄存器尋址2.立即尋址3.寄存器位尋址4.寄存器間接尋址5.基址尋址6.多址尋址7.堆棧尋址8.相對尋址:“LDRR1,[R0,#0X08]”屬于基址尋址。(2)ARM指令的條件碼有多少個?默認條件碼是什么?答:16個;AL。(3)ARM指令中的第2個操作數(shù)有哪幾種形式?列舉5個8位圖立即數(shù)。答:1.常數(shù)表達式(8位圖)2.寄存器方式3.寄存器移位方式;
7、0x3FC、0、0xF0000000、200、0xF0000001。(4)LDR/STR指令的偏移形式有哪4種?LDRB指令和LDRSB指令有何區(qū)別?答:1.零偏移2.前索引偏移3.程序相對偏移4.后索引偏移;LDRB:加載無符號字節(jié)數(shù)據(jù),LDRSB加載有符號字節(jié)數(shù)據(jù)(5)請指出MOV指令與LDR加載指令的區(qū)別及用途?答:MOV指令的源操作數(shù)是常數(shù)或(帶偏移量的)寄存器,用于寄存器之間的數(shù)據(jù)傳送;LDR指令的源操作數(shù)是地址,用于存儲器到寄存器的數(shù)據(jù)傳送。(6)CMP指令是如何執(zhí)行的?寫一程序