二、基本概念_第1頁
二、基本概念_第2頁
二、基本概念_第3頁
二、基本概念_第4頁
二、基本概念_第5頁
已閱讀5頁,還剩100頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1嵌入式系統(tǒng)設(shè)計與實例開發(fā)嵌入式系統(tǒng)設(shè)計與實例開發(fā)ARMARM與與 C/OS-C/OS-第二講第二講 基本概念及設(shè)計方法基本概念及設(shè)計方法2本節(jié)提要本節(jié)提要關(guān)于課程與大作業(yè)的說明關(guān)于課程與大作業(yè)的說明嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)設(shè)計方法嵌入式系統(tǒng)設(shè)計方法一個嵌入式設(shè)計方法實例一個嵌入式設(shè)計方法實例3一、基于實驗平臺一、基于實驗平臺( ( C/OS+ARM)C/OS+ARM),完成一個嵌入式小游戲,如搬運工、貪,完成一個嵌入式小游戲,如搬運工、貪吃蛇等(難度等級:吃蛇等(難度等級:EASYEASY)。)。二、基于實驗平臺,完成二、基于實驗平臺,完成 C/OSC/OS到到AR

2、MARM的移植,并完成一個嵌入式游戲(的移植,并完成一個嵌入式游戲(難度等級:難度等級:MIDDLEMIDDLE)。)。三、基于實驗平臺,完成三、基于實驗平臺,完成 CLinuxCLinux到到ARMARM上的移植,并完成一個嵌入式應(yīng)上的移植,并完成一個嵌入式應(yīng)用程序(難度等級:用程序(難度等級:HARDHARD)。)。說明:以上說明:以上3 3個題目可根據(jù)自己個題目可根據(jù)自己TEAMTEAM的基礎(chǔ)和條件選做,或者自己擬定題的基礎(chǔ)和條件選做,或者自己擬定題目,但一定要先經(jīng)過任課教師同意。目,但一定要先經(jīng)過任課教師同意。大作業(yè)題目大作業(yè)題目4一、一、TEAMTEAM:3-43-4人一組,人一組,

3、1010月月2020日之前提交大作業(yè)任務(wù)計劃書(格式自日之前提交大作業(yè)任務(wù)計劃書(格式自擬),包括以下內(nèi)容(題目,設(shè)計目標(biāo),提交物,開發(fā)進(jìn)度,任務(wù)擬),包括以下內(nèi)容(題目,設(shè)計目標(biāo),提交物,開發(fā)進(jìn)度,任務(wù)分工);分工);二、選題:二、選題:要根據(jù)要根據(jù)TEAMTEAM的實際情況,結(jié)合興趣,重質(zhì)量不重難度;的實際情況,結(jié)合興趣,重質(zhì)量不重難度;三、提交:三、提交:1212月月2929日之前,提交設(shè)計說明書,包括代碼、流程、演示結(jié)日之前,提交設(shè)計說明書,包括代碼、流程、演示結(jié)果;果;四、評分標(biāo)準(zhǔn):四、評分標(biāo)準(zhǔn):完成質(zhì)量完成質(zhì)量-5-5、技術(shù)難度、技術(shù)難度-3-3、其他(進(jìn)度、協(xié)作等)、其他(進(jìn)度、

4、協(xié)作等)-2-2,評選評選3 3組優(yōu)秀獎;組優(yōu)秀獎;五、設(shè)備使用:五、設(shè)備使用:TEAMTEAM借用,保管完好,用后歸還。借用,保管完好,用后歸還。大作業(yè)的要求大作業(yè)的要求5關(guān)于本課程的說明關(guān)于本課程的說明一、一、期望值期望值l嵌入式系統(tǒng)是一類實用技術(shù),本門課程以介紹實用開發(fā)技術(shù)為嵌入式系統(tǒng)是一類實用技術(shù),本門課程以介紹實用開發(fā)技術(shù)為主,重點為動手實踐,不會涉及到復(fù)雜的嵌入式系統(tǒng)建模、調(diào)主,重點為動手實踐,不會涉及到復(fù)雜的嵌入式系統(tǒng)建模、調(diào)度算法等理論知識;度算法等理論知識;l由于只有由于只有3232個課時,而嵌入式系統(tǒng)涉及知識面又非常廣,本門個課時,而嵌入式系統(tǒng)涉及知識面又非常廣,本門課程的

5、目的是介紹大家課程的目的是介紹大家“入門入門”;l要想深入了解和學(xué)習(xí),大家需要付出更多的時間和努力。要想深入了解和學(xué)習(xí),大家需要付出更多的時間和努力。二、其他二、其他l嵌入式的應(yīng)用領(lǐng)域非常廣闊,即使我們目前的平臺,也可以開嵌入式的應(yīng)用領(lǐng)域非常廣闊,即使我們目前的平臺,也可以開發(fā)出各種應(yīng)用:如游戲、發(fā)出各種應(yīng)用:如游戲、MP3MP3、智能手機平臺等;、智能手機平臺等;l大家如果沒有時間或沒有興趣完成大作業(yè),建議退課;大家如果沒有時間或沒有興趣完成大作業(yè),建議退課;l完成大作業(yè)時,發(fā)揚完成大作業(yè)時,發(fā)揚TEAMTEAM的團隊精神和協(xié)作精神,培養(yǎng)自已解的團隊精神和協(xié)作精神,培養(yǎng)自已解決問題的能力。決

