




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、第二部分嵌入式系統(tǒng)及應(yīng)用,2,課程內(nèi)容,嵌入式系統(tǒng)硬件基礎(chǔ) ARM簡介與ARM體系結(jié)構(gòu) ARM指令集與程序設(shè)計 嵌入式系統(tǒng)軟件基礎(chǔ) 嵌入式系統(tǒng)開發(fā)基礎(chǔ),第一講嵌入式系統(tǒng)硬件基礎(chǔ),4,OUTLINE,1.1 嵌入式系統(tǒng)硬件組成 1.2 嵌入式微處理器 1.3 嵌入式系統(tǒng)常用總線與接口 1.4 嵌入式系統(tǒng)的常用外設(shè) 1.5 本章小結(jié),5,1.1 嵌入式系統(tǒng)硬件組成,1.1.1 嵌入式系統(tǒng)組成原理 1.1.2 嵌入式最小系統(tǒng) 1.1.3 嵌入式系統(tǒng)擴展,6,1.1.1 嵌入式系統(tǒng)組成原理,計算機系統(tǒng)的一般運行原理 嵌入式系統(tǒng)與通用計算機硬件組成的異同 嵌入式系統(tǒng)硬件結(jié)構(gòu),7,嵌入式系統(tǒng)的硬件結(jié)構(gòu),嵌
2、入式系統(tǒng)硬件結(jié)構(gòu)的特點: 以嵌入式處理器為核心,集成度高 嵌入式系統(tǒng)的組成結(jié)構(gòu): 處理器(內(nèi)核+片內(nèi)外設(shè))+內(nèi)存+外圍硬件+輔助設(shè)備 嵌入式處理器一般除了CPU之外還可以包括很多外部設(shè)備,甚至包括內(nèi)存,8,1.1.2 嵌入式最小系統(tǒng),嵌入式最小系統(tǒng)的概念 嵌入式最小系統(tǒng)的組成 JTAG接口在最小系統(tǒng)中的應(yīng)用 實際的嵌入式最小系統(tǒng),9,嵌入式最小系統(tǒng)的概念,對于同一款嵌入式處理器可以構(gòu)造成規(guī)模不等、復(fù)雜程序不同的系統(tǒng) 對于同一款處理器而言,存在著一個最基本的系統(tǒng) 最基本系統(tǒng)的條件: 以某個處理器為核心的嵌入式系統(tǒng)中,處理器可以運行程序,10,嵌入式最小系統(tǒng)的作用,嵌入式最小系統(tǒng)的作用: 構(gòu)建嵌入
3、式系統(tǒng)的第一步,保證嵌入式處理器可以運行 實際嵌入式系統(tǒng)的基礎(chǔ) 逐步增加系統(tǒng)的功能,如:外圍硬件擴展、軟件及程序設(shè)計、操作系統(tǒng)移植、增加各種接口等,最終形成符合需求的完整系統(tǒng),11,嵌入式最小系統(tǒng)的組成,ARM嵌入式最小系統(tǒng),12,嵌入式最小系統(tǒng)的組成,嵌入式系統(tǒng)最小系統(tǒng)組成部分: 處理器 內(nèi)存 時鐘 調(diào)試接口 電源和復(fù)位,13,JTAG接口在最小系統(tǒng)中的應(yīng)用,使用JTAG的最小系統(tǒng)構(gòu)建方式,14,實際的嵌入式最小系統(tǒng),最小系統(tǒng)中的各部件,15,1.1.3 嵌入式系統(tǒng)擴展,內(nèi)存類芯片 網(wǎng)絡(luò)芯片 USB芯片,16,1.2.1 嵌入式處理器的基本特征 1.2.2 嵌入式處理器的種類 1.2.3 典
4、型嵌入式處理器 1.2.4 嵌入式處理器的選型方法 1.2.5 嵌入式處理器的發(fā)展趨勢,1.2 嵌入式微處理器,17,體積小、集成度高、價格較低 可擴展的處理器結(jié)構(gòu) 功耗很低 對實時多任務(wù)有很強的支持能力 具有功能很強的存儲區(qū)保護功能,1.2.1 嵌入式處理器的基本特征,18,嵌入式處理器種類,1.2.2 嵌入式處理器的種類,19,1.2.3 典型嵌入式處理器,8051單片機 ARM 68K/Coldfire PowerPC MIPS X86 國產(chǎn)嵌入式處理器,20,小體積、低功耗、高性能而低成本 RISC(Reduced Instruction Set Computer )體系結(jié)構(gòu) 16/3
5、2位雙指令集 16位Thumb指令集:密度高,所占存儲空間較小 32位的ARM指令集:處理32位數(shù)據(jù)時性能較高 全球眾多的合作伙伴,ARM內(nèi)核及ARM處理器的特點,21,1.2.4 嵌入式處理器的選型方法,主要包括以下4項選型原則: (1) 根據(jù)具體應(yīng)用領(lǐng)域選擇MPU/MCU/DSP/SoC中的一種 (2) 根據(jù)具體應(yīng)用功能需求、性能指標(biāo)、運行環(huán)境和成本預(yù)算等選擇芯片的具體型號和配置參數(shù) (3) 關(guān)注生產(chǎn)廠商是否提供相應(yīng)內(nèi)置硬件調(diào)試工具和評估板 (4) 對于32位及以上嵌入式處理器,關(guān)注是否有合適的嵌入式操作系統(tǒng)支持,22,1.2.5 嵌入式處理器的發(fā)展趨勢,(1) 集成化與微型化 (2) 高
6、性能與低成本 (3) 低功耗 (4) 硬件功能實現(xiàn)的可編程化,23,1.3 嵌入式系統(tǒng)的常用接口及總線,1.3.1 外設(shè)接口 1.3.2 通信接口,24,1.4 嵌入式系統(tǒng)的常用外設(shè),1.4.1 輸入設(shè)備 1.4.2 輸出設(shè)備 1.4.3 存儲設(shè)備,25,1.5 本章小結(jié),嵌入式最小系統(tǒng) 嵌入式微處理器:硬件系統(tǒng)核心部件 基本特征、種類與典型系列、選型方法、發(fā)展趨勢 常用接口與總線 外設(shè)接口、通信接口 常用外設(shè) 輸入設(shè)備、輸出設(shè)備,第三講ARM簡介與體系結(jié)構(gòu),27,OUTLINE,3.1 ARM簡介 3.2 RISC體系結(jié)構(gòu) 3.3 ARM編程模型,28,3.1 ARM簡介,ARM公司簡介,將
7、技術(shù)授權(quán)給其它芯片廠商,形成各具特色的ARM芯片,29,ARM體系結(jié)構(gòu),ARM處理器為RISC芯片,簡單的結(jié)構(gòu)使得: ARM內(nèi)核非常小 器件的功耗非常低 具有經(jīng)典RISC的特點,為了清楚的表達(dá)每個ARM應(yīng)用實例所使用的指令集,ARM公司定義了7種主要的ARM指令集體系結(jié)構(gòu)版本,以版本號v1v7表示 v1v3目前已廢棄,30,ARM處理器核簡介,ARM公司開發(fā)了很多系列的ARM處理器核 如:ARM7、ARM9、ARM10、ARM11等系列 ARM6核以及更早的系列已很少見 目前應(yīng)用比較廣泛的系列是:,ARM7,ARM9,ARM9E,ARM10,SecurCore,Xscale,ARM11,Cor
8、tex,31,注意:“ARM核”并不是芯片 ARM核RAM、ROM、片內(nèi)外設(shè)等組合在一起才能構(gòu)成現(xiàn)實的芯片,32,一、RISC 的產(chǎn)生和發(fā)展,80 20 規(guī)律,RISC(Reduced Instruction Set Computer),CISC(Complex Instruction Set Computer), RISC技術(shù),3.2 RISC體系結(jié)構(gòu)的繼承,33,二、RISC 的主要特征,選用使用頻率較高的一些 簡單指令 復(fù)雜指令的功能由簡單指令來組合,指令 長度固定,只有 LOAD / STORE 指令訪存,流水技術(shù) 一個時鐘周期 內(nèi)完成一條指令,組合邏輯 實現(xiàn)控制器,多個 通用 寄存器
9、,采用 優(yōu)化 的 編譯 程序,34,三、ARM內(nèi)核RISC架構(gòu)的特別技術(shù),所有的指令可根據(jù)前面的執(zhí)行結(jié)果決定是否 被執(zhí)行,可用加載/存儲指令批量傳輸數(shù)據(jù),可在一條數(shù)據(jù)處理指令中同時完成邏輯處理 和移位處理,在循環(huán)處理中使用地址的自動增減來提高運 行效率,35,ARM7:三級流水,ARM9:五級流水,ARM10:六級流水,四、ARM的流水線技術(shù),36,一、存儲數(shù)據(jù)類型、存儲格式,ARM處理器支持下列數(shù)據(jù)類型: 字節(jié) 8位 半字 16位(必須分配為占用兩個字節(jié)) 字 32位(必須分配為占用4個字節(jié)),字對齊、半字對齊,3.3 ARM編程模型,37,存儲格式,大端格式,字?jǐn)?shù)據(jù)的高字節(jié)存儲在低地址中,
10、38,小端格式,字?jǐn)?shù)據(jù)的高字節(jié)存儲在高地址中,存儲格式,39,ARM體系結(jié)構(gòu)支持下表所列的7種處理器模式,二、處理器模式,40,41,42,三、雙指令集與處理器工作狀態(tài),雙指令集 16位Thumb指令集:密度高,所占存儲空間較小 32位的ARM指令集:處理32位數(shù)據(jù)時性能較高,處理器工作狀態(tài) Thumb狀態(tài):執(zhí)行半字對準(zhǔn)的Thumb指令 ARM狀態(tài) :執(zhí)行字對準(zhǔn)的ARM指令 可以切換,不影響運行模式和寄存器的內(nèi)容,43,四、寄存器組,31個通用寄存器 6個狀態(tài)寄存器,44,通用寄存器 未分組寄存器R0R7 所有運行模式下,都指向同一個物理寄存器 分組寄存器R8R14 每一次訪問的物理寄存器與處
11、理器當(dāng)前的運行模式有關(guān) 程序計數(shù)器R15 ARM狀態(tài) :位1:0為0,位31:2用于保存PC; Thumb狀態(tài):位0為0,位31:1用于保存PC; 寄存器R16 當(dāng)前程序狀態(tài)寄存器,1、ARM狀態(tài)下的寄存器組,45,46,2、Thumb狀態(tài)下的寄存器組,47,兩種狀態(tài)下的寄存器組對應(yīng)關(guān)系,48,1個當(dāng)前程序狀態(tài)寄存器(CPSR) 5個備份的程序狀態(tài)寄存器(SPSR,供異常處理使用) 備份的狀態(tài)程序寄存器功能: 保存ALU中的當(dāng)前操作信息 控制允許和禁止中斷 設(shè)置處理器的運行模式,3、程序狀態(tài)寄存器,49,五、異常與中斷處理,1、ARM支持的異常類型 復(fù)位 未定義指令 軟件中斷 中止 指令預(yù)取中
12、止 及 數(shù)據(jù)中止 IRQ FIQ,50,復(fù)位 高 數(shù)據(jù)中止 FIQ IRQ 預(yù)取指令中止 未定義指令,SWI 低,2、異常的優(yōu)先級,51,3、應(yīng)用程序中的異常處理 在異常向量表中的特定位置放置一條跳轉(zhuǎn)指令,跳轉(zhuǎn)到異常處理程序。 4、異常的響應(yīng)過程 將下一條指令的地址存入相應(yīng)連接寄存器LR 將CPSR復(fù)制到相應(yīng)的SPSR中 根據(jù)異常類型,強制設(shè)置CPSR的運行模式 強制PC從相關(guān)的異常向量地址取下一條指令執(zhí)行,52,5、異常的返回過程 將連接寄存器LR的值減去相應(yīng)的偏移量送到PC中 將SPSR復(fù)制到相應(yīng)的CPSR中 若設(shè)置了中斷禁止位,則清除 復(fù)位異常處理程序不需要返回,第四講ARM指令集和程序
13、設(shè)計,54,OUTLINE,4.1 ARM指令基本尋址方式 4.2 ARM指令分類說明 4.3 ARM 匯編語言程序設(shè)計 4.4 ARM高級語言程序設(shè)計,55,4.1 ARM指令基本尋址方式,確定 本條指令 的 操作數(shù)地址 下一條 欲執(zhí)行 指令 的 指令地址,尋址方式,56,4.2 ARM指令分類說明,數(shù)據(jù)處理指令 跳轉(zhuǎn)指令 Load/Stroe指令 程序狀態(tài)寄存器指令 協(xié)處理器指令 異常中斷指令,ARM指令集,57,4.3 ARM匯編語言程序設(shè)計,常用ARM源程序文件類型,58,4.4 ARM高級語言程序設(shè)計,一、匯編程序中訪問C程序變量,在C中聲明的全局變量可以被匯編程序通過地址間接訪問,
14、訪問方法: 使用IMPORT偽操作聲明全局變量 使用LDR指令讀取該全局變量的內(nèi)存地址 根據(jù)數(shù)據(jù)的類型,使用相應(yīng)的LDR指令讀取該全局變 量的值;使用相應(yīng)的STR指令修改該全局變量的值,59,4.4,二、C程序中內(nèi)嵌匯編指令,在ARM的C程序中可用關(guān)鍵詞_ _asm加入一段匯編程序,格式:,60,4.4,在C語言中嵌入ARM匯編時需注意的幾個問題,匯編中不能再使用“;”作為注釋行的開頭,而應(yīng)使用C 語言中的“/*/”或者“/”進行注釋 不能使用一個物理寄存器去改變一個C變量 對于內(nèi)嵌的匯編代碼用到的寄存器,編譯器在編譯時 會自動加入保存和恢復(fù)這些寄存器的代碼而不用用戶 去管理 不支持ADR、A
15、DRL偽指令 不能用PC寄存器返回當(dāng)前指令的地址 不支持內(nèi)存分配的偽操作,61,4.4,三、匯編、C以及C+的相互調(diào)用,1、C程序調(diào)用匯編程序,使用extern關(guān)鍵詞表明strcopy函數(shù)是本文件之外定義的,62,表明該函數(shù)是一個全局的函數(shù)并可以被其他文件使用,注: 匯編程序使用r0-r3來傳遞函數(shù)的第1-4個參數(shù) 若參數(shù)多于4個,則多余的參數(shù)將被壓入堆棧,63,4.4,2、匯編程序調(diào)用C程序,64,ARM微處理器系列,ARM7 ARM9 ARM9E ARM10E ARM11 SecurCore Intel的StrongARM、Xscale 目前仍在不斷發(fā)展,第二講嵌入式系統(tǒng)軟件基礎(chǔ),66,2
16、.1 嵌入式操作系統(tǒng)的種類 2.2 嵌入式實時操作系統(tǒng) 2.3 嵌入式軟實時操作系統(tǒng) 2.4 嵌入式操作系統(tǒng)的選擇方法 2.5 嵌入式操作系統(tǒng)的發(fā)展趨勢,OUTLINE,67,1. 按實時性能分類 按能否滿足實時性要求,可分為 嵌入式實時操作系統(tǒng) 嵌入式非實時操作系統(tǒng),2.1 嵌入式操作系統(tǒng)的種類,68,(1) 嵌入式實時操作系統(tǒng) Real-Time Operating System 也稱為嵌入式硬實時操作系統(tǒng) 主要功能:對多個外部事件,尤其是異步事件 進行實時處理,69,典型的嵌入式實時操作系統(tǒng) VxWorks pSOSystem QNX Nucleus C/OS等,70,(2) 嵌入式非實
17、時操作系統(tǒng) 又稱為“嵌入式軟實時操作系統(tǒng)” 典型代表是嵌入式分時操作系統(tǒng) 也是一種多任務(wù)操作系統(tǒng) 任務(wù)調(diào)度采用時間片輪轉(zhuǎn)方式 大的任務(wù)吞吐量,71,典型的嵌入式軟實時操作系統(tǒng) Window CE Palm EPOC Embedded Linux等,72,2. 按購買方式分類 商用型 免費型,73,3. 按源碼是否開放分類 開放源碼型 黑箱型,74,4. 按知識產(chǎn)權(quán)分類 國外嵌入式操作系統(tǒng) 自主知識產(chǎn)權(quán)型嵌入式操作系統(tǒng),75,2.2 嵌入式實時操作系統(tǒng),VxWorks pSOSystem C/OS,76,2.3 嵌入式軟實時操作系統(tǒng),PalmOS Windows CE EPOC Embedded
18、 Linux,77,(1) 內(nèi)核的大小與性能 (2) 外掛模塊/組件的豐富性 (3) 可裁減性 (4) 對不同硬件平臺的可移植性 (5) 開發(fā)環(huán)境的完備性 (6) 服務(wù)與價格等,2.4 嵌入式操作系統(tǒng)的選擇標(biāo)準(zhǔn),78,2.5 嵌入式操作系統(tǒng)的發(fā)展趨勢,(1) 嵌入式操作系統(tǒng)的標(biāo)準(zhǔn)化研究 (2) 實時超微內(nèi)核 (3) 多處理器結(jié)構(gòu)與分布式 (4) 集成與開放的開發(fā)環(huán)境,79,2.6 本章小結(jié),幾種典型的嵌入式實時操作系統(tǒng)和嵌入式軟實時操作系統(tǒng) 特色 優(yōu)缺點 常見應(yīng)用領(lǐng)域,第六講嵌入式系統(tǒng)開發(fā)基礎(chǔ),81,6.1 嵌入式系統(tǒng)開發(fā)基本模式 6.2 嵌入式系統(tǒng)選型原則 6.3 嵌入式系統(tǒng)硬件開發(fā) 6.4
19、 嵌入式系統(tǒng)軟件開發(fā),OUTLINE,82,6.1 嵌入式系統(tǒng)開發(fā)基本模式,一、嵌入式系統(tǒng)開發(fā)特點,嵌入式系統(tǒng)開發(fā)特點,常規(guī)計算機應(yīng)用項目開發(fā)特點,通用性、標(biāo)準(zhǔn)性;軟硬件開發(fā)相對分離,軟硬件協(xié)同開發(fā),原因: 專用計算機系統(tǒng)、特定的硬件構(gòu)成、特定軟件 嵌入式產(chǎn)品是軟硬件的結(jié)合體,83,6.1,二、嵌入式系統(tǒng)開發(fā)過程,Yes,No,84,6.2 嵌入式系統(tǒng)選型原則,一、硬件平臺選擇,主要是嵌入式處理器的選擇,85,二、嵌入式操作系統(tǒng)選擇,6.2,體積小、執(zhí)行速度快 具有較好的可裁剪性和可移植性 需要操作系統(tǒng)的支持 支持多任務(wù)并具有實時性 強大的聯(lián)網(wǎng)功能 窗口交互功能,1、對嵌入式軟件的要求,86,
20、6.2,2、嵌入式操作系統(tǒng)選擇考慮因素,操作系統(tǒng)的硬件支持 是否支持目標(biāo)硬件平臺 可移植性 開發(fā)工具的支持程度 能否滿足應(yīng)用需求 對操作系統(tǒng)性能的需求 中文內(nèi)核支持 標(biāo)準(zhǔn)兼容性 技術(shù)支持 源代碼還是目標(biāo)代碼 許可 自建操作系統(tǒng),87,6.3 嵌入式硬件開發(fā),開發(fā)流程: 需求分析 軟硬件協(xié)同設(shè)計 軟硬件實現(xiàn) 軟硬件協(xié)同測試和驗證,特點:協(xié)同設(shè)計、協(xié)同測試、協(xié)同驗證,軟、硬件協(xié)同開發(fā),88,6.4 嵌入式軟件開發(fā),嵌入式軟件開發(fā)工具的分類 嵌入式軟件的交叉開發(fā)環(huán)境 嵌入式軟件實現(xiàn)階段的開發(fā)過程 實時軟件分析設(shè)計方法 嵌入式軟件開發(fā)工具的發(fā)展趨勢,89,嵌入式軟件的交叉開發(fā)環(huán)境,交叉開發(fā)環(huán)境是指用于
21、嵌入式軟件開發(fā)的所有工具軟件的集合,一般包括: 文本編輯器 交叉編譯器 交叉調(diào)試器 仿真器 下載器等 交叉開發(fā)環(huán)境由宿主機和目標(biāo)機組成,宿主機與目標(biāo)機之間在物理連接的基礎(chǔ)上建立起邏輯連接。,6.4,90,交叉開發(fā)環(huán)境,目標(biāo)機硬件,目標(biāo)機應(yīng)用系統(tǒng), 應(yīng)用軟件, 應(yīng)用中間件, 目標(biāo)機,OS,宿主機硬件,宿主機,OS,調(diào),試,代,理,運,行,庫,宿主機開發(fā)環(huán)境, 編輯, 編譯, 連接, 調(diào)試,運行平臺,Target,開發(fā)平臺,Host,DownLoad,6.4,91,宿主機(Host) :是用于開發(fā)嵌入式系統(tǒng)的計算機。一般為PC機(或者工作站),具備豐富的軟硬件資源,為嵌入式軟件的開發(fā)提供全過程支持。 目標(biāo)機(Target):即所開發(fā)的嵌入式系統(tǒng),是嵌入式軟件的運行環(huán)境,其硬件軟件是為特定應(yīng)用定制的。 在開發(fā)過程中,目標(biāo)機端需接收和執(zhí)行宿主機發(fā)出的各種命令如設(shè)置斷點、讀內(nèi)存、寫內(nèi)存等,將結(jié)果返回給宿主機,配合宿主機各方面的工作。,6.4,92,物理連接和邏輯連接 物理連接是指宿主機與目標(biāo)機通過物理線路連接在一起,連接方式主要有三種: 串口 以太口 OCD(On Chip Debug)方式,如JTAG、BDM等 物理連接是邏輯連接的基礎(chǔ)。 邏輯連接指宿主機與目標(biāo)機間按
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 啤酒營銷活動方案
- 團建闖關(guān)類活動方案
- 國慶支部宣傳活動方案
- 售樓方式活動方案
- 商業(yè)自駕活動方案
- 團員管理活動方案
- 國慶節(jié)鞋店搞活動方案
- 團委游戲活動方案
- 下鄉(xiāng)宿舍改造方案(3篇)
- 外協(xié)開發(fā)管理方案(3篇)
- 醫(yī)療廢物交接與記錄的重要性
- 個人極端事件防范應(yīng)急預(yù)案
- (環(huán)境管理)環(huán)境保護與水土保持監(jiān)理實施細(xì)則
- 軍事訓(xùn)練傷的防治
- 國開《化工安全技術(shù)》形考任務(wù)1-4答案
- 安全生產(chǎn)月“一把手”講安全課件
- 產(chǎn)業(yè)命題賽道命題解決對策參考模板
- 985、211和雙一流大學(xué)名單
- 三人合伙經(jīng)營協(xié)議書電子版(2篇)
- 汽車產(chǎn)品認(rèn)證
- 蛇類解剖生理特征(特種寵物疾病防治)
評論
0/150
提交評論