電科計(jì)科專業(yè)嵌入式試題(A卷)附答案_第1頁
電科計(jì)科專業(yè)嵌入式試題(A卷)附答案_第2頁
電科計(jì)科專業(yè)嵌入式試題(A卷)附答案_第3頁
電科計(jì)科專業(yè)嵌入式試題(A卷)附答案_第4頁
電科計(jì)科專業(yè)嵌入式試題(A卷)附答案_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、貴州大學(xué)2012-2013學(xué)年第一學(xué)期考試試卷 A嵌入式系統(tǒng)原理及應(yīng)用試卷(2010電子信息科學(xué)與技術(shù))注意事項(xiàng):1. 請(qǐng)考生按要求在試卷裝訂線內(nèi)填寫姓名、學(xué)號(hào)和年級(jí)專業(yè)。2. 請(qǐng)仔細(xì)閱讀各種題目的回答要求,在規(guī)定的位置填寫答案。3. 不要在試卷上亂寫亂畫,不要在裝訂線內(nèi)填寫無關(guān)的內(nèi)容。4. 滿分100分,考試時(shí)間為120分鐘。題 號(hào)一二三四五六七總 分統(tǒng)分人得 分得 分評(píng)分人一、選擇題(本大題共 20分,每小題 2 分)下列各題的選項(xiàng)中,只有一項(xiàng)是正確的,請(qǐng)將正確選項(xiàng)的編號(hào)填在括號(hào)內(nèi)。錯(cuò)填、不填均無分。1. 精簡指令集RISC與復(fù)雜指令集CISC的處理器相比,具有下列的哪一個(gè)特點(diǎn)( )。(A

2、) 指令多、編碼長度固定、尋址方式簡單和執(zhí)行時(shí)間較短 (B) 指令少、編碼長度不固定、尋址方式簡單和執(zhí)行時(shí)間較短(C) 指令少、編碼長度固定、尋址方式簡單和執(zhí)行時(shí)間較短 (D) 指令少、編碼長度固定、尋址方式復(fù)雜和執(zhí)行時(shí)間較短2 在ARM的所有的運(yùn)行模式下,下列的哪一組寄存器都對(duì)應(yīng)同一組物理寄存器( )。(A) R8R12 (B) R0R7(C) R13R14 (D) R8R143. ARM處理器處于( )運(yùn)行時(shí),執(zhí)行的程序無法訪問一些被保護(hù)的系統(tǒng)資源,也不能改變處理器的運(yùn)行模式。(A)管理模式。 (B)中斷模式。(C)系統(tǒng)模式。 (D)用戶模式。4 ARM處理器支持4種類型的堆棧工作方式,其

3、中滿遞增堆棧是( )。(A)堆棧指針指向最后壓入的數(shù)據(jù),且由低地址向高地址生長;(B)堆棧指針指向下一個(gè)空位置,且由低地址向高地址生長;(C)堆棧指針指向最后壓入的數(shù)據(jù),且由高地址向低地址生長;(D)堆棧指針指向下一個(gè)空位置,且由高地址向低地址生長;5當(dāng)一個(gè)異常出現(xiàn)后,ARM微處理器不會(huì)執(zhí)行以下操作( ) (A) 將下一條指令的地址保存到響應(yīng)的LR; (B) 將CPSR復(fù)制到SPSR中; (C) 根據(jù)異常類型,強(qiáng)制設(shè)置CPSR的運(yùn)行模式;(D) 保存寄存器R0R7到對(duì)應(yīng)的堆棧;6 S3C2440的內(nèi)存一般由SDRAM存儲(chǔ)器構(gòu)成,這部分地址空間應(yīng)配置在( )。(A) Bank0Bank5 (B)

