資源描述:
《《arm嵌入式系統(tǒng)結(jié)構(gòu)與編程》習(xí)題答案》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、1章緒論1.國內(nèi)嵌入式系統(tǒng)行業(yè)對“嵌入式系統(tǒng)”的定義是什么?如何理解?答:見教材1.1節(jié)。2.嵌入式系統(tǒng)是從何時(shí)產(chǎn)生的,簡述其發(fā)展歷程。答:見教材1.1節(jié)。3.當(dāng)前最常見的源碼開放的嵌入式操作系統(tǒng)有哪些,請舉出兩例,并分析其特點(diǎn)。答:見教材1.2.1節(jié)的嵌入式Linux和嵌入式實(shí)時(shí)操作內(nèi)核UC/OS-I。4.舉例說明嵌入式設(shè)備在工控設(shè)備中的應(yīng)用。答:見教材1.3節(jié)的“工業(yè)控制領(lǐng)域”。5.未來嵌入式技術(shù)的發(fā)展趨勢有哪些?答:見教材1.4節(jié)的嵌入式技術(shù)的發(fā)展趨勢。2章ARM技術(shù)與ARM體系結(jié)構(gòu)1.簡述ARM處理器
2、內(nèi)核調(diào)試結(jié)構(gòu)原理。答:對教材1.2節(jié)的圖2-1進(jìn)行描述。2.分析ARM7TDMI-S各字母所代表的含義。答:參考教材2.1.2ARM核版本命名規(guī)則說明。3.ARM處理器的工作模式有哪幾種,其中哪些為特權(quán)模式,哪些為異常模式,并指出處理器在什么情況下進(jìn)入相應(yīng)的模式。ARM處理器共有7種工作模式:用戶模式:非特權(quán)模式,也就是正常程序執(zhí)行的模式,大部分任務(wù)在這種模式下執(zhí)行。在用戶模式下,如果沒異常發(fā)生,不允許應(yīng)用程序自行改變處理器的工作模式,如果有異常發(fā)生,處理器會(huì)自動(dòng)切換工作模式FIQ模式:也稱為快速中斷模式,支
3、持高速數(shù)據(jù)傳輸和通道處理,當(dāng)一個(gè)高優(yōu)(fast)中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。IRQ模式:也稱為普通中斷模式,:當(dāng)一個(gè)低優(yōu)先級中斷產(chǎn)生時(shí)將會(huì)進(jìn)入這種模式。在這模式下按中斷的處理器方式又分為向量中斷和非向量中斷兩種。通常的中斷處理都在IRQ模式下進(jìn)行。SVC模式:稱之為管理模式,它是一種操作系統(tǒng)保護(hù)模式。當(dāng)復(fù)位或軟中斷指令執(zhí)行時(shí)處理器將進(jìn)入這種模式。中止模式:當(dāng)存取異常時(shí)將會(huì)進(jìn)入這種模式,用來處理存儲(chǔ)器故障、實(shí)現(xiàn)虛擬存儲(chǔ)或存儲(chǔ)保護(hù)。未定義指令異常模式:當(dāng)執(zhí)行未定義指令時(shí)會(huì)進(jìn)入這種模式,主要是用來處理未定義的指令陷
4、阱,支持硬件協(xié)處理器的軟件仿真,因?yàn)槲炊x指令多發(fā)生在對協(xié)處理器的操作上。系統(tǒng)模式:使用和User模式相同寄存器組的特權(quán)模式,用來運(yùn)行特權(quán)級的操作系統(tǒng)任務(wù)。在這7種工作模式中,除了用戶模式以外,其他6種處理器模式可以稱為特權(quán)模式,在這些模式下,程序可以訪問所有的系統(tǒng)資源,也可以任意地進(jìn)行處理器模式的切換。在這6種特權(quán)模式中,除了系統(tǒng)模式外的其他5種特權(quán)模式又稱為異常模式4.分析程序狀態(tài)寄存器(PSR)各位的功能描述,并說明C、Z、N、V在什么情況下進(jìn)行置位和清零。PSR的具體格式為V—溢出標(biāo)志位對于加/減法運(yùn)
5、算指令,當(dāng)操作數(shù)和運(yùn)算結(jié)果為二進(jìn)制補(bǔ)碼表示的帶符號(hào)數(shù)時(shí),V=1表示符號(hào)位溢出,其他的指令通常不影響V位。例如:兩個(gè)正數(shù)(最高位為0)相加,運(yùn)算結(jié)果為一個(gè)負(fù)數(shù)(最高位為1),則符號(hào)位溢出,相應(yīng)V=1。C—進(jìn)位或借位標(biāo)志位對于加法指令(包括比較指令CMN),結(jié)果產(chǎn)生進(jìn)位,則C=1,表示無符號(hào)數(shù)運(yùn)算發(fā)生上溢出,其他情況下C=0;在減法指令中(包括比較指令CMP),結(jié)果產(chǎn)生借位,則C=0,表示無符號(hào)數(shù)運(yùn)算發(fā)生下溢出,其他情況下C=1;對于包含移位操作的非加/減法運(yùn)算指令,C中包含最后一次溢出位的數(shù)值;對于其他非加/減
6、法運(yùn)算指令,C位的值通常不受影響。Z—結(jié)果為0標(biāo)志位Z=1表示運(yùn)算結(jié)果是0,Z=0表示運(yùn)算結(jié)果不是零;對于CMP指令,Z=1表示進(jìn)行比較的兩個(gè)數(shù)大小相等。N—T符號(hào)標(biāo)志位本位設(shè)置成當(dāng)前指令運(yùn)算結(jié)果的bit[31]的值。當(dāng)兩個(gè)補(bǔ)碼表示有符號(hào)整數(shù)運(yùn)算時(shí),N=1表示運(yùn)算的結(jié)果為負(fù)數(shù),N=0表示結(jié)果為正數(shù)或零。5.簡述ARM處理器異常處理和程序返回的過程。答:ARM在異常產(chǎn)生時(shí)會(huì)進(jìn)行以下操作:(1)將引起異常指令的下一條指令地址保存到新的異常模式的LR中,使異常處理程序執(zhí)行完后能根據(jù)LR中的值正確返回;(2)將CPS
7、R的內(nèi)容復(fù)制到新的異常模式下的SPSR中;(3)根據(jù)異常類型將CPSR模式控制位強(qiáng)制設(shè)定為發(fā)生異常所對應(yīng)的模式值;(4)強(qiáng)制PC指向相應(yīng)的異常向量地址。ARM在異常返回時(shí)(1)從SPSR_恢復(fù)CPSR;(2)從LR_恢復(fù)PC。6.ARM處理器字?jǐn)?shù)據(jù)的存儲(chǔ)格式有哪兩種?并指出這兩種格式的區(qū)別。答:1)小端存儲(chǔ)格式(Little-Endian)在小端存儲(chǔ)格式中,對于地址為A的字單元,其中字節(jié)單元由低位到高位字節(jié)地址順序?yàn)锳,A+1,A+2,A+3;對于地址為A的半字單元,其中字節(jié)單元由低位
8、到高位字節(jié)地址順序?yàn)锳,A+1;2)大端存儲(chǔ)格式(Big-Endian)在大端存儲(chǔ)格式中,對于地址為A的字單元,其中字節(jié)單元由高位到低位字節(jié)地址順序?yàn)锳,A+1,A+2,A+3;對于地址為A的半字單元,其中字節(jié)單元由高位到低位字節(jié)地址順序?yàn)锳,A+1。7.分析帶有存儲(chǔ)器訪問指令(LDR)的流水線運(yùn)行情況,并用圖示說明其流水線的運(yùn)行機(jī)制。答:在ARM三級流水線下:對存儲(chǔ)器的訪問指令LDR就是非單周期指