嵌入式系統(tǒng)原理arm復(fù)習(xí)_第1頁
嵌入式系統(tǒng)原理arm復(fù)習(xí)_第2頁
嵌入式系統(tǒng)原理arm復(fù)習(xí)_第3頁
嵌入式系統(tǒng)原理arm復(fù)習(xí)_第4頁
嵌入式系統(tǒng)原理arm復(fù)習(xí)_第5頁
已閱讀5頁,還剩16頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、注:答案在答案處,請(qǐng)先對(duì)照復(fù)習(xí)提綱做完后再來對(duì)照答案1 嵌入式系統(tǒng)基礎(chǔ)知識(shí)1.1 嵌入式的定義1.1.1 嵌入式系統(tǒng)是以 為中心,以 為基礎(chǔ),軟硬件可裁剪,適應(yīng)應(yīng)用系統(tǒng)對(duì) 、 、 、 、 、等嚴(yán)格要求的專用計(jì)算機(jī)系統(tǒng)。答案:應(yīng)用,計(jì)算機(jī)技術(shù),功能,成本,可靠性,體積,功耗1.2 三要素: 、 、 1.3 答案:嵌入,專用,計(jì)算機(jī)1.4 軟硬件組成:1.4.1 硬件:由 、 組成1.4.2 軟件:包括 和 2 答案:嵌入式微處理器,外圍硬件設(shè)備;底層系統(tǒng)軟件,用戶應(yīng)用軟件3 ARM技術(shù)概述3.1 兩套指令集(兩種工作狀態(tài)): 、 ,ARM上電時(shí)處於 狀態(tài)。答案: arm,thumb;arm3.2

2、 ARM的基本數(shù)據(jù)類型: 、 、 答案:字、半字、字節(jié)3.3 存儲(chǔ)器大/小端:3.3.1 大端模式(big-endian):數(shù)據(jù)的 字節(jié)存放在內(nèi)存的 地址3.3.2 小端模式(little-endian):數(shù)據(jù)的 字節(jié)存放在內(nèi)存的 地址答案:低,高;高,低3.4 流水線: 3.4.1 假設(shè)某嵌入式處理器有3級(jí)流水線,每級(jí)流水線所耗時(shí)間均為為2ms,則執(zhí)行25條指令需要耗費(fèi)時(shí)間?答案:2*3+2*24=54ms3.4.2 影響流水線性能的因素: 、 3.4.2.1 哪些指令能影響流水線?答案:互鎖,跳轉(zhuǎn)指令;b,bx,bl,blx,ldr,mov3.5 ARM920T 工作模式3.5.1 除 模

3、式外,其余6種模式為權(quán)模式,除了 和 模式外,其余5種模式為異常模式。答案:用戶;用戶,系統(tǒng)3.5.2 arm有 個(gè)寄存器, 個(gè)通用寄存器, 個(gè)狀態(tài)寄存器(分別是 ),未分組寄存器包括 ,分組寄存器包括 。寄存器 在ARM處理器中常用作堆棧指針,稱為SP ;寄存器 又被稱為連接寄存器,稱為LR;寄存器 被稱為程序計(jì)數(shù)器,又稱PC.答案:37;30;6,1個(gè)CPSR、5個(gè)SPSR;R0-R7,R8-R14;r13,r14,r154 ARM的指令系統(tǒng)4.1 根據(jù)使用的指令類型不同,指令的尋址方式分為 和 。答案:數(shù)據(jù)處理指令尋址方式和內(nèi)存訪問指令尋址方式4.2 CPU指令所需要的操作數(shù)可以去哪些地