4、 Bank0 (C) Bank6/Bank7 (D)任何一段空閑地址區(qū)域7 ARM微處理器的內(nèi)存管理單元MMU主要完成的功能是( )。(A) 主存儲(chǔ)器和CPU之間的高速緩存; (B) Nand Flash的管理單元; (C) 從虛擬地址到物理地址的轉(zhuǎn)換; (D) 存儲(chǔ)器塊Bank的管理單元;8當(dāng)ARM微處理器使用32bit的數(shù)據(jù)總線時(shí),存儲(chǔ)器的地址與ARM微處理器的地址的連接方式應(yīng)該是( )(A) 存儲(chǔ)器的A0與ARM的A0連在一起,其他引腳依此連接; (B) 存儲(chǔ)器的A0與ARM的A1連在一起,其他引腳依此連接; (C) 存儲(chǔ)器的A0與ARM的A2連在一起,其他引腳依此連接;(D) 存儲(chǔ)器的

5、A0與ARM的A3連在一起,其他引腳依此連接;9 從ARM狀態(tài)進(jìn)入到Thumb狀態(tài)可通過( )代碼實(shí)現(xiàn)。(A) ADR R0,Into_Thumb+1 (B) ADR R0,Into_Thumb BX R0 BL R0 (C) ADR R0,Into_Thumb+1 (D) ADR R0,Into_ThumbBL R0 BX R010LDMIA R1!,R0,R2,R3指令執(zhí)行后,R1的值變?yōu)? )。(A) R1>R1; (B) R1+4>R1; (C) R1+8>R1; (D) R1+12>R1;得 分評(píng)分人二、簡答題(本大題共12分,每小題6分)1 簡要說明Boot

6、 Loader的兩種操作模式:"啟動(dòng)加載"模式和"下載"模式的基本功能。2 簡要說明在ARM處理器中,一旦有中斷發(fā)生,ARM的中斷系統(tǒng)將如何處理。得 分評(píng)分人三、分析題(本大題共12分,每小題6分)仔細(xì)閱讀下列程序代碼,寫出它們所完成和實(shí)現(xiàn)的功能。(1) void SendByte(int data) if(data=n) while(?。╮UTRSTAT00x4); Delay(10); rUTXH0=r; else while(?。╮UTRSTAT00x4); Delay(10); rUTXH0data; (2) mystrcopy LDRB r2,

7、 r1, #1 STRB r2, r0, #1 CMP r2, #0 BNE mystrcopy MOV pc, lr得 分評(píng)分人四、編程題(本大題共12分)試編寫一段C語言與匯編語言的混合編程代碼,要求在C語言程序中調(diào)用匯編語言程序strcpy,完成將字符串src = “hello,world”復(fù)制到dest數(shù)組中。得 分評(píng)分人五、編程題(本大題共14分)編寫一段C語言程序,用S3C2440的A/D轉(zhuǎn)換器的通道0對(duì)一輸入的模擬信號(hào)進(jìn)行采樣,要求連續(xù)采集16個(gè)點(diǎn),然后取平均值作為采樣值,試編寫A/D轉(zhuǎn)換器初始化函數(shù)和獲取A/D的轉(zhuǎn)換值的函數(shù)。假定AD轉(zhuǎn)換器相關(guān)的寄存器已經(jīng)定義。得 分評(píng)分人六、

8、編程題(本大題共14分)編寫程序,控制發(fā)光二極管LED1、LED2、LED3、LED4,使它們按順序:LED1亮LED2亮LED3亮LED4亮LED1滅LED2滅LED3滅LED4滅。LED_1LED_4分別與GFP7GPF4相連,通過GFP7GPF4引腳的高低電平來控制發(fā)光二極管的亮與滅。當(dāng)這幾個(gè)引腳輸出高電平的時(shí)候發(fā)光二極管熄滅,反之,發(fā)光二極管點(diǎn)亮。得 分評(píng)分人七、設(shè)計(jì)題(本大題共16分,每小題8分)將0255這256個(gè)數(shù)按順序?qū)懭氲紼EPROM(AT24C02)的內(nèi)部存儲(chǔ)單元中,然后再依次將它們讀出,并通過實(shí)驗(yàn)板的串口UART0輸出到在PC機(jī)上運(yùn)行的Windows自帶超級(jí)終端上。要求用

