總復習-嵌入式部分參考PPT_第1頁
總復習-嵌入式部分參考PPT_第2頁
總復習-嵌入式部分參考PPT_第3頁
總復習-嵌入式部分參考PPT_第4頁
總復習-嵌入式部分參考PPT_第5頁
已閱讀5頁,還剩96頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、第二部分嵌入式系統及應用,2,課程內容,嵌入式系統硬件基礎 ARM簡介與ARM體系結構 ARM指令集與程序設計 嵌入式系統軟件基礎 嵌入式系統開發基礎,第一講嵌入式系統硬件基礎,4,OUTLINE,1.1 嵌入式系統硬件組成 1.2 嵌入式微處理器 1.3 嵌入式系統常用總線與接口 1.4 嵌入式系統的常用外設 1.5 本章小結,5,1.1 嵌入式系統硬件組成,1.1.1 嵌入式系統組成原理 1.1.2 嵌入式最小系統 1.1.3 嵌入式系統擴展,6,1.1.1 嵌入式系統組成原理,計算機系統的一般運行原理 嵌入式系統與通用計算機硬件組成的異同 嵌入式系統硬件結構,7,嵌入式系統的硬件結構,嵌

2、入式系統硬件結構的特點: 以嵌入式處理器為核心,集成度高 嵌入式系統的組成結構: 處理器(內核+片內外設)+內存+外圍硬件+輔助設備 嵌入式處理器一般除了CPU之外還可以包括很多外部設備,甚至包括內存,8,1.1.2 嵌入式最小系統,嵌入式最小系統的概念 嵌入式最小系統的組成 JTAG接口在最小系統中的應用 實際的嵌入式最小系統,9,嵌入式最小系統的概念,對于同一款嵌入式處理器可以構造成規模不等、復雜程序不同的系統 對于同一款處理器而言,存在著一個最基本的系統 最基本系統的條件: 以某個處理器為核心的嵌入式系統中,處理器可以運行程序,10,嵌入式最小系統的作用,嵌入式最小系統的作用: 構建嵌入

3、式系統的第一步,保證嵌入式處理器可以運行 實際嵌入式系統的基礎 逐步增加系統的功能,如:外圍硬件擴展、軟件及程序設計、操作系統移植、增加各種接口等,最終形成符合需求的完整系統,11,嵌入式最小系統的組成,ARM嵌入式最小系統,12,嵌入式最小系統的組成,嵌入式系統最小系統組成部分: 處理器 內存 時鐘 調試接口 電源和復位,13,JTAG接口在最小系統中的應用,使用JTAG的最小系統構建方式,14,實際的嵌入式最小系統,最小系統中的各部件,15,1.1.3 嵌入式系統擴展,內存類芯片 網絡芯片 USB芯片,16,1.2.1 嵌入式處理器的基本特征 1.2.2 嵌入式處理器的種類 1.2.3 典

4、型嵌入式處理器 1.2.4 嵌入式處理器的選型方法 1.2.5 嵌入式處理器的發展趨勢,1.2 嵌入式微處理器,17,體積小、集成度高、價格較低 可擴展的處理器結構 功耗很低 對實時多任務有很強的支持能力 具有功能很強的存儲區保護功能,1.2.1 嵌入式處理器的基本特征,18,嵌入式處理器種類,1.2.2 嵌入式處理器的種類,19,1.2.3 典型嵌入式處理器,8051單片機 ARM 68K/Coldfire PowerPC MIPS X86 國產嵌入式處理器,20,小體積、低功耗、高性能而低成本 RISC(Reduced Instruction Set Computer )體系結構 16/3

5、2位雙指令集 16位Thumb指令集:密度高,所占存儲空間較小 32位的ARM指令集:處理32位數據時性能較高 全球眾多的合作伙伴,ARM內核及ARM處理器的特點,21,1.2.4 嵌入式處理器的選型方法,主要包括以下4項選型原則: (1) 根據具體應用領域選擇MPU/MCU/DSP/SoC中的一種 (2) 根據具體應用功能需求、性能指標、運行環境和成本預算等選擇芯片的具體型號和配置參數 (3) 關注生產廠商是否提供相應內置硬件調試工具和評估板 (4) 對于32位及以上嵌入式處理器,關注是否有合適的嵌入式操作系統支持,22,1.2.5 嵌入式處理器的發展趨勢,(1) 集成化與微型化 (2) 高

6、性能與低成本 (3) 低功耗 (4) 硬件功能實現的可編程化,23,1.3 嵌入式系統的常用接口及總線,1.3.1 外設接口 1.3.2 通信接口,24,1.4 嵌入式系統的常用外設,1.4.1 輸入設備 1.4.2 輸出設備 1.4.3 存儲設備,25,1.5 本章小結,嵌入式最小系統 嵌入式微處理器:硬件系統核心部件 基本特征、種類與典型系列、選型方法、發展趨勢 常用接口與總線 外設接口、通信接口 常用外設 輸入設備、輸出設備,第三講ARM簡介與體系結構,27,OUTLINE,3.1 ARM簡介 3.2 RISC體系結構 3.3 ARM編程模型,28,3.1 ARM簡介,ARM公司簡介,將

7、技術授權給其它芯片廠商,形成各具特色的ARM芯片,29,ARM體系結構,ARM處理器為RISC芯片,簡單的結構使得: ARM內核非常小 器件的功耗非常低 具有經典RISC的特點,為了清楚的表達每個ARM應用實例所使用的指令集,ARM公司定義了7種主要的ARM指令集體系結構版本,以版本號v1v7表示 v1v3目前已廢棄,30,ARM處理器核簡介,ARM公司開發了很多系列的ARM處理器核 如:ARM7、ARM9、ARM10、ARM11等系列 ARM6核以及更早的系列已很少見 目前應用比較廣泛的系列是:,ARM7,ARM9,ARM9E,ARM10,SecurCore,Xscale,ARM11,Cor

8、tex,31,注意:“ARM核”并不是芯片 ARM核RAM、ROM、片內外設等組合在一起才能構成現實的芯片,32,一、RISC 的產生和發展,80 20 規律,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技術,3.2 RISC體系結構的繼承,33,二、RISC 的主要特征,選用使用頻率較高的一些 簡單指令 復雜指令的功能由簡單指令來組合,指令 長度固定,只有 LOAD / STORE 指令訪存,流水技術 一個時鐘周期 內完成一條指令,組合邏輯 實現控制器,多個 通用 寄存器

9、,采用 優化 的 編譯 程序,34,三、ARM內核RISC架構的特別技術,所有的指令可根據前面的執行結果決定是否 被執行,可用加載/存儲指令批量傳輸數據,可在一條數據處理指令中同時完成邏輯處理 和移位處理,在循環處理中使用地址的自動增減來提高運 行效率,35,ARM7:三級流水,ARM9:五級流水,ARM10:六級流水,四、ARM的流水線技術,36,一、存儲數據類型、存儲格式,ARM處理器支持下列數據類型: 字節 8位 半字 16位(必須分配為占用兩個字節) 字 32位(必須分配為占用4個字節),字對齊、半字對齊,3.3 ARM編程模型,37,存儲格式,大端格式,字數據的高字節存儲在低地址中,

10、38,小端格式,字數據的高字節存儲在高地址中,存儲格式,39,ARM體系結構支持下表所列的7種處理器模式,二、處理器模式,40,41,42,三、雙指令集與處理器工作狀態,雙指令集 16位Thumb指令集:密度高,所占存儲空間較小 32位的ARM指令集:處理32位數據時性能較高,處理器工作狀態 Thumb狀態:執行半字對準的Thumb指令 ARM狀態 :執行字對準的ARM指令 可以切換,不影響運行模式和寄存器的內容,43,四、寄存器組,31個通用寄存器 6個狀態寄存器,44,通用寄存器 未分組寄存器R0R7 所有運行模式下,都指向同一個物理寄存器 分組寄存器R8R14 每一次訪問的物理寄存器與處

11、理器當前的運行模式有關 程序計數器R15 ARM狀態 :位1:0為0,位31:2用于保存PC; Thumb狀態:位0為0,位31:1用于保存PC; 寄存器R16 當前程序狀態寄存器,1、ARM狀態下的寄存器組,45,46,2、Thumb狀態下的寄存器組,47,兩種狀態下的寄存器組對應關系,48,1個當前程序狀態寄存器(CPSR) 5個備份的程序狀態寄存器(SPSR,供異常處理使用) 備份的狀態程序寄存器功能: 保存ALU中的當前操作信息 控制允許和禁止中斷 設置處理器的運行模式,3、程序狀態寄存器,49,五、異常與中斷處理,1、ARM支持的異常類型 復位 未定義指令 軟件中斷 中止 指令預取中

12、止 及 數據中止 IRQ FIQ,50,復位 高 數據中止 FIQ IRQ 預取指令中止 未定義指令,SWI 低,2、異常的優先級,51,3、應用程序中的異常處理 在異常向量表中的特定位置放置一條跳轉指令,跳轉到異常處理程序。 4、異常的響應過程 將下一條指令的地址存入相應連接寄存器LR 將CPSR復制到相應的SPSR中 根據異常類型,強制設置CPSR的運行模式 強制PC從相關的異常向量地址取下一條指令執行,52,5、異常的返回過程 將連接寄存器LR的值減去相應的偏移量送到PC中 將SPSR復制到相應的CPSR中 若設置了中斷禁止位,則清除 復位異常處理程序不需要返回,第四講ARM指令集和程序

13、設計,54,OUTLINE,4.1 ARM指令基本尋址方式 4.2 ARM指令分類說明 4.3 ARM 匯編語言程序設計 4.4 ARM高級語言程序設計,55,4.1 ARM指令基本尋址方式,確定 本條指令 的 操作數地址 下一條 欲執行 指令 的 指令地址,尋址方式,56,4.2 ARM指令分類說明,數據處理指令 跳轉指令 Load/Stroe指令 程序狀態寄存器指令 協處理器指令 異常中斷指令,ARM指令集,57,4.3 ARM匯編語言程序設計,常用ARM源程序文件類型,58,4.4 ARM高級語言程序設計,一、匯編程序中訪問C程序變量,在C中聲明的全局變量可以被匯編程序通過地址間接訪問,

14、訪問方法: 使用IMPORT偽操作聲明全局變量 使用LDR指令讀取該全局變量的內存地址 根據數據的類型,使用相應的LDR指令讀取該全局變 量的值;使用相應的STR指令修改該全局變量的值,59,4.4,二、C程序中內嵌匯編指令,在ARM的C程序中可用關鍵詞_ _asm加入一段匯編程序,格式:,60,4.4,在C語言中嵌入ARM匯編時需注意的幾個問題,匯編中不能再使用“;”作為注釋行的開頭,而應使用C 語言中的“/*/”或者“/”進行注釋 不能使用一個物理寄存器去改變一個C變量 對于內嵌的匯編代碼用到的寄存器,編譯器在編譯時 會自動加入保存和恢復這些寄存器的代碼而不用用戶 去管理 不支持ADR、A

15、DRL偽指令 不能用PC寄存器返回當前指令的地址 不支持內存分配的偽操作,61,4.4,三、匯編、C以及C+的相互調用,1、C程序調用匯編程序,使用extern關鍵詞表明strcopy函數是本文件之外定義的,62,表明該函數是一個全局的函數并可以被其他文件使用,注: 匯編程序使用r0-r3來傳遞函數的第1-4個參數 若參數多于4個,則多余的參數將被壓入堆棧,63,4.4,2、匯編程序調用C程序,64,ARM微處理器系列,ARM7 ARM9 ARM9E ARM10E ARM11 SecurCore Intel的StrongARM、Xscale 目前仍在不斷發展,第二講嵌入式系統軟件基礎,66,2

16、.1 嵌入式操作系統的種類 2.2 嵌入式實時操作系統 2.3 嵌入式軟實時操作系統 2.4 嵌入式操作系統的選擇方法 2.5 嵌入式操作系統的發展趨勢,OUTLINE,67,1. 按實時性能分類 按能否滿足實時性要求,可分為 嵌入式實時操作系統 嵌入式非實時操作系統,2.1 嵌入式操作系統的種類,68,(1) 嵌入式實時操作系統 Real-Time Operating System 也稱為嵌入式硬實時操作系統 主要功能:對多個外部事件,尤其是異步事件 進行實時處理,69,典型的嵌入式實時操作系統 VxWorks pSOSystem QNX Nucleus C/OS等,70,(2) 嵌入式非實

17、時操作系統 又稱為“嵌入式軟實時操作系統” 典型代表是嵌入式分時操作系統 也是一種多任務操作系統 任務調度采用時間片輪轉方式 大的任務吞吐量,71,典型的嵌入式軟實時操作系統 Window CE Palm EPOC Embedded Linux等,72,2. 按購買方式分類 商用型 免費型,73,3. 按源碼是否開放分類 開放源碼型 黑箱型,74,4. 按知識產權分類 國外嵌入式操作系統 自主知識產權型嵌入式操作系統,75,2.2 嵌入式實時操作系統,VxWorks pSOSystem C/OS,76,2.3 嵌入式軟實時操作系統,PalmOS Windows CE EPOC Embedded

18、 Linux,77,(1) 內核的大小與性能 (2) 外掛模塊/組件的豐富性 (3) 可裁減性 (4) 對不同硬件平臺的可移植性 (5) 開發環境的完備性 (6) 服務與價格等,2.4 嵌入式操作系統的選擇標準,78,2.5 嵌入式操作系統的發展趨勢,(1) 嵌入式操作系統的標準化研究 (2) 實時超微內核 (3) 多處理器結構與分布式 (4) 集成與開放的開發環境,79,2.6 本章小結,幾種典型的嵌入式實時操作系統和嵌入式軟實時操作系統 特色 優缺點 常見應用領域,第六講嵌入式系統開發基礎,81,6.1 嵌入式系統開發基本模式 6.2 嵌入式系統選型原則 6.3 嵌入式系統硬件開發 6.4

19、 嵌入式系統軟件開發,OUTLINE,82,6.1 嵌入式系統開發基本模式,一、嵌入式系統開發特點,嵌入式系統開發特點,常規計算機應用項目開發特點,通用性、標準性;軟硬件開發相對分離,軟硬件協同開發,原因: 專用計算機系統、特定的硬件構成、特定軟件 嵌入式產品是軟硬件的結合體,83,6.1,二、嵌入式系統開發過程,Yes,No,84,6.2 嵌入式系統選型原則,一、硬件平臺選擇,主要是嵌入式處理器的選擇,85,二、嵌入式操作系統選擇,6.2,體積小、執行速度快 具有較好的可裁剪性和可移植性 需要操作系統的支持 支持多任務并具有實時性 強大的聯網功能 窗口交互功能,1、對嵌入式軟件的要求,86,

20、6.2,2、嵌入式操作系統選擇考慮因素,操作系統的硬件支持 是否支持目標硬件平臺 可移植性 開發工具的支持程度 能否滿足應用需求 對操作系統性能的需求 中文內核支持 標準兼容性 技術支持 源代碼還是目標代碼 許可 自建操作系統,87,6.3 嵌入式硬件開發,開發流程: 需求分析 軟硬件協同設計 軟硬件實現 軟硬件協同測試和驗證,特點:協同設計、協同測試、協同驗證,軟、硬件協同開發,88,6.4 嵌入式軟件開發,嵌入式軟件開發工具的分類 嵌入式軟件的交叉開發環境 嵌入式軟件實現階段的開發過程 實時軟件分析設計方法 嵌入式軟件開發工具的發展趨勢,89,嵌入式軟件的交叉開發環境,交叉開發環境是指用于

21、嵌入式軟件開發的所有工具軟件的集合,一般包括: 文本編輯器 交叉編譯器 交叉調試器 仿真器 下載器等 交叉開發環境由宿主機和目標機組成,宿主機與目標機之間在物理連接的基礎上建立起邏輯連接。,6.4,90,交叉開發環境,目標機硬件,目標機應用系統, 應用軟件, 應用中間件, 目標機,OS,宿主機硬件,宿主機,OS,調,試,代,理,運,行,庫,宿主機開發環境, 編輯, 編譯, 連接, 調試,運行平臺,Target,開發平臺,Host,DownLoad,6.4,91,宿主機(Host) :是用于開發嵌入式系統的計算機。一般為PC機(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發提供全過程支持。 目標機(Target):即所開發的嵌入式系統,是嵌入式軟件的運行環境,其硬件軟件是為特定應用定制的。 在開發過程中,目標機端需接收和執行宿主機發出的各種命令如設置斷點、讀內存、寫內存等,將結果返回給宿主機,配合宿主機各方面的工作。,6.4,92,物理連接和邏輯連接 物理連接是指宿主機與目標機通過物理線路連接在一起,連接方式主要有三種: 串口 以太口 OCD(On Chip Debug)方式,如JTAG、BDM等 物理連接是邏輯連接的基礎。 邏輯連接指宿主機與目標機間按

溫馨提示

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

評論

0/150

提交評論