嵌入式課后習題整理new_第1頁
嵌入式課后習題整理new_第2頁
嵌入式課后習題整理new_第3頁
嵌入式課后習題整理new_第4頁
嵌入式課后習題整理new_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)的定義:在系統(tǒng)中有些計算機是作為某個專用系統(tǒng)中的一個部件而存在的,像這樣“嵌入”到更大、專用的系統(tǒng)中的計算機系統(tǒng),稱之為“嵌入式計算機”、“嵌入式計算機系統(tǒng)”或“嵌入使系統(tǒng)”。嵌入式系統(tǒng)的組成::通常由嵌入式處理器、外圍設備、嵌入式操作系統(tǒng)和應用軟件等幾大部分組成。 實時系統(tǒng)(Real Time System):是指產生系統(tǒng)輸出的時間對系統(tǒng)至關重要的系統(tǒng)。從輸入到輸出的滯后時間必須足夠小到一個可以接受的時限內。 實時系統(tǒng)的分類:根據響應時間可分為3種類型: 1強實時系統(tǒng) 2弱實時系統(tǒng) 3一般實時系統(tǒng)根據確定性可分為2種類型: 1硬實時系統(tǒng) 2軟實時系統(tǒng)實時操作系統(tǒng)(RTOS)是具有實

2、時性且能支持實時控制系統(tǒng)工作的操作系統(tǒng)。 RTOS與通用計算機OS的區(qū)別:實時性:響應速度快,只有幾微秒;執(zhí)行時間確定、可預測;代碼尺寸?。?0100KB,節(jié)省內存空間,降低成本;應用程序開發(fā)較難;需要專用開發(fā)工具:仿真器、編譯器和調試器等。單片機系統(tǒng)、嵌入式系統(tǒng)和SOC系統(tǒng)三者有何區(qū)別和聯系?單片機位的電子器件,內部集成Flash、RAM、總線邏輯、定時器/計數器、WatchDog、I/O,串行口、脈寬調制輸出、A/D,D/A等各種必要的功能模塊和外圍部件。SoC就是System on Chip,SoC是一種基于IP(Intellectual Property)核嵌入式系統(tǒng)設計技術。它結合了

3、許多功能區(qū)塊,將功能做在一個芯片上,ARM RISC、MIPS RISC、DSP或是其他的微處理器核心,加上通信的接口單元交叉開發(fā)環(huán)境:是指實現編譯、鏈接和調試應用程序代碼的環(huán)境與運行應用程序的環(huán)境不同,它分散在有通信連接的宿主機與目標機環(huán)境之中。宿主機(Host)是一臺通用計算機,一般是PC機。它通過串口或網絡連接與目標機通信。目標機(Target) 可以是嵌入式應用軟件的實際運行環(huán)境,也可以是能替代實際環(huán)境的仿真系統(tǒng)。嵌入式系統(tǒng)的調試方法:1源程序模擬器方式 2監(jiān)控器方式 3仿真器方式源程序模擬器(Simulator)是在PC機上,通過軟件手段模擬執(zhí)行為某種嵌入式處理器編寫的源程序的測試工

4、具。監(jiān)控器(Monitor)調試方式需要目標機與宿主機協調。首先,在宿主機和目標機之間通過串口、以太口等建立物理連接,然后在宿主機上運行調試器,目標機運行監(jiān)控程序和被調試程序,從而建立宿主機與目標機的邏輯連接。宿主機通過調試器與目標機的監(jiān)控器建立通信連接,它們相互間的通信遵循遠程調試協議。仿真器調試方式是在微處理器的內部嵌入額外的控制模塊。當特定的觸發(fā)條件滿足時,系統(tǒng)將進入某種特殊狀態(tài)。在這種狀態(tài)下,被調試的程序暫時停止運行,宿主機的調試器通過微處理器外部特設的通信口訪問各種寄存器、存儲器資源,并執(zhí)行相應的調試指令。BSP(板級支持包)由于嵌入式系統(tǒng)中采用微處理器微控制器的多樣性,嵌入式操作系

5、統(tǒng)的可移植性顯得更加重要。所以有些嵌入式操作系統(tǒng)的內核明確分成兩層,上層一般稱為“內核”,而低層則稱為“硬件抽象層”,即BSP。板級支持包的主要功能包括兩部分:在系統(tǒng)啟動時,對硬件進行初始化 為驅動程序提供訪問硬件的手段ARM即Advanced RISC Machines的縮寫ARM處理器的三大特點是:耗電少、成本低、功能強;16位/32位雙指令集;全球眾多合作伙伴保證供應。ARM體系結構的特點: 高的指令吞吐率 出色的實時中斷響應 體積小、性價比高的處理器宏單元ARM內含37個寄存器,其中:31個通用32位寄存器6個狀態(tài)寄存器 指令執(zhí)行的階段計算機中的1條指令的執(zhí)行可以分若干個階段: 取指,

6、從存儲器中取出指令(fetch); 譯碼,指令譯碼(dec): 取操作數,假定操作數從寄存器組中取(reg); 執(zhí)行運算(ALU); 存儲器訪問,操作數與存儲器有關(mem); 結果寫回寄存器(res)。 ARM7 體系結構的3級流水線:采用了3級流水線,分為取指,譯碼和執(zhí)行。ARM9體系結構的5級流水線5級流水線把存儲器的取指與數據存取分開,增加了I-Cache和D-Cache以提高存儲器存取的效率,增加了數據寫回的專門通路和寄存器,以減少數據通路沖突。這樣,5級流水線分為:取指、指令譯碼、執(zhí)行、數據緩存和寫回。 ARM AMBA接口ARM處理器也可以通過先進微控制器總線架構AMBA(Adv

7、anced Microcontroller Bus Architecture)來擴展不同體系架構的宏單元及I/O部件。AMBA事實上已成為片上總線OCB(On Chip Bus)標準。AMBA包括以下三類總線:先進高性能總線AHB先進系統(tǒng)總線ASB先進外圍總線APBARM7TDMI名字原義如下:ARM7 ARM6 32位整數核的3V兼容的版本;T 16位壓縮指令集Thumb;D 在片調試(Debug)支持,允許處理器響應調試請求暫停;M 增強型乘法器(Multiplier),與以前處理器相比性能更高,產生全64位結果;I 嵌入式ICE硬件提供片上斷點和調試點支持。主要特點處理器模 式說 明用戶

8、usr正常程序執(zhí)行模式FIQfiq支持高速數據傳送或通道處理IRQirq用于通用中斷處理管理svc操作系統(tǒng)保護模式中止abt實現虛擬存儲器和/或存儲器保護未定義und支持硬件協處理器的軟件仿真系統(tǒng)sys運行特權操作系統(tǒng)任務采用了3級流水線結構,指令執(zhí)行分為取指、譯碼和執(zhí)行等3個階段;ARM9TDMI主要特點采用指令和數據分離訪問的方式,即采用了指令Cache和數據Cache。用專門硬件來直接完成ARM與Thumb指令的譯碼。ARM9TDMI也有協處理器接口,允許在芯片增加浮點、數字信號處理或其他專用的協處理器。ARM9TDMI也提供相應的軟核。ARM9E-S是具有DSP功能的能執(zhí)行v5TE版A

9、RM指令的ARM9TDMI軟核,當然其芯片面積要增加30。在ARM9流水線設計中,增加專用流水段用于存儲器訪問和將結果寫回到寄存器組。而且,寄存器讀也移到譯碼段。這些改變通過減少在單一時鐘周期內操作最大的邏輯數目,允許更高的時鐘頻率。 ARM920T處理器核是在ARM9TDMI處理器內核基礎上,增加了分離式的指令Cache和數據Cache,并帶有相應的存儲器管理單元I-MMU和D-MMU、寫緩沖器及AMBA接口等。ARM處理器支持下列數據類型:Byte 字節(jié), 8位;Halfword 半字, 16位(半字必須與2字節(jié)邊界對準);Word 字,32 位(字必須與4字節(jié)邊界對準)。ARM體系結構支

10、持7種處理器模式。處理器模式說明用戶usr正常程序執(zhí)行模式FIQFiq支持高速數據傳送或通道處理IRQirq用于通用中斷處理管理svc操作系統(tǒng)保護模式中止abt實現虛擬存儲器和/或存儲器保護未定義und支持硬件協處理器的軟件仿真系統(tǒng)sys運行特權操作系統(tǒng)任務硬件啟動程序的工作一般包括:(1) 分配中斷向量表(2) 初始化存儲器系統(tǒng)(3) 初始化各工作模式下的堆棧(4) 初始化有特殊要求的硬件模塊(5) 初始化用戶程序的執(zhí)行環(huán)境(6) 切換處理器的工作模式(7) 呼叫主應用程序C語言與匯編語言混合編程應遵守的規(guī)則在C程序和ARM匯編程序之間相互調用時必須遵守ATPCS規(guī)則。ATPCS規(guī)定了一些子

11、程序間調用的基本規(guī)則,比如:寄存器的使用規(guī)則子程序之間通過寄存器r0r3來傳遞參數,當參數個數多于4個時,使用堆棧來傳遞參數。在子程序中,使用寄存器r4r11保存局部變量。寄存器r12用于保存堆棧指針SP,當子程序返回時使用該寄存器出棧,記作IP。寄存器r13用作堆棧指針,記作SP。寄存器r14稱為鏈接寄存器,記作LR。該寄存器用于保存子程序的返回地址。寄存器r15稱為程序計數器,記作PC。 堆棧的使用規(guī)則堆棧采用滿遞減類型(FD,Full Descending),即堆棧通過減小存儲器地址而向下增長,堆棧指針指向內含有效數據項的最低地址。 參數的傳遞規(guī)則整數參數的前4個使用r0r3傳遞,其他參

12、數使用堆棧傳遞;浮點參數使用編號最小且能夠滿足需要的一組連續(xù)的FP寄存器傳遞參數子程序的返回結果為一個32位整數時,通過r0返回;返回結果為一個64位整數時,通過r0和r1返回;依此類推。結果為浮點數時,通過浮點運算部件的寄存器F0、D0或S0返回 匯編程序調用C程序的方法為:首先在匯編程序中使用IMPORT偽指令事先聲明將要調用的C語言函數;然后通過BL指令來調用C函數。 例如在一個C源文件中定義了如下求和函數:int add(int x,int y) return(x+y);調用add()函數的匯編程序結構如下: IMPORT add ;聲明要調用的C函數MOV r0,1MOV r1,2B

13、L add ;調用C函數addC程序調用匯編子程序的方法為:首先在匯編程序中使用EXPORT偽指令聲明被調用的子程序,表示該子程序將在其他文件中被調用;然后在C程序中使用extern關鍵字聲明要調用的匯編子程序為外部函數。 例如在一個匯編源文件中定義了如下求和函數:EXPORT add ;聲明add子程序將被外部函數調用add ;求和子程序add ADD r0,r0,r1 MOV pc,lr 在一個C程序的main()函數中對add匯編子程序進行了調用:extern int add(int x,int y); /聲明add為外部函數void main() int a=1,b=2,c; c=ad

14、d(a,b); /調用add子程序 S3C2410A的I/O口工作原理 接口:是微處理器(CPU)與外界的連接部分(電路),是CPU與外界世界進行信息交換的中轉站。接口技術研究的是CPU如何與外部世界進行最佳耦合與匹配,以實現雙方高效、可靠地進行信息交換的技術。端口:在接口電路中通常包含若干個寄存器,數據傳送時,不同的信息送入不同的寄存器,能夠用IN/OUT指令對其進行讀/寫操作的寄存器稱為端口寄存器,簡稱“端口”端口分類:數據端口、狀態(tài)端口和控制端口與配置I/O口相關的寄存器包括:端口控制寄存器(GPACONGPHCON)端口數據寄存器(GPADATGPHDAT)端口上拉寄存器(GPBUPG

15、PHUP)雜項控制寄存器外部中斷控制寄存器(EXTINTN)ARM系統(tǒng)包括兩類中斷:一是IRQ中斷,一是FIQ中斷。處理中斷的步驟如下:(1)保存現場。保存當前的PC值到R14,保存當前的程序運行狀態(tài)到SPSR。(2)模式切換。根據發(fā)生的中斷類型,進入IRQ模式或FIQ模式。(3)獲取中斷源。以異常向量表保存在低地址處為例,若是IRQ中斷,則PC指針跳到0x18處;若是FIQ中斷,則跳到0x1C處。IRQ或FIQ的異常向量地址處一般保存的是中斷服務子程序的地址,所以接下來PC指針跳入中斷服務子程序處理中斷。(4)中斷處理。為各種中斷定義不同的優(yōu)先級別,并為每一個中斷設置一個中斷標志位。當發(fā)生中

16、斷時,通過判斷中斷優(yōu)先級以及訪問中斷標志位的狀態(tài)來識別到底哪一個中斷發(fā)生了。進而調用相應的函數進行中斷處理。(5)中斷返回,恢復現場。當完成中斷服務子程序后,將SPSR中保存的程序運行狀態(tài)恢復到CPSR中,R14中保存的被中斷程序的地址恢復到PC中,進而繼續(xù)執(zhí)行被中斷的程序。通過對G口的操作控制CPU板左下角的LED1和LED2實現輪流閃爍。void Main(void) int flag, i; Target_Init(); /進行硬件初始化操作,包括對I/O口的初始化操作 for(;) if(flag=0) for(i=0;i1000000;i+); /延時 rGPGCON = rGPGCON & 0xfff0ffff | 0x00050000; /配置第8、第9位為輸出引腳 rGPGDAT = rGPGDAT & 0xeff | 0x200; /第8位輸出為低電平 第9位輸

溫馨提示

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

評論

0/150

提交評論