9、C語言編寫:(1)初始化及測(cè)試主程序;(2)中斷服務(wù)程序及IIC寫入程序。嵌入式系統(tǒng)原理及應(yīng)用試卷(2010電子信息科學(xué)與技術(shù))A卷參考答案及評(píng)分標(biāo)準(zhǔn)一、(1) C (2) B (3) D (4) A (5) D (6) C (7) C (8) C (9) A (10) D二、1、啟動(dòng)加載(Boot loading)模式:這種模式也稱為"自主"(Autonomous)模式。也即 Boot Loader 從目標(biāo)機(jī)上的某個(gè)固態(tài)存儲(chǔ)設(shè)備上將操作系統(tǒng)加載到 RAM 中運(yùn)行,整個(gè)過程并沒有用戶的介入。這種模式是 Boot Loader 的正常工作模式,因此在嵌入式產(chǎn)品發(fā)布的時(shí)侯,Bo

10、ot Loader 顯然必須工作在這種模式下。 3分 下載(Downloading)模式:在這種模式下,目標(biāo)機(jī)上的 Boot Loader 將通過串口連接或網(wǎng)絡(luò)連接等通信手段從主機(jī)(Host)下載文件,比如:下載內(nèi)核映像和根文件系統(tǒng)映像等。從主機(jī)下載的文件通常首先被 Boot Loader 保存到目標(biāo)機(jī)的 RAM 中,然后再被 Boot Loader 寫到目標(biāo)機(jī)上的FLASH 類固態(tài)存儲(chǔ)設(shè)備中。Boot Loader 的這種模式通常在第一次安裝內(nèi)核與根文件系統(tǒng)時(shí)被使用;此外,以后的系統(tǒng)更新也會(huì)使用 Boot Loader 的這種工作模式。工作于這種模式下的 Boot Loader 通常都會(huì)向它

11、的終端用戶提供一個(gè)簡單的命令行接口。 3分2、在ARM系統(tǒng)中,一旦有中斷發(fā)生,正在執(zhí)行的程序都會(huì)停下來,通常都會(huì)執(zhí)行如下的中斷步驟:(1)保存現(xiàn)場。保存當(dāng)前的PC值到R14,保存當(dāng)前的程序運(yùn)行狀態(tài)到SPSR。(2)模式切換。根據(jù)發(fā)生的中斷類型,進(jìn)入IRQ模式或FIQ模式。(3)獲取中斷服務(wù)子程序地址。PC指針跳到異常向量表所保存的IRQ或FIQ地址處,IRQ或FIQ的異常向量地址處一般保存的是中斷服務(wù)子程序的地址,PC指針跳入到中斷服務(wù)子程序,進(jìn)行中斷處理。 3分(4)多個(gè)中斷請(qǐng)求處理。在ARM系統(tǒng)中,可以存在多個(gè)中斷請(qǐng)求源,比如串口中斷、AD中斷、外部中斷、定時(shí)器中斷及DMA中斷等,所以可能

12、出現(xiàn)多個(gè)中斷源同時(shí)請(qǐng)求中斷的情況。為了更好地區(qū)分各個(gè)中斷源,通常為這些中斷定義不同的優(yōu)先級(jí)別,并為每一個(gè)中斷設(shè)置一個(gè)中斷標(biāo)志位。當(dāng)發(fā)生中斷時(shí),通過判斷中斷優(yōu)先級(jí)以及訪問中斷標(biāo)志位的狀態(tài)來識(shí)別哪一個(gè)中斷發(fā)生了,進(jìn)而調(diào)用相應(yīng)的函數(shù)進(jìn)行中斷處理。(5)中斷返回,恢復(fù)現(xiàn)場。當(dāng)完成中斷服務(wù)子程序后,將SPSR中保存的程序運(yùn)行狀態(tài)恢復(fù)到CPSR中,R14中保存的被中斷程序的地址恢復(fù)到PC中,繼續(xù)執(zhí)行被中斷的程序。 3分三、1、 通過串口發(fā)送數(shù)據(jù)。如果是回車符,則發(fā)送換行控制符,否者發(fā)送數(shù)據(jù)。 6分2、 將r1指向的字符串復(fù)制到r0指向的存儲(chǔ)空間。 6分四、 AREA StringCopy, CODE, R