6、問題的能力。6課程與實驗設(shè)置課程與實驗設(shè)置課程設(shè)置(圍繞完成大作業(yè)所需要的知識展開)課程設(shè)置(圍繞完成大作業(yè)所需要的知識展開)l嵌入式軟硬件開發(fā)環(huán)境簡介(嵌入式軟硬件開發(fā)環(huán)境簡介(3 3)lARMARM微處理器體系結(jié)構(gòu)與指令集(微處理器體系結(jié)構(gòu)與指令集(6 6)l C /OSC /OS操作系統(tǒng)分析與移植(操作系統(tǒng)分析與移植(6 6)lARM+ ARM+ C /OSC /OS系統(tǒng)軟硬應(yīng)用設(shè)計(系統(tǒng)軟硬應(yīng)用設(shè)計(6 6)lLinuxLinux系統(tǒng)及其在系統(tǒng)及其在ARMARM上的移植(上的移植(6 6)實驗設(shè)置實驗設(shè)置l熟悉基本開發(fā)環(huán)境及軟硬件平臺熟悉基本開發(fā)環(huán)境及軟硬件平臺l C /OSC /OS

7、在在ARMARM上的移植實驗上的移植實驗l交通管制信號燈模擬實驗交通管制信號燈模擬實驗I/OI/O接口接口l模擬電子畫板實驗?zāi)M電子畫板實驗觸摸屏應(yīng)用觸摸屏應(yīng)用lLinuxLinux開發(fā)環(huán)境實驗開發(fā)環(huán)境實驗7本節(jié)提要本節(jié)提要關(guān)于課程與大作業(yè)的說明關(guān)于課程與大作業(yè)的說明嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)設(shè)計方法嵌入式系統(tǒng)設(shè)計方法一個嵌入式設(shè)計方法實例一個嵌入式設(shè)計方法實例8嵌入式系統(tǒng)的軟/硬件框架嵌入式嵌入式微處理器微處理器SDRAMSDRAMROMROMI/OI/OA/DA/DD/AD/A人機交互接口人機交互接口通用接口通用接口實時操作系統(tǒng)(實時操作系統(tǒng)(RTOS)RTOS)圖

8、形用戶圖形用戶接口接口BSP/HAL 硬件抽象層/板極支持包BSP/HAL 硬件抽象層/板極支持包任務(wù)管理任務(wù)管理文件系統(tǒng)文件系統(tǒng)應(yīng)用程序應(yīng)用程序嵌入式計算機系統(tǒng)嵌入式計算機系統(tǒng)硬件層硬件層軟件層軟件層中間層中間層功能層功能層9l馮馮諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)諾依曼體系結(jié)構(gòu)和哈佛體系結(jié)構(gòu)lCISCCISC與與RISCRISClIP IP 核核l流水線流水線l存儲器系統(tǒng)存儲器系統(tǒng)嵌入式系統(tǒng)硬件基礎(chǔ)嵌入式系統(tǒng)硬件基礎(chǔ)10馮馮諾依曼體系結(jié)構(gòu)模型諾依曼體系結(jié)構(gòu)模型指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器存儲器存儲器程序程序指令指令0 0指令指令1 1指令指

9、令2 2指令指令3 3指令指令4 4數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)數(shù)據(jù)0 0數(shù)據(jù)數(shù)據(jù)1 1數(shù)據(jù)數(shù)據(jù)2 211哈佛體系結(jié)構(gòu)哈佛體系結(jié)構(gòu)指令寄存器指令寄存器控制器控制器數(shù)據(jù)通道數(shù)據(jù)通道輸入輸入輸出輸出中央處理器中央處理器程序存儲器程序存儲器指令指令0指令指令1指令指令2數(shù)據(jù)存儲器數(shù)據(jù)存儲器數(shù)據(jù)數(shù)據(jù)0數(shù)據(jù)數(shù)據(jù)1數(shù)據(jù)數(shù)據(jù)2地址地址指令指令地址地址數(shù)據(jù)數(shù)據(jù)12CISC和和RISCCISCCISC:復(fù)雜指令集(:復(fù)雜指令集(Complex Instruction Set ComputerComplex Instruction Set Computer)具有大量的指令和尋址方式;具有大量的指令和尋址方式;8/28/2原則:原

10、則:80%80%的程序只使用的程序只使用20%20%的指令;的指令;大多數(shù)程序只使用少量的指令就能夠運行。大多數(shù)程序只使用少量的指令就能夠運行。RISCRISC:精簡指令集(:精簡指令集(Reduced Instruction Set Computer)Reduced Instruction Set Computer)在通道中只包含最有用的指令;在通道中只包含最有用的指令;確保數(shù)據(jù)通道快速執(zhí)行每一條指令;確保數(shù)據(jù)通道快速執(zhí)行每一條指令;使使CPUCPU硬件結(jié)構(gòu)設(shè)計變得更為簡單。硬件結(jié)構(gòu)設(shè)計變得更為簡單。 13CISC與與RISC的數(shù)據(jù)通道的數(shù)據(jù)通道IFIDREGALUMEM開始退出IFIDAL

11、UMEMREG微操作通道開始退出單通數(shù)據(jù)通道14CISC與與RISC的對比的對比類別類別CISCCISCRISCRISC指令系統(tǒng)指令系統(tǒng)指令數(shù)量很多指令數(shù)量很多較少,通常少于較少,通常少于100100執(zhí)行時間執(zhí)行時間有些指令執(zhí)行時間很長,如有些指令執(zhí)行時間很長,如整塊的存儲器內(nèi)容復(fù)制;或整塊的存儲器內(nèi)容復(fù)制;或?qū)⒍鄠€寄存器的內(nèi)容復(fù)制到將多個寄存器的內(nèi)容復(fù)制到存貯器存貯器沒有較長執(zhí)行時間的指令沒有較長執(zhí)行時間的指令編碼長度編碼長度編碼長度可變,編碼長度可變,1-151-15字節(jié)字節(jié)編碼長度固定,通常為編碼長度固定,通常為4 4個字節(jié)個字節(jié)尋址方式尋址方式尋址方式多樣尋址方式多樣簡單尋址簡單尋址操

12、作操作可以對存儲器和寄存器進(jìn)行可以對存儲器和寄存器進(jìn)行算術(shù)和邏輯操作算術(shù)和邏輯操作只能對寄存器對行算術(shù)和邏輯只能對寄存器對行算術(shù)和邏輯操作,操作,Load/StoreLoad/Store體系結(jié)構(gòu)體系結(jié)構(gòu)編譯編譯難以用優(yōu)化編譯器生成高效難以用優(yōu)化編譯器生成高效的目標(biāo)代碼程序的目標(biāo)代碼程序 采用優(yōu)化編譯技術(shù),生成高效采用優(yōu)化編譯技術(shù),生成高效的目標(biāo)代碼程序的目標(biāo)代碼程序 15知識產(chǎn)權(quán)核(知識產(chǎn)權(quán)核(IP核核, intellectual property)l識產(chǎn)權(quán)知識產(chǎn)權(quán)識產(chǎn)權(quán)知識產(chǎn)權(quán)(IP) (IP) 電路或核是設(shè)計好并經(jīng)過驗證的集成電路功電路或核是設(shè)計好并經(jīng)過驗證的集成電路功能單元。能單元。lI

13、PIP復(fù)用意味著設(shè)計代價降低(時間,價格)。復(fù)用意味著設(shè)計代價降低(時間,價格)。 lIPIP核的類別核的類別: :l微處理器微處理器微處理器微處理器: ARM, PowerPC;: ARM, PowerPC;l存儲器存儲器存儲器存儲器: RAM, memory controller;: RAM, memory controller;l外設(shè)外設(shè): PCI, DMA controller;: PCI, DMA controller;l多媒體處理多媒體處理: MPEG/JPEG ;: MPEG/JPEG ;lencoder/decoder ;encoder/decoder ;l數(shù)字信號處理器數(shù)字信

14、號處理器(DSP)(DSP); l通信通信: Ethernet controller, router: Ethernet controller, router。16IPIP核的種類核的種類lSoft Cores(Soft Cores(“codecode”) )(軟核)(軟核)lHDLHDL語言描述;語言描述;l靈活度高,可修改;靈活度高,可修改;l與工藝獨立,可根據(jù)具體的加工工藝重新綜合;與工藝獨立,可根據(jù)具體的加工工藝重新綜合;lIPIP很難保護。很難保護。lFirm cores(Firm cores(“code+structurecode+structure”)()(固核)固核)l邏輯綜合

15、后的描述;邏輯綜合后的描述;l與工藝相關(guān)。與工藝相關(guān)。lHard cores(Hard cores(“physicalphysical”)()(硬核)硬核)l物理綜合后的描述;物理綜合后的描述;l準(zhǔn)備流片;準(zhǔn)備流片;l包含工藝相關(guān)的布局和時序信息;包含工藝相關(guān)的布局和時序信息;lIPIP很容易保護。很容易保護。l多數(shù)的處理器和存儲器多數(shù)的處理器和存儲器17IPIP核的商業(yè)模型核的商業(yè)模型三種模式三種模式1.1.設(shè)設(shè)計者提供設(shè)計和工具的許可證計者提供設(shè)計和工具的許可證lDSP Group (Pine and Oak Cores), 3Soft, ARMDSP Group (Pine and Oa

16、k Cores), 3Soft, ARM。 l提供包括提供包括HDLHDL在內(nèi)的模擬模型,工具或仿真器。在內(nèi)的模擬模型,工具或仿真器。l使用者負(fù)責(zé)設(shè)計制造。使用者負(fù)責(zé)設(shè)計制造。2.2.核廠商設(shè)計并制造集成電路芯片核廠商設(shè)計并制造集成電路芯片lTI, Motorola, LucentTI, Motorola, Lucent。lVLSI, SSI, Cirrus, AdaptecVLSI, SSI, Cirrus, Adaptec。3.3.核廠商賣核核廠商賣核, , 負(fù)責(zé)為客戶設(shè)計并制造芯片負(fù)責(zé)為客戶設(shè)計并制造芯片lLSI logic, TI, LucentLSI logic, TI, Lucen

17、t。18IPIP核的市場構(gòu)成核的市場構(gòu)成l74% 74% 為硬件設(shè)計廠商。為硬件設(shè)計廠商。l26% 26% 將購買將購買IP IP 核。核。l40% hard, 68% soft, 32% firm40% hard, 68% soft, 32% firm。19ARM的的IP核核固化宏單元(硬核)固化宏單元(硬核)ARM920TARM7TDMIARM720TARM1022E可綜合內(nèi)核(軟核)可綜合內(nèi)核(軟核)ARM926EJ-SARM7TDMI-SARM1026EJ-S測試芯片測試芯片ARM10200E20流水線技術(shù)流水線技術(shù)流水線技術(shù):幾個指令可以并行執(zhí)行。流水線技術(shù):幾個指令可以并行執(zhí)行。提

18、高了提高了CPUCPU的運行效率。的運行效率。內(nèi)部信息流要求通暢流動。內(nèi)部信息流要求通暢流動。譯碼取指執(zhí)行add譯碼取指執(zhí)行sub譯碼取指執(zhí)行cmp時間AddSubCmp21指令流水線指令流水線以以ARM為例為例l為增加處理器指令流的速度,為增加處理器指令流的速度,ARM7 ARM7 系列使用系列使用3 3級流水線。級流水線。允許多個操作同時處理,比逐條指令執(zhí)行要快。允許多個操作同時處理,比逐條指令執(zhí)行要快。l PCPC指向正被取指的指令,而非正在執(zhí)行的指令。指向正被取指的指令,而非正在執(zhí)行的指令。FetchDecodeExecute從存儲器中讀取指令解碼指令寄存器讀(從寄存器Bank)移位及

19、ALU操作寄存器寫(到寄存器Bank )PCPCPC - 4PC-2PC - 8PC - 4ARMThumb22 最佳流水線最佳流水線l該例中用該例中用6 6個時鐘周期執(zhí)行了個時鐘周期執(zhí)行了6 6條指令。條指令。l所有的操作都在寄存器中(單周期執(zhí)行)。所有的操作都在寄存器中(單周期執(zhí)行)。l指令周期數(shù)指令周期數(shù) (CPI) = 1(CPI) = 1。 操作操作周期周期 1 2 3 45 6 ADD SUB MOV AND ORR EOR CMP RSBFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecute

20、FetchDecodeExecuteDecodeExecuteFetchDecodeFetchFetch23 LDR 流水線舉例流水線舉例l該例中,用該例中,用6 6周期執(zhí)行了周期執(zhí)行了4 4條指令條指令l指令周期數(shù)指令周期數(shù) (CPI) = 1.5 (CPI) = 1.5 周期周期 操作操作123456 ADD SUB LDR MOV AND ORRFetchDecodeExecuteFetchDecodeExecuteFetchDecodeExecuteDataWritebackFetchDecodeExecuteFetchDecodeFetch24分支流水線舉例分支流水線舉例l流水線被阻

21、斷。流水線被阻斷。l注意注意: :內(nèi)核運行在內(nèi)核運行在ARMARM狀態(tài)。狀態(tài)。周期周期 1 2 3 4 5 0 x8000 BL 0 x8004 X0 x8008 XX0 x8FEC ADD0 x8FF0 SUB0 x8FF4 MOV地址地址 操作操作FetchDecodeExecuteFetchDecodeExecuteFetchDecodeFetchFetchDecodeExecuteLinkretAdjustFetchDecodeFetch25存儲器系統(tǒng)存儲器系統(tǒng)RAMRAM:隨機存取存儲器,:隨機存取存儲器, SRAMSRAM:靜態(tài)隨機存儲器,:靜態(tài)隨機存儲器, DRAMDRAM:動態(tài)

22、隨機存儲器。動態(tài)隨機存儲器。 SRAMSRAM比比DRAMDRAM快???。 SRAMSRAM比比DRAMDRAM耗電多。耗電多。 DRAMDRAM存儲密度比存儲密度比SRAMSRAM高得多。高得多。 DRMDRM需要周期性刷新。需要周期性刷新。ROMROM:只讀存儲器。:只讀存儲器。FLASHFLASH:閃存。:閃存。26輸入輸出接口輸入輸出接口lI/OI/OlA/DA/D、D/AD/Al鍵盤鍵盤lLCDLCDl存儲器接口存儲器接口l設(shè)備接口設(shè)備接口27嵌入式系統(tǒng)軟件基礎(chǔ)嵌入式系統(tǒng)軟件基礎(chǔ)l操作系統(tǒng)的分類操作系統(tǒng)的分類l嵌入式實時操作系統(tǒng)嵌入式實時操作系統(tǒng)l前臺與后臺前臺與后臺l多任務(wù),任務(wù)優(yōu)

23、先級,調(diào)度多任務(wù),任務(wù)優(yōu)先級,調(diào)度l非占先式與占先式、可重入型函數(shù)非占先式與占先式、可重入型函數(shù)28操作系統(tǒng)的分類操作系統(tǒng)的分類(1 1)順序執(zhí)行系統(tǒng):系統(tǒng)內(nèi)只含有一個程序,獨占)順序執(zhí)行系統(tǒng):系統(tǒng)內(nèi)只含有一個程序,獨占CPUCPU的運行時間,按的運行時間,按語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運行。如語句順序執(zhí)行該程序,直至執(zhí)行完畢,另一程序才能啟動運行。如DOSDOS操作系統(tǒng)。操作系統(tǒng)。(2 2)分時操作系統(tǒng):系統(tǒng)內(nèi)同時可以有多個程序運行,把)分時操作系統(tǒng):系統(tǒng)內(nèi)同時可以有多個程序運行,把CPUCPU的時間按的時間按順序分成若干片,每個時間片內(nèi)執(zhí)行不同的程序,如順序分成若干片

