嵌入式系統原理arm復習_第1頁
嵌入式系統原理arm復習_第2頁
嵌入式系統原理arm復習_第3頁
嵌入式系統原理arm復習_第4頁
嵌入式系統原理arm復習_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

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

15、系統穩定性原理答案:設一系統程序完整運行一周期的時間是Tp,看門狗的定時周期為Ti,要求Ti>Tp。在程序運行一周期后,修改定時器的計數值,只要程序正常運行,定時器就不會溢出。若由于干擾等原因使系統不能在Tp 時刻修改定時器的計數值,定時器將在Ti 時刻溢出,引發系統復位,使系統得以重新運行,從而起到監控作用。11.2 看門狗定時器的結構與工作原理11.2.1 S3C2410看門狗的功能11.2.1.1 定時器功能:可以作為常規定時器使用,它是一個十六位的定時器,并且可以產生中斷,中斷名為INT_WDT,中斷號是0x09。11.2.1.2 復位功能:作為看門狗定時器使用,當時鐘計數減為0

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

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

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

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

20、的值放入TCNT和TCMP中,繼續進行自減,tout恢復為低電平。當第二個周期結束后,pwm的自動更新沒有置1,pwm定時器停止工作。并保持當前電平。13 S3C2410 啟動代碼分析13.1 安裝中斷向量表:保證異常中斷發生時能夠正確執行中斷處理程序;13.2 初始化硬件13.2.1 關閉看門狗:防止處理器不斷復位13.2.2 屏蔽所有中斷:避免在啟動過程中意外觸發中斷13.2.3 初始化時鐘和PLL:為ARM920T內核及片內外設提供不同頻率的時鐘信號13.2.4 初始化存儲系統:使處理器能夠正常讀寫外部存儲設備13.3 初始化系統堆棧:為處理器提供不同工作模式下相應的堆棧空間13.4 初

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

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

溫馨提示

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

評論

0/150

提交評論