13、EADONLYEXPORT strcopymystrcopy LDRB r2, r1, #1 STRB r2, r0, #1 CMP r2, #0 BNE mystrcopy 6分 MOV pc, lr END extern void strcopy(char *d, const char *s);int main(void) const char *src = “hello,world”; char dest10; strcopy(dest, src); 6分五、 void AD_Init(unsigned char ch) rADCDLY=100; /ADC啟動(dòng)或間隔延時(shí) rADCTSC=

14、0; /選擇ADC模式 rADCCON=(1<<14)|(49<<6)|(ch<<3)|0<<2)|(0<<1)|(0); /設(shè)置ADC控制寄存器 int Get_AD(unsigned char ch) int i; int val= 0; i f (ch>7) return 0; /通道不能大于7 for(i=0; i< 16; i+) /為轉(zhuǎn)換準(zhǔn)確,轉(zhuǎn)換16次 rADCCON |=0x1; /啟動(dòng)A/D轉(zhuǎn)換 rADCCON= rADCCON0xffc7 |(ch<<3); while (rADCCON0x

15、1); /避免第一個(gè)標(biāo)志出錯(cuò) while(?。╮ADCCON0x8000); /避免第二個(gè)標(biāo)志出錯(cuò) val +=(rADCDAT00x03ff); Delay(10); return(val >> 4); /為轉(zhuǎn)換準(zhǔn)確,除以16取均值六、void led_on(void) 7分 int i,nOut; nOut=0xF0; rGPFDAT=nOut & 0x70; for(i=0;i<100000;i+); rGPFDAT=nOut & 0x30; for(i=0;i<100000;i+); rGPFDAT=nOut & 0x10; for(i=

16、0;i<100000;i+); rGPFDAT=nOut & 0x00; for(i=0;i<100000;i+);void led_off(void) 7分 int i,nOut; nOut=0; rGPFDAT = 0; for(i=0;i<100000;i+); rGPFDAT = nOut | 0x80; for(i=0;i<100000;i+); rGPFDAT |= nOut | 0x40; for(i=0;i<100000;i+); rGPFDAT |= nOut | 0x20; for(i=0;i<100000;i+); rGPFDA

17、T |= nOut | 0x10; for(i=0;i<100000;i+);七、 (1)初始化及測(cè)試主程序void iic_test(void) UINT8T szData256; UINT8T szBuf256; unsigned int i, j; uart_printf("n IIC Protocol Test Example, using AT24C04.n"); uart_printf(" Write char 0-f into AT24C04n"); f_nGetACK = 0; / Enable interrupt 4分 rINTM

18、OD = 0x0; rINTMSK &= BIT_IIC; pISR_IIC = (unsigned)iic_int_24c04; / Initialize iic rIICADD = 0x10; / S3C2440X slave address rIICCON = 0xaf; / Enable ACK, interrupt, SET IICCLK=MCLK/16 rIICSTAT = 0x10; / Enable TX/RX / Write 0 - 16 to 24C04 for(i=0; i<256; i+) iic_write_24c040(0xa0, i, i); del

19、ay(10); / Read 16 byte from 24C04 4分 for(i=0; i<256; i+) iic_read_24c040(0xa0, i, &(szDatai); / Printf read data uart_printf(" Read 256 bytes from AT24C04n"); for(i=0; i<256; i+) uart_printf(" %2x ", szDatai); rINTMSK |= BIT_IIC; uart_printf("n end.n");(2)中斷服務(wù)程序void iic_int_24c04(void) ClearPending(BIT_IIC)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論