24、,每個時間片內(nèi)執(zhí)行不同的程序,如UNIXUNIX。(3 3)實時操作系統(tǒng):系統(tǒng)內(nèi)有多個程序運行,每個程序有不同的優(yōu)先)實時操作系統(tǒng):系統(tǒng)內(nèi)有多個程序運行,每個程序有不同的優(yōu)先級,只有最高優(yōu)先級的任務(wù)才能占有級,只有最高優(yōu)先級的任務(wù)才能占有CPUCPU的控制權(quán)。的控制權(quán)。29按實時性分類按實時性分類l強實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒或微秒級(數(shù)控機床)。強實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒或微秒級(數(shù)控機床)。l一般實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒到幾秒的數(shù)量級上,其實時一般實時系統(tǒng),其系統(tǒng)響應(yīng)時間在毫秒到幾秒的數(shù)量級上,其實時性的要求比強實時系統(tǒng)要差一些(媒體播放)。性的要求比強實時系統(tǒng)要差一些(媒

25、體播放)。l弱實時系統(tǒng),其系統(tǒng)響應(yīng)時間約為數(shù)十秒或更長。弱實時系統(tǒng),其系統(tǒng)響應(yīng)時間約為數(shù)十秒或更長。301.1.循環(huán)輪詢系統(tǒng):(循環(huán)輪詢系統(tǒng):(Polling LoopPolling Loop)最簡單的軟件結(jié)構(gòu)是循環(huán)輪詢,程序依次檢查系統(tǒng)的每一個最簡單的軟件結(jié)構(gòu)是循環(huán)輪詢,程序依次檢查系統(tǒng)的每一個輸入條件,一旦條件成立就進(jìn)行相應(yīng)的處理。輸入條件,一旦條件成立就進(jìn)行相應(yīng)的處理。Initialize()While(true) if(condition_1) action_1(); if(condition_2) action_2(); if(condition_n) acition_n();按軟件

26、結(jié)構(gòu)分類按軟件結(jié)構(gòu)分類312.2.事件驅(qū)動系統(tǒng):(事件驅(qū)動系統(tǒng):(Event-Driven systemEvent-Driven system)事件驅(qū)動系統(tǒng)是能對外部事件直接響應(yīng)的系統(tǒng)。它包括前后臺、事件驅(qū)動系統(tǒng)是能對外部事件直接響應(yīng)的系統(tǒng)。它包括前后臺、實時多任務(wù)、多處理器等,是嵌入式實時系統(tǒng)的主要形式。實時多任務(wù)、多處理器等,是嵌入式實時系統(tǒng)的主要形式。應(yīng)用程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的應(yīng)用程序是一個無限的循環(huán),循環(huán)中調(diào)用相應(yīng)的函數(shù)完成相應(yīng)的操作,這部分可以看成后臺行為(操作,這部分可以看成后臺行為(backgroundbackground)。中斷服務(wù)程序處理)。中斷

27、服務(wù)程序處理異步事件,這部分可以看成前臺行為(異步事件,這部分可以看成前臺行為(foreground)foreground)。后臺也可以叫做。后臺也可以叫做任務(wù)級,前臺也叫中斷級。例如,很多基于微處理器的產(chǎn)品采用前后任務(wù)級,前臺也叫中斷級。例如,很多基于微處理器的產(chǎn)品采用前后臺系統(tǒng)設(shè)計,如臺系統(tǒng)設(shè)計,如微波爐、微波爐、電話機、玩具等。從省電的角度出發(fā),平時電話機、玩具等。從省電的角度出發(fā),平時微處理器處在停機狀態(tài),所有的事都靠中斷服務(wù)來完成。微處理器處在停機狀態(tài),所有的事都靠中斷服務(wù)來完成。32前后臺系統(tǒng)(后臺循環(huán)、前臺中斷)前后臺系統(tǒng)(后臺循環(huán)、前臺中斷)ISRISR后臺后臺 前臺前臺ISR

28、時間時間33l代碼的臨界區(qū)也稱為臨界區(qū),指處理時不可分割的代碼。一旦這部分代碼的臨界區(qū)也稱為臨界區(qū),指處理時不可分割的代碼。一旦這部分代碼開始執(zhí)行,則不允許任何中斷打斷。代碼開始執(zhí)行,則不允許任何中斷打斷。l在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷在進(jìn)入臨界區(qū)之前要關(guān)中斷,而臨界區(qū)代碼執(zhí)行完以后要立即開中斷(在任務(wù)切換時,地址、指令、數(shù)據(jù)等寄存器堆棧保護)。(在任務(wù)切換時,地址、指令、數(shù)據(jù)等寄存器堆棧保護)。代碼的臨界區(qū)代碼的臨界區(qū)34多任務(wù)(任務(wù)、進(jìn)程和線程)多任務(wù)(任務(wù)、進(jìn)程和線程)CPUCPU寄存器寄存器任務(wù)任務(wù)控制控制塊塊1 1任務(wù)任務(wù)控制控制塊塊2 2任務(wù)任務(wù)控制

29、控制塊塊n n休眠、就緒、運行、掛起、被中斷休眠、就緒、運行、掛起、被中斷任務(wù)任務(wù)1 1任務(wù)任務(wù)2 2任務(wù)任務(wù)n nCPUCPU寄存器寄存器35一個任務(wù),也稱作一個線程,是一個簡單的運行程序。每個任一個任務(wù),也稱作一個線程,是一個簡單的運行程序。每個任務(wù)都是整個應(yīng)用的某一部分,每個任務(wù)被賦予一定的優(yōu)先級,務(wù)都是整個應(yīng)用的某一部分,每個任務(wù)被賦予一定的優(yōu)先級, 有它有它自己的一套自己的一套CPUCPU寄存器和自己的棧空間。寄存器和自己的??臻g。多任務(wù)運行的實現(xiàn)實際上是靠多任務(wù)運行的實現(xiàn)實際上是靠CPUCPU(中央處理單元)在許多任(中央處理單元)在許多任務(wù)之間轉(zhuǎn)換、調(diào)度。務(wù)之間轉(zhuǎn)換、調(diào)度。 CP

30、UCPU只有一個,輪番服務(wù)于一系列任務(wù)中的某一個。多任務(wù)運只有一個,輪番服務(wù)于一系列任務(wù)中的某一個。多任務(wù)運行使行使CPUCPU的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。的利用率得到最大的發(fā)揮,并使應(yīng)用程序模塊化。在實際應(yīng)用中,多任務(wù)的最大特點是,開發(fā)人員可以將很復(fù)雜在實際應(yīng)用中,多任務(wù)的最大特點是,開發(fā)人員可以將很復(fù)雜的應(yīng)用程序?qū)哟位缇C合實驗(時鐘、位圖、的應(yīng)用程序?qū)哟位?,如綜合實驗(時鐘、位圖、USBUSB、KEYKEY)。)。36任務(wù)的狀態(tài)任務(wù)的狀態(tài)R RU UN NN NI IN NG GR RE EA AD DY YO OS ST Ta as sk kC Cr re ea at

31、 te e( () )O OS ST Ta as sk kC Cr re ea at te eE Ex xt t( () )T Ta as sk k i is s P Pr re ee em mp pt te ed dO OS SM MB Bo ox xP Pe en nd d( () )O OS SQ QP Pe en nd d( () )O OS SS Se em mP Pe en nd d( () )O OS ST Ta as sk kS Su us sp pe en nd d( () )O OS ST Ti im me eD Dl ly y( () )O OS ST Ti im me

32、eD Dl ly yH HM MS SM M( () )O OS SM MB Bo ox xP Po os st t( () )O OS SQ QP Po os st t( () )O OS SQ QP Po os st tF Fr ro on nt t( () )O OS SS Se em mP Po os st t( () )O OS ST Ta as sk kR Re es su um me e( () )O OS ST Ti im me eD Dl ly yR Re es su um me e( () )O OS ST Ti im me eT Ti ic ck k( () )O OS

33、ST Ta as sk kD De el l( () )D DO OR RM MA AN NT TW WA AI IT TI IN NG GO OS SS St ta ar rt t( () )O OS SI In nt tE Ex xi it t( () )O OS S_ _T TA AS SK K_ _S SW W( () )O OS ST Ta as sk kD De el l( () )O OS ST Ta as sk kD De el l( () )I In nt te er rr ru up pt tO OS SI In nt tE Ex xi it t( () )I IS SR

34、R37系統(tǒng)內(nèi)核(系統(tǒng)內(nèi)核(Kernel)與調(diào)度(與調(diào)度(Scheduler)l多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個任務(wù),或者說為每個任務(wù)分配多任務(wù)系統(tǒng)中,內(nèi)核負(fù)責(zé)管理各個任務(wù),或者說為每個任務(wù)分配CPUCPU時間,并且負(fù)責(zé)任務(wù)之間的通信。時間,并且負(fù)責(zé)任務(wù)之間的通信。l內(nèi)核(內(nèi)核(Kernel)Kernel):提供的基本服務(wù)是任務(wù)切換。內(nèi)核本身也增加了應(yīng)提供的基本服務(wù)是任務(wù)切換。內(nèi)核本身也增加了應(yīng)用程序的額外負(fù)荷,代碼空間增加用程序的額外負(fù)荷,代碼空間增加ROMROM用量,內(nèi)核本身數(shù)據(jù)結(jié)構(gòu)增加用量,內(nèi)核本身數(shù)據(jù)結(jié)構(gòu)增加了了RAMRAM的用量。內(nèi)核本身對的用量。內(nèi)核本身對CPUCPU的占用時間一般在的

35、占用時間一般在2 2到到5 5個百分點之間。個百分點之間。l調(diào)度(調(diào)度(SchedulerScheduler):):是內(nèi)核的主要職責(zé)之一,就是要決定該輪到哪是內(nèi)核的主要職責(zé)之一,就是要決定該輪到哪個任務(wù)運行了。多數(shù)實時內(nèi)核是基于優(yōu)先級調(diào)度法的。每個任務(wù)根據(jù)個任務(wù)運行了。多數(shù)實時內(nèi)核是基于優(yōu)先級調(diào)度法的。每個任務(wù)根據(jù)其重要程度的不同被賦予一定的優(yōu)先級?;趦?yōu)先級的調(diào)度法則,其重要程度的不同被賦予一定的優(yōu)先級?;趦?yōu)先級的調(diào)度法則,CPUCPU總是讓處在就緒態(tài)的優(yōu)先級最高的任務(wù)先運行。總是讓處在就緒態(tài)的優(yōu)先級最高的任務(wù)先運行。38非占先式與占先式非占先式與占先式非占先式非占先式(non-preem

36、ptivenon-preemptive)調(diào)度法也稱作合作型多任調(diào)度法也稱作合作型多任務(wù)(務(wù)(cooperative multitaskingcooperative multitasking),各個任務(wù)彼此合作共享一),各個任務(wù)彼此合作共享一個個CPUCPU。中斷服務(wù)可以使一個高優(yōu)先級的任務(wù)由掛起狀態(tài)變?yōu)榫途w中斷服務(wù)可以使一個高優(yōu)先級的任務(wù)由掛起狀態(tài)變?yōu)榫途w狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個任狀態(tài)。但中斷服務(wù)以后控制權(quán)還是回到原來被中斷了的那個任務(wù),直到該任務(wù)主動放棄務(wù),直到該任務(wù)主動放棄CPUCPU的使用權(quán)時,那個高優(yōu)先級的任務(wù)的使用權(quán)時,那個高優(yōu)先級的任務(wù)才能獲得才能獲得C

37、PUCPU的使用權(quán)。的使用權(quán)。非占先式內(nèi)核的非占先式內(nèi)核的一個特點一個特點是幾乎不需要使用信號量保護共是幾乎不需要使用信號量保護共享數(shù)據(jù)。運行著的任務(wù)占有享數(shù)據(jù)。運行著的任務(wù)占有CPUCPU,而不必?fù)?dān)心被別的任務(wù)搶占。,而不必?fù)?dān)心被別的任務(wù)搶占。非占先式內(nèi)核的非占先式內(nèi)核的最大缺陷最大缺陷在于其響應(yīng)高優(yōu)先級的任務(wù)慢,在于其響應(yīng)高優(yōu)先級的任務(wù)慢,任務(wù)已經(jīng)進(jìn)入就緒態(tài),但還不能運行,也許要等很長時間,直任務(wù)已經(jīng)進(jìn)入就緒態(tài),但還不能運行,也許要等很長時間,直到當(dāng)前運行著的任務(wù)釋放到當(dāng)前運行著的任務(wù)釋放CPUCPU。內(nèi)核的任務(wù)級響應(yīng)時間是不確定。內(nèi)核的任務(wù)級響應(yīng)時間是不確定的,不知道什么時候最高優(yōu)先級的

38、任務(wù)才能拿到的,不知道什么時候最高優(yōu)先級的任務(wù)才能拿到CPUCPU的控制權(quán),的控制權(quán),完全取決于應(yīng)用程序什么時候釋放完全取決于應(yīng)用程序什么時候釋放CPUCPU。39非占先式非占先式(Non-Preemptive)低優(yōu)先級任務(wù)低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)(7)中斷服務(wù)程序使中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)就緒低優(yōu)先級任務(wù)釋放低優(yōu)先級任務(wù)釋放CPU使用權(quán)使用權(quán)TIME40當(dāng)系統(tǒng)響應(yīng)時間很重要時,要使用占先式(當(dāng)系統(tǒng)響應(yīng)時間很重要時,要使用占先式(preemptivepreemptive)內(nèi)核。最高優(yōu)先級的任務(wù)一旦就緒,總能得到內(nèi)核。最高優(yōu)

39、先級的任務(wù)一旦就緒,總能得到CPUCPU的控制權(quán)。的控制權(quán)。當(dāng)一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就當(dāng)一個運行著的任務(wù)使一個比它優(yōu)先級高的任務(wù)進(jìn)入了就緒態(tài),當(dāng)前任務(wù)的緒態(tài),當(dāng)前任務(wù)的CPUCPU使用權(quán)就被剝奪了,或者說被掛起了,那使用權(quán)就被剝奪了,或者說被掛起了,那個高優(yōu)先級的任務(wù)立刻得到了個高優(yōu)先級的任務(wù)立刻得到了CPUCPU的控制權(quán)。的控制權(quán)。使用占先式內(nèi)核時,應(yīng)用程序不應(yīng)直接使用不可重入型函使用占先式內(nèi)核時,應(yīng)用程序不應(yīng)直接使用不可重入型函數(shù)。如果調(diào)入可重入型函數(shù)時,低優(yōu)先級的任務(wù)數(shù)。如果調(diào)入可重入型函數(shù)時,低優(yōu)先級的任務(wù)CPUCPU的使用權(quán)被的使用權(quán)被高優(yōu)先級任務(wù)剝奪,高優(yōu)先

40、級任務(wù)剝奪,不可重入型函數(shù)中的數(shù)據(jù)有可能被破壞。不可重入型函數(shù)中的數(shù)據(jù)有可能被破壞。占先式(占先式(preemptive)41占先式占先式(Preemptive)低優(yōu)先級任務(wù)低優(yōu)先級任務(wù)ISR高優(yōu)先級任務(wù)高優(yōu)先級任務(wù)(1)(2)(3)(4)(5)(6)中斷服務(wù)程序使中斷服務(wù)程序使高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)就緒高優(yōu)先級任務(wù)得到高優(yōu)先級任務(wù)得到CPU使用權(quán)使用權(quán)TIME42可以被一個以上的任務(wù)調(diào)用,而不必?fù)?dān)心數(shù)據(jù)的破壞??芍乜梢员灰粋€以上的任務(wù)調(diào)用,而不必?fù)?dān)心數(shù)據(jù)的破壞??芍厝胄秃瘮?shù)任何時候都可以被中斷,一段時間以后又可以運行,而相入型函數(shù)任何時候都可以被中斷,一段時間以后又可以運行,而相應(yīng)數(shù)據(jù)

41、不會丟失。可重入型函數(shù)或者只使用局部變量,即變量保存應(yīng)數(shù)據(jù)不會丟失??芍厝胄秃瘮?shù)或者只使用局部變量,即變量保存在在CPUCPU寄存器中或堆棧中。寄存器中或堆棧中。一個不可重入型函數(shù)的例子一個不可重入型函數(shù)的例子int Temp;int Temp;Void swap (int Void swap (int * *x,intx,int* *y)y) Temp=Temp=* *x;x;* *X=X=* *Y;Y;* *y=Temp;y=Temp; 可重入型函數(shù)可重入型函數(shù)43一個可重入型函數(shù)的例子一個可重入型函數(shù)的例子Void swap (int *x,int*y)int Temp;Temp=*x;

42、*X=*Y;*y=Temp;44任務(wù)優(yōu)先級任務(wù)優(yōu)先級l靜態(tài)優(yōu)先級靜態(tài)優(yōu)先級 應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級不變,則稱之為靜態(tài)優(yōu)先應(yīng)用程序執(zhí)行過程中諸任務(wù)優(yōu)先級不變,則稱之為靜態(tài)優(yōu)先級。在靜態(tài)優(yōu)先級系統(tǒng)中,諸任務(wù)以及它們的時間約束在程序編級。在靜態(tài)優(yōu)先級系統(tǒng)中,諸任務(wù)以及它們的時間約束在程序編譯時是已知的。譯時是已知的。l動態(tài)優(yōu)先級動態(tài)優(yōu)先級 應(yīng)用程序執(zhí)行過程中,任務(wù)的優(yōu)先級是可變的,則稱之為動應(yīng)用程序執(zhí)行過程中,任務(wù)的優(yōu)先級是可變的,則稱之為動態(tài)優(yōu)先級。實時內(nèi)核應(yīng)當(dāng)避免出現(xiàn)優(yōu)先級反轉(zhuǎn)問題。態(tài)優(yōu)先級。實時內(nèi)核應(yīng)當(dāng)避免出現(xiàn)優(yōu)先級反轉(zhuǎn)問題。45優(yōu)先級反轉(zhuǎn)優(yōu)先級反轉(zhuǎn)Task 1 (H)Task 2 (

43、M)Task 3 (L)Priority InversionTask 3 Get SemaphoreTask 1 Preempts Task 3Task 1 Tries to get SemaphoreTask 2 Preempts Task 3Task 3 ResumesTask 3 Releases the Semaphore( (1 1) )( (2 2) )( (3 3) )( (4 4) )( (5 5) )( (6 6) )( (7 7) )( (8 8) )( (9 9) )( (1 10 0) )( (1 11 1) )( (1 12 2) )46本節(jié)提要本節(jié)提要關(guān)于課程與大作

44、業(yè)的說明關(guān)于課程與大作業(yè)的說明嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)設(shè)計方法嵌入式系統(tǒng)設(shè)計方法一個嵌入式設(shè)計方法實例一個嵌入式設(shè)計方法實例47嵌入式系統(tǒng)的開發(fā)嵌入式系統(tǒng)的開發(fā)流程流程確定產(chǎn)品需求選擇主要芯片確定編程語言選擇開發(fā)環(huán)境RTOS的使用選擇開發(fā)方案選擇開發(fā)方案設(shè)計與調(diào)試測試測試工具與其他輔助設(shè)備產(chǎn)品48嵌入式系統(tǒng)的開發(fā)嵌入式系統(tǒng)的開發(fā)設(shè)計與調(diào)試設(shè)計與調(diào)試設(shè)計生產(chǎn)編譯器鏈接器調(diào)試器IDE操作系統(tǒng)軟件測試評估板仿真器邏輯分析儀邊界掃描測試儀編程器49開發(fā)環(huán)境開發(fā)環(huán)境什么是嵌入式開發(fā)環(huán)境:源程序編譯器目標(biāo)文件鏈接器可重定位程序定位器可執(zhí)行文件編譯器/匯編器/鏈接定位器調(diào)試器/仿真

45、器主機(Host)及其工作平臺實時操作系統(tǒng)(可選)目標(biāo)評估系統(tǒng)(可選)測試工具(軟件/硬件/協(xié)議等,可選)其他輔助設(shè)備(可選) 典型的開發(fā)環(huán)境50ARM的編譯器(1)ADS1.2ADS1.2lARMARM公司出品公司出品lIDEIDE環(huán)境,包括:環(huán)境,包括:ARM/ThumbARM/Thumb匯編器:匯編器:armasmarmasm。ANSI C ANSI C 編譯器編譯器 - - armccarmcc 和和 tcctcc。ISO / Embedded C+ ISO / Embedded C+ 編譯器編譯器 - - armcpparmcpp and and tcpptcpp。鏈接器鏈接器 ar

46、mlinkarmlink。Windows Windows 集成開發(fā)環(huán)境集成開發(fā)環(huán)境 CodeWarriorCodeWarrior。格式轉(zhuǎn)換器格式轉(zhuǎn)換器 fromelffromelf。庫管理器庫管理器 armararmar。調(diào)試器。調(diào)試器。模擬調(diào)試器:模擬調(diào)試器:ARMulatorARMulator。JTAGJTAG調(diào)試:調(diào)試:AXDAXD(與(與Multi-ICEMulti-ICE配合)。配合)。支持所有支持所有ARMARM內(nèi)核,最新版本:內(nèi)核,最新版本:RealView2.0RealView2.0。51ARM的編譯器(2)lEW-ARMEW-ARM瑞典瑞典IRAIRA公司出品公司出品著名的嵌

47、入式工具提供商,以提供編譯器著名的嵌入式工具提供商,以提供編譯器/ /協(xié)議棧協(xié)議棧/ /統(tǒng)一建模工具著稱。統(tǒng)一建模工具著稱。主要產(chǎn)品:主要產(chǎn)品:Embeded WorkbenchEmbeded Workbench(EWEW)、Make APPMake APP、Visual StateVisual State等。等。EW-ARMEW-ARM:針對:針對ARMARM的集成開發(fā)環(huán)境:的集成開發(fā)環(huán)境:C/C+C/C+編譯器。編譯器。C-SPY C-SPY 模擬調(diào)試器。模擬調(diào)試器。ROM-MonitorROM-Monitor。多種級別代碼優(yōu)化方法,滿足用戶在速度、文件大小方面的要求。多種級別代碼優(yōu)化方法

48、,滿足用戶在速度、文件大小方面的要求。內(nèi)建內(nèi)建ARMARM特性優(yōu)化器。特性優(yōu)化器。支持多種斷點模式。支持多種斷點模式。支持支持Nucleus, VxWorksNucleus, VxWorks等等RTOSRTOS。lGreenhillsGreenhillslGNUGNU52嵌入式系統(tǒng)的調(diào)試(1)嵌入式系統(tǒng)的調(diào)試有四種基本方法:嵌入式系統(tǒng)的調(diào)試有四種基本方法: l模擬調(diào)試(模擬調(diào)試(Simulator)l軟件調(diào)試(軟件調(diào)試(Debugger)lBDM/JTAG調(diào)試(調(diào)試(BDM/JTAG Debugger)l全仿真調(diào)試(全仿真調(diào)試(Emulator)53嵌入式系統(tǒng)的調(diào)試(2)l模擬調(diào)試(模擬調(diào)試(

49、SimulatorSimulator) 調(diào)試工具和待調(diào)試的嵌入式軟件都在主機上運行,由主機提供一調(diào)試工具和待調(diào)試的嵌入式軟件都在主機上運行,由主機提供一個模擬的目標(biāo)運行環(huán)境,可以進(jìn)行語法和邏輯上的調(diào)試。個模擬的目標(biāo)運行環(huán)境,可以進(jìn)行語法和邏輯上的調(diào)試。l優(yōu)點:優(yōu)點:簡單方便,不需要目標(biāo)板,成本低。簡單方便,不需要目標(biāo)板,成本低。l缺點:缺點:功能非常有限,無法實時調(diào)試。功能非常有限,無法實時調(diào)試。 大多數(shù)調(diào)試工具都提供大多數(shù)調(diào)試工具都提供Simulator功能。功能。54嵌入式系統(tǒng)的調(diào)試(3)l軟件調(diào)試(軟件調(diào)試(DebuggerDebugger) 主機和目標(biāo)板通過某種接口(通常是串口)連接,

50、主機上提供調(diào)試主機和目標(biāo)板通過某種接口(通常是串口)連接,主機上提供調(diào)試界面,待調(diào)試軟件下載到目標(biāo)板上運行。界面,待調(diào)試軟件下載到目標(biāo)板上運行。 這種方式的先決條件是要在這種方式的先決條件是要在Host和和Target之間建立起通信聯(lián)系(目之間建立起通信聯(lián)系(目標(biāo)板上稱為監(jiān)控程序標(biāo)板上稱為監(jiān)控程序Monitor)l優(yōu)點:優(yōu)點:純軟件,價格較低,簡單,軟件調(diào)試能力較強。純軟件,價格較低,簡單,軟件調(diào)試能力較強。l缺點:缺點:需要事先燒制需要事先燒制Monitor(往往需多次試驗才能成功)且目標(biāo)板(往往需多次試驗才能成功)且目標(biāo)板工作正常,功能有限,特別是硬件調(diào)試能力較差。工作正常,功能有限,特別

51、是硬件調(diào)試能力較差。PCTargetMonitor串口55嵌入式系統(tǒng)的調(diào)試(4)lBDM/JTAGBDM/JTAG調(diào)試調(diào)試 這種方式有一個硬件調(diào)試體。該硬件調(diào)試體與目標(biāo)板通過這種方式有一個硬件調(diào)試體。該硬件調(diào)試體與目標(biāo)板通過BDM、JTAG等調(diào)試接口相連,與主機通過串口、并口、網(wǎng)口或等調(diào)試接口相連,與主機通過串口、并口、網(wǎng)口或USB口相連。待口相連。待調(diào)試軟件通過調(diào)試軟件通過BDM/JTAG調(diào)試器下載到目標(biāo)板上運行。調(diào)試器下載到目標(biāo)板上運行。l優(yōu)點:優(yōu)點:方便、簡單,無須制作方便、簡單,無須制作Monitor,軟硬件均可調(diào)試。,軟硬件均可調(diào)試。l缺點:缺點:需要目標(biāo)板,且目標(biāo)板工作基本正常(至

52、少需要目標(biāo)板,且目標(biāo)板工作基本正常(至少MCU工作正常),工作正常),僅適用于有調(diào)試接口的芯片。僅適用于有調(diào)試接口的芯片。TargetPC接口BDM/JTAG Debugger56嵌入式系統(tǒng)的調(diào)試(5)l全仿真調(diào)試全仿真調(diào)試(Emulator) 這種方式用仿真器完全取代目標(biāo)板上的這種方式用仿真器完全取代目標(biāo)板上的MCU,因而目標(biāo)系統(tǒng)對開發(fā),因而目標(biāo)系統(tǒng)對開發(fā)者來說完全是透明的、可控的。仿真器與目標(biāo)板通過仿真頭連接,與主者來說完全是透明的、可控的。仿真器與目標(biāo)板通過仿真頭連接,與主機有串口、并口、網(wǎng)口或機有串口、并口、網(wǎng)口或USB口等連接方式。由于仿真器自成體系,調(diào)口等連接方式。由于仿真器自成體

53、系,調(diào)試時既可以連接目標(biāo)板,也可以不連接目標(biāo)板(試時既可以連接目標(biāo)板,也可以不連接目標(biāo)板(Stand alone)。)。l優(yōu)點:優(yōu)點:功能非常強大,軟硬件均可做到完全實時在線調(diào)試。功能非常強大,軟硬件均可做到完全實時在線調(diào)試。l缺點:缺點:價格昂貴。價格昂貴。57ARM的調(diào)試方式l模擬調(diào)試模擬調(diào)試SDT2.52: ARMulatorADS1.2:ARMulatorTrace32:SimulatorEW-ARM:C-spyl軟件調(diào)試軟件調(diào)試ADS1.2:Angel(串口)(串口)SDT2.52 Angel(串口)(串口)lJTAG調(diào)試調(diào)試ARM:Multi-ICE,簡易型仿真器簡易型仿真器Tra

54、ce32-ICD for ARMHitex:Tanto for ARMl全仿真調(diào)試全仿真調(diào)試Trace32-FIRE/ICE58ARM調(diào)試工具M(jìn)ulti-ICElARM公司出品公司出品l與與ADS配套使用配套使用l支持不同的支持不同的ARM內(nèi)核內(nèi)核l另有另有Multi-trace模塊可選模塊可選59選擇實時操作系統(tǒng)RTOSl對于復(fù)雜的嵌入式系統(tǒng)應(yīng)考慮使用對于復(fù)雜的嵌入式系統(tǒng)應(yīng)考慮使用RTOSlRTOS的作用:的作用:提供提供API(應(yīng)用應(yīng)用編程接口)編程接口):操作系統(tǒng)為應(yīng)用程序員提供可供調(diào)用的:操作系統(tǒng)為應(yīng)用程序員提供可供調(diào)用的APIAPI,允許程序員致力于應(yīng)用程序的開發(fā)。,允許程序員致力于

55、應(yīng)用程序的開發(fā)。 簡化系統(tǒng)設(shè)計簡化系統(tǒng)設(shè)計:實時嵌入式系統(tǒng)比非實時系統(tǒng)更難設(shè)計:實時嵌入式系統(tǒng)比非實時系統(tǒng)更難設(shè)計. . 使用實時使用實時多任務(wù)的內(nèi)核能簡化系統(tǒng)設(shè)計,可將復(fù)雜的應(yīng)用程序分為幾個不同多任務(wù)的內(nèi)核能簡化系統(tǒng)設(shè)計,可將復(fù)雜的應(yīng)用程序分為幾個不同的任務(wù),由內(nèi)核去對他們協(xié)調(diào)處理。的任務(wù),由內(nèi)核去對他們協(xié)調(diào)處理。l實驗平臺實驗平臺支持支持ARM的實時操作系統(tǒng)的實時操作系統(tǒng)如下如下: C/OSLinux60嵌入式系統(tǒng)編程語言lData from Japan ITRON survey for new embedded systemsType of Processors0%10%20%30%40

56、%50%60%70%4-bits8-bits16-bits32-bits64-bitsSpecial1998-991999-002000-01Programming Languages0%10%20%30%40%50%60%70%80%90%AssemblelanguageC languageC+JavaOthers1998-991999-002000-0161嵌入式系統(tǒng)的測試新技術(shù),新方法新技術(shù),新方法l使用邊界掃描測試技術(shù)可以有效地解決這些問題!使用邊界掃描測試技術(shù)可以有效地解決這些問題!l邊界掃描來源于邊界掃描來源于IEEE Std 1149.1,是是由聯(lián)合測試行動小組(由聯(lián)合測試行動小

57、組(Joint Test Action Group) )制定的一種測試邏輯,所以又稱制定的一種測試邏輯,所以又稱JTAG標(biāo)準(zhǔn)。標(biāo)準(zhǔn)。lJTAG作為集成電路的一部分,可以完成以下功能:作為集成電路的一部分,可以完成以下功能: 測試器件間的相互連線;測試器件間的相互連線; 測試集成電路本身;測試集成電路本身; 在線編程在線編程CPLD、FPGA、FLASH; JTAG仿真調(diào)試。仿真調(diào)試。62嵌入式開發(fā)工具與開發(fā)環(huán)境嵌入式開發(fā)工具與開發(fā)環(huán)境63開發(fā)平臺簡介開發(fā)平臺簡介64開始新工程編輯源代碼交叉編譯連接仿真調(diào)試程序下載臺式/筆記本式PC機并口JTAG仿真器網(wǎng)絡(luò)接口JTAG接口USB接口串口0ARM3

58、00開發(fā)板串口USB接口以太網(wǎng)口ARMSDTDebugArmDvkARM7處理器執(zhí)行監(jiān)測結(jié)果超級終端ARM300開發(fā)板實驗流程結(jié)束嵌入式軟件開發(fā)流程嵌入式軟件開發(fā)流程65開發(fā)平臺簡介開發(fā)平臺簡介網(wǎng)口JTAGUSB串口0擴展板接口ARM微處理器S3C44B0X擴展口2網(wǎng)卡JTAG仿真器ARM300開發(fā)板集成開發(fā)環(huán)境運行平臺66本節(jié)提要本節(jié)提要關(guān)于課程與大作業(yè)的說明關(guān)于課程與大作業(yè)的說明嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)軟硬件基礎(chǔ)嵌入式系統(tǒng)設(shè)計方法嵌入式系統(tǒng)設(shè)計方法一個嵌入式設(shè)計方法實例一個嵌入式設(shè)計方法實例67工程機械體系結(jié)構(gòu)可靠設(shè)計環(huán)境分析成本計算芯片選擇設(shè)計接口調(diào)試關(guān)鍵技術(shù)主要系統(tǒng)平地平地機機環(huán)

59、境可靠性實驗裝載裝載機機攪拌攪拌機機挖掘挖掘機機 軟件選擇開發(fā)攤鋪攤鋪機機壓路壓路機機四、嵌入式設(shè)計方法實例四、嵌入式設(shè)計方法實例工程機械監(jiān)控器工程機械監(jiān)控器68l需求分析與評估需求分析與評估l功能定義與軟硬件選型功能定義與軟硬件選型l概要設(shè)計與軟硬件劃分概要設(shè)計與軟硬件劃分l軟硬件協(xié)同詳細(xì)設(shè)計軟硬件協(xié)同詳細(xì)設(shè)計l集成調(diào)試集成調(diào)試l維護與升級維護與升級設(shè)計步驟設(shè)計步驟69工程機械方面應(yīng)用工程機械方面應(yīng)用 工程機械六大市場領(lǐng)域,均符合國家經(jīng)濟發(fā)展四大戰(zhàn)略所規(guī)定工程機械六大市場領(lǐng)域,均符合國家經(jīng)濟發(fā)展四大戰(zhàn)略所規(guī)定的資金投向,的資金投向,500500億投資,一個企業(yè)僅裝載機銷售億投資,一個企業(yè)僅裝

60、載機銷售70007000臺。臺。發(fā)展國家基礎(chǔ)設(shè)施建設(shè)發(fā)展國家基礎(chǔ)設(shè)施建設(shè) 西部大開發(fā)西部大開發(fā) 發(fā)展城鄉(xiāng)化發(fā)展城鄉(xiāng)化 可持續(xù)發(fā)展可持續(xù)發(fā)展 交通運輸交通運輸 能源工業(yè)能源工業(yè)原材料工業(yè)原材料工業(yè) 農(nóng)林水利農(nóng)林水利 城鄉(xiāng)建設(shè)城鄉(xiāng)建設(shè)國防工程建設(shè)國防工程建設(shè)工工程程機機械械1. 1. 需求分析與評估需求分析與評估70瀝青路面施工機群瀝青路面施工機群71l資源配置不合理,施工過程施工過程質(zhì)量、進(jìn)度控制不到位;資源配置不合理,施工過程施工過程質(zhì)量、進(jìn)度控制不到位;l設(shè)備運行狀況不能及時掌握,故障不能及時排除;設(shè)備運行狀況不能及時掌握,故障不能及時排除;l分期付款控制技術(shù);分期付款控制技術(shù);l智能控制,

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論