4、方尋找呢?4.2.1 指令當(dāng)中;4.2.2 存儲(chǔ)單元中:寄存器當(dāng)中;內(nèi)存單元當(dāng)中4.3 ARM指令集可以分為6類:4.3.1 跳轉(zhuǎn)指令(bbxblblx)4.3.2 數(shù)據(jù)處理指令 : 4.3.2.1 尋址方式;4.3.2.2 尋址方式;4.3.2.3 尋址方式。答案:立即數(shù),寄存器,寄存器位移4.3.3 程序狀態(tài)寄存器傳輸指令4.3.4 Load/Store指令(訪問內(nèi)存的如str和ldr,“!”表示完成數(shù)據(jù)傳輸后要更新基址寄存器)4.3.5 協(xié)處理器指令4.3.6 異常中斷產(chǎn)生指令。5 ARM匯編語言程序設(shè)計(jì)5.1 ARM標(biāo)準(zhǔn)APCS寄存器使用規(guī)則5.1.1 參數(shù)不超過4個(gè)時(shí),可以使用寄存器

5、 來傳遞參數(shù),當(dāng)參數(shù)超過4個(gè)時(shí),還可以使用 來傳遞參數(shù)。答案:R0R3, 數(shù)據(jù)棧5.1.2 結(jié)果為一個(gè)32位整數(shù)時(shí),可以通過寄存器 返回 答案:R05.1.3 結(jié)果為一個(gè)64位整數(shù)時(shí),可以通過寄存器R0和R1返回,依次類推。5.1.4 寄存器R13用于數(shù)據(jù)棧指針,記作SP。寄存器SP在進(jìn)入子程序時(shí)的值和退出子程序時(shí)的值必須相等。 5.1.5 寄存器R14稱為鏈接寄存器,記作LR。它用于保存子程序的返回地址。5.2 寄存器R15是程序計(jì)數(shù)器,記作pc。它不能用作其他用途。5.2.1 數(shù)據(jù)定義偽操作5.2.1.1 DCB 答案:用于分配一片連續(xù)的字節(jié)存儲(chǔ)單元并用指定的數(shù)據(jù)初始化 5.2.1.2 D

6、CW(DCWU)用于分配一片連續(xù)的半字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化5.2.1.3 DCD(DCDU)用于分配一片連續(xù)的字存儲(chǔ)單元并用指定的數(shù)據(jù)初始化5.2.1.4 SPACE用于分配一片連續(xù)的存儲(chǔ)單元5.2.1.5 MAP用于定義一個(gè)結(jié)構(gòu)化的內(nèi)存表首地址5.2.1.6 FIELD用于定義一個(gè)結(jié)構(gòu)化的內(nèi)存表的數(shù)據(jù)5.2.2 雜項(xiàng)偽操作5.2.2.1 AREA用于定義一個(gè)代碼段或數(shù)據(jù)段。5.2.2.2 ENTRY用于指定程序入口點(diǎn)。5.2.2.3 END用于指示源程序結(jié)束。5.2.2.4 EQU用于定義字符名稱。5.2.2.5 EXPORT(或GLOBAL) 答案:用于聲明符號(hào)可以被其他文件引用。

7、5.2.2.6 IMPORT 答案:用于通知編譯器當(dāng)前符號(hào)不在本文件中。6 GPIO6.1 S3C2410芯片上共有 個(gè)多功能的輸入/輸出引腳,它們分為 組I/O端口1個(gè)23位的輸出端口(端口A)2個(gè)11位的輸入/輸出端口(端口B、H)4個(gè)16位的輸入/輸出端口(端口C、D、E、G)1個(gè)8位的輸入/輸出端口(端口F)答案:117,77 串行通信接口(UART)7.1 發(fā)送數(shù)據(jù)的組成:7.1.1 1位起始位,規(guī)定為 ;7.1.2 58位數(shù)據(jù)位,即要傳送的有效信息;7.1.3 1位奇偶校驗(yàn)位;7.1.4 12位停止位,規(guī)定為 ;7.1.5 空閑位持續(xù)為 。答案: 0,1,17.2 S3C2410串

8、行通信接口的結(jié)構(gòu)7.2.1 主要由4部分構(gòu)成: 、 、 、 。7.2.1.1 :將總線上的數(shù)據(jù)通過TXDn引腳串行移出;7.2.1.2 :將RXDn引腳上收到的數(shù)據(jù)送入數(shù)據(jù)總線;7.2.1.3 :為數(shù)據(jù)的收發(fā)提供參考時(shí)鐘信號(hào);7.2.1.4 :控制數(shù)據(jù)收發(fā)的速率,發(fā)送器、接收器的工作模式。答案:接收器、發(fā)送器、波特率發(fā)生器、控制邏輯單元;接收器、發(fā)送器、波特率發(fā)生器、控制邏輯單元;7.3 波特率計(jì)算公式:UBRDIVn = (int)(PLK/(bps × 16) ) 17.3.1 例:UCLK或者PCLK等于40MHz,當(dāng)波特率為1

9、15200時(shí),UBRDIV0的值為:  答案:UBRDIV0 = (int)(40000000/(115200×16) )1 = (int)(21.7) 1 = 21  1 = 208 S3C2410時(shí)鐘體系結(jié)構(gòu)8.1 S3C2410的時(shí)鐘控制邏輯給整個(gè)芯片提供4種時(shí)鐘信號(hào): :用于CPU內(nèi)核; :用于AHB總線上的設(shè)備,如:中斷控制器、存儲(chǔ)器控制器、LCD控制器、Nand flash、DMA控制器等; :用于APB總線上的設(shè)備,如:UART、IIC、IIS、SPI、WATCHDOG、

10、PWM定時(shí)器、ADC、GPIO、RTC等;UCLK:用于USB設(shè)備。答案:FCLK,HCLK,PCLK 9 ARM異常中斷處理及編程9.1 S3C2410X的中斷控制器可以接受多達(dá) 個(gè)中斷源的中斷請(qǐng)求,其中有 個(gè)一級(jí)中斷。答案:56,32;9.2 一級(jí)中斷源通過 就可以確定;對(duì)于一級(jí)中斷源的開中斷,只需對(duì) 清0;對(duì)于一級(jí)中斷源的中斷清除,需要對(duì) 要寫1清0答案:INTOFFSET;INTMASK;INTPND、SRCPND9.3 11個(gè)片上外圍電路需要通過INTOFFSET和SUBSRCPND才可以確定;20個(gè)外部二級(jí)可擴(kuò)展的外部中斷源需要通過INTOFFSET和EINTPEND確定;對(duì)于二級(jí)

11、中斷源的開中斷,需要對(duì)SUBMASK、INTMASK或EINTMASK、INTMASK清0;對(duì)于二級(jí)中斷源的中斷清除,除了INTPND、SRCPND要寫1清0外,SUBSRCPND和EINTPEND也需要寫1清0。9.4 外部中斷的使用方法:9.4.1 設(shè)置I/O管腳為EINTn功能(GPnCON)9.4.2 設(shè)置外部中斷的觸發(fā)方式(EXINTn)9.4.3 設(shè)置中斷模式FIQ/IRQ(INTMOD)9.4.4 設(shè)置中斷優(yōu)先級(jí)(PRIORITY)9.4.5 清除外部中斷懸掛指示寄存器(EINTPEND)9.4.6 清除中斷源懸掛指示寄存器(SRCPND)9.4.7 清除中斷懸掛指示寄存器(IN

12、TPND)9.4.8 打開外部中斷(EINTMASK、INTMSK)9.4.9 判斷產(chǎn)生的中斷是哪個(gè)EINTn(INTOFFSET、EINTPEND)9.4.10 處理完畢后,清除中斷指示寄存器(EINTPEND、SRCPND 、INTPND)10 RTC(Real Time Clock)10.1 RTC功能與結(jié)構(gòu)10.1.1 S3C2410 RTC三大主要功能:為系統(tǒng)提供 、產(chǎn)生 (鬧鐘中斷)、產(chǎn)生 (滴答中斷或節(jié)拍時(shí)間中斷)。答案:實(shí)時(shí)時(shí)間,報(bào)警中斷,時(shí)間片中斷10.1.2 S3C2410 RTC使用 時(shí)鐘信號(hào)源,振蕩電路只需外接2個(gè)20P左右的小電容、32.768KHz的晶振即可。答案:

13、自己的獨(dú)立10.2 S3C2410的RTC主要有5部分構(gòu)成: 、 、 (時(shí)分秒年月日星期)、 、 等部分。如下圖所示。答案: 時(shí)鐘產(chǎn)生器, 節(jié)拍產(chǎn)生器, 時(shí)間與日期計(jì)數(shù)器, 報(bào)警產(chǎn)生器,控制邏輯10.2.1 RTC節(jié)拍時(shí)間用于中斷請(qǐng)求,TICNT寄存器有一個(gè)中斷使能位和一個(gè)相關(guān)的計(jì)數(shù)器值,當(dāng)節(jié)拍中斷發(fā)生時(shí),計(jì)數(shù)器值到達(dá)0。中斷時(shí)長如下: Period=(n+1)/128 ;以秒作為單位, n為節(jié)拍時(shí)間計(jì)數(shù)值,范圍為1127。10.3 RTC三大功能使用編程方法:10.3.1 初始化中斷控制器;10.3.2 清除懸掛指示寄存器(SRCPND、INTPND)10.3.3 去除對(duì)相應(yīng)中斷的屏蔽(IN

14、TMSK)10.3.4 使能節(jié)拍中斷, 設(shè)置節(jié)拍時(shí)間中斷時(shí)長(TICNT); 10.3.5 使能報(bào)警中斷(RTCALM);10.3.6 使能RTC寄存器寫操作(RTCCON),設(shè)置當(dāng)前時(shí)間(BCDSEC-BCDYEAR),禁止RTC寄存器寫操作(RTCCON);10.3.7 使能RTC寄存器寫操作(RTCCON),設(shè)置報(bào)警時(shí)間(ALMSEC-ALMYEAR),禁止RTC寄存器寫操作(RTCCON);10.3.8 中斷發(fā)生后,判斷中斷類型(INTOFFSET),進(jìn)行中斷處理;10.3.9 處理完畢后,再次清除懸掛指示寄存器(SRCPND、INTPND),返回11 看門狗定時(shí)器11.1 看門狗增強(qiáng)

15、系統(tǒng)穩(wěn)定性原理答案:設(shè)一系統(tǒng)程序完整運(yùn)行一周期的時(shí)間是Tp,看門狗的定時(shí)周期為Ti,要求Ti>Tp。在程序運(yùn)行一周期后,修改定時(shí)器的計(jì)數(shù)值,只要程序正常運(yùn)行,定時(shí)器就不會(huì)溢出。若由于干擾等原因使系統(tǒng)不能在Tp 時(shí)刻修改定時(shí)器的計(jì)數(shù)值,定時(shí)器將在Ti 時(shí)刻溢出,引發(fā)系統(tǒng)復(fù)位,使系統(tǒng)得以重新運(yùn)行,從而起到監(jiān)控作用。11.2 看門狗定時(shí)器的結(jié)構(gòu)與工作原理11.2.1 S3C2410看門狗的功能11.2.1.1 定時(shí)器功能:可以作為常規(guī)定時(shí)器使用,它是一個(gè)十六位的定時(shí)器,并且可以產(chǎn)生中斷,中斷名為INT_WDT,中斷號(hào)是0x09。11.2.1.2 復(fù)位功能:作為看門狗定時(shí)器使用,當(dāng)時(shí)鐘計(jì)數(shù)減為0

16、(超時(shí))時(shí),它將產(chǎn)生一個(gè)128個(gè)PCLK時(shí)鐘周期的復(fù)位信號(hào)。11.2.2 S3C2410 ARM9的看門狗主要由五部分構(gòu)成: 、 、 、 、 。答案:時(shí)鐘,看門狗計(jì)數(shù)器,看門狗數(shù)據(jù)寄存器,復(fù)位信號(hào)發(fā)生器,控制邏輯等11.3 S3C2410 看門狗定時(shí)時(shí)間預(yù)分頻器為8位,其值為:0-255再分頻器可選擇值為:16、32、64、128輸入到計(jì)數(shù)器的時(shí)鐘周期為:T_wtd=1/PCLK/(Prescaler+1)/Division_factor看門狗的定時(shí)周期為:T=WTDAT×T_wtd11.4 例:設(shè)P為,則如何設(shè)置可使的看門狗定時(shí)器工作時(shí)鐘頻率約為KH?在此時(shí)鐘頻率下讓看門狗定時(shí)器定

17、時(shí)半秒鐘,又如何設(shè)置呢?11.5 S3C2410的看門狗控制器編程步驟11.5.1 初始化看門狗控制器11.5.1.1 時(shí)鐘設(shè)置、輸出類型設(shè)置:給WTCON相應(yīng)位賦值;11.5.1.2 計(jì)數(shù)器初始值設(shè)定:給WTCNT相應(yīng)位賦值;11.5.1.3 數(shù)據(jù)寄存器賦值:給WTDAT相應(yīng)位賦值;11.5.2 如果把看門狗作為一個(gè)普通的定時(shí)器使用,還必須把看門狗定時(shí)中斷處理程序填入中斷向量表中,并把相關(guān)的中斷控制寄存器初始化;11.5.3 使能看門狗控制寄存器:給WTCON相應(yīng)位賦值12 PWM定時(shí)器12.1 構(gòu)成12.1.1 S3C2410芯片內(nèi)部擁有 個(gè)16位的Timer部件12.1.2 具有脈寬調(diào)制

18、(pwm)功能,具有PWM脈沖輸出引腳;12.1.3 僅作定時(shí)器用,不具有PWM功能,沒有輸出引腳;12.1.4 有一個(gè)死區(qū)(dead zone)發(fā)生器。答案:5;Timer0、Timer1、Timer2、Timer3;Timer4;Timer012.212.2.1 每個(gè)Timer部件所需的計(jì)數(shù)時(shí)鐘信號(hào)均需系統(tǒng)提供的pclk時(shí)鐘兩次“變速”(預(yù)分頻和再分頻)所得。12.2.2 Timer0、Timer1共享一個(gè)8位的預(yù)分頻器,共享一個(gè)4位的再分頻器;12.2.3 Timer2、Timer3、Timer4共享另一個(gè)8位預(yù)分頻器,共享另外一個(gè)4位的再分頻器;12.3 5個(gè)Time部件最核心的東西是

19、一個(gè) 答案:脈沖減一計(jì)數(shù)器12.4 請(qǐng)描述S3C2410 PWM Timer的操作答案:最開始的時(shí)候,把TCNTB的值設(shè)為3,TCMPB的值設(shè)為1,開啟手動(dòng)更新和自動(dòng)更新,將TCNTB和TCMPB中的值放入TCNT和TCMP中。此時(shí),重新對(duì)TCNTB、TCMPB設(shè)置,分別把值設(shè)置為2和0,并且手動(dòng)更新置0,自動(dòng)更新置1。這時(shí),pwm起始位被置1,pwm定時(shí)器啟動(dòng),開始計(jì)時(shí),tout輸出低電平。TCNT開始自減,每減一次,就與TCMP中的值做比較,如果不同,則繼續(xù)自減,否則,電平發(fā)生翻轉(zhuǎn)。當(dāng)減到0的瞬間,產(chǎn)生pwm中斷信號(hào)。由于自動(dòng)更新被置1,所以,產(chǎn)生中斷信號(hào)后,重新把TCNTB和TCMPB中

20、的值放入TCNT和TCMP中,繼續(xù)進(jìn)行自減,tout恢復(fù)為低電平。當(dāng)?shù)诙€(gè)周期結(jié)束后,pwm的自動(dòng)更新沒有置1,pwm定時(shí)器停止工作。并保持當(dāng)前電平。13 S3C2410 啟動(dòng)代碼分析13.1 安裝中斷向量表:保證異常中斷發(fā)生時(shí)能夠正確執(zhí)行中斷處理程序;13.2 初始化硬件13.2.1 關(guān)閉看門狗:防止處理器不斷復(fù)位13.2.2 屏蔽所有中斷:避免在啟動(dòng)過程中意外觸發(fā)中斷13.2.3 初始化時(shí)鐘和PLL:為ARM920T內(nèi)核及片內(nèi)外設(shè)提供不同頻率的時(shí)鐘信號(hào)13.2.4 初始化存儲(chǔ)系統(tǒng):使處理器能夠正常讀寫外部存儲(chǔ)設(shè)備13.3 初始化系統(tǒng)堆棧:為處理器提供不同工作模式下相應(yīng)的堆??臻g13.4 初

21、始化應(yīng)用程序執(zhí)行環(huán)境:完成重定位及ZI段數(shù)清零13.5 跳轉(zhuǎn)至主函數(shù):執(zhí)行用戶程序一、 填空題1. ARM的完整拼寫形式為 ,ARM處理器內(nèi)部正在執(zhí)行的指令和正在預(yù)取的指令相差 條指令。2. ARM處理器的arm狀態(tài)以外的狀態(tài)的指令的長度為 位。3. ARM三種最基本的尋址方式中,最快尋址方式是 。4. 異步串行通信數(shù)據(jù)格式的特點(diǎn)是一個(gè)字符一個(gè)字符的傳輸,并且傳送一個(gè)字符時(shí)總是以起始位開始,以停止位結(jié)束,其中起始位的邏輯值為 ,停止位的邏輯值為 ,空閑位的邏輯值為 。5. S3C2410串口控制器中,串口0的波特率由寄存器 設(shè)置,其值與時(shí)鐘信號(hào)PCLK、波特率Baud的關(guān)系式 。6. S3C2

22、410 PWM定時(shí)器最核心的部件是 ,其初始值可以通過初始化編程設(shè)置。7. 當(dāng)S3C2410看門狗的定時(shí)器溢出的時(shí)候,可能會(huì)產(chǎn)生兩路輸出 和 。8. S3C2410的RTC控制器的功能提供實(shí)時(shí)時(shí)間、 、 。9. APCS中規(guī)定子程序間傳遞參數(shù),參數(shù)個(gè)數(shù)少于等于4個(gè)時(shí),使用寄存器 ;參數(shù)個(gè)數(shù)多于4個(gè)時(shí),使用 。10. 在ARM處理器中,寄存器間傳送數(shù)據(jù)的指令是 ,寄存器和內(nèi)存單元間傳送數(shù)據(jù)的指令是 ,寄存器和狀態(tài)寄存器間傳送數(shù)據(jù)的指令是 。11. S3C2410是以ARM920T為處理器核的SOC,其芯片內(nèi)部的總線可以分為 、 ,其中,看門狗控制器所連的總線為 。12. 偽操作import的作用是 。偽操作“l(fā)dr r0,=label”的含義是 。二、 簡答題1、 ARM在哪些工作模式下可以修改CPSR寄存器?2、 ARM處理器共有七種工作模式,哪些工作模式屬于特權(quán)模式?哪些工作模式屬于異常模式?3、 ARM處理器有哪些異常中斷?每種異常中斷的入口地址分別是什么?4、 4.S3C2410中斷控制器相關(guān)特殊功能寄存器各有什么作用?5、 中斷發(fā)生時(shí)

溫馨提示

  • 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)論