嵌入式軟件系統(tǒng)課件_第1頁
嵌入式軟件系統(tǒng)課件_第2頁
嵌入式軟件系統(tǒng)課件_第3頁
嵌入式軟件系統(tǒng)課件_第4頁
嵌入式軟件系統(tǒng)課件_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

內(nèi)容一、嵌入式軟件的根本特征二、嵌入式軟件結(jié)構(gòu)和組成三、軟件系統(tǒng)的設(shè)計(jì)方法四、軟件的移植11.1嵌入式軟件開發(fā)需要交叉編譯1.2嵌入式軟件不一定需要操作系統(tǒng)1.3嵌入式軟件都是無限循環(huán)1.4嵌入式軟件都要響應(yīng)中斷1.5嵌入式軟件的硬件相關(guān)性一、根本特征2由于其本身不具備自主開發(fā)能力,必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。調(diào)試需要各種邏輯分析儀、混合信號(hào)示波器等。概念列示1.1嵌入式軟件開發(fā)需要交叉編譯3嵌入式系統(tǒng)采用“宿主機(jī)/目標(biāo)機(jī)〞方式——交叉編譯。USB/RS232/以太網(wǎng)宿主機(jī):通用計(jì)算機(jī)〔PC〕,開發(fā)環(huán)境。目標(biāo)機(jī):嵌入式系統(tǒng),運(yùn)行環(huán)境。通用計(jì)算機(jī)程序開發(fā)和編譯在一臺(tái)計(jì)算機(jī)上完成——直接編譯。內(nèi)存小存儲(chǔ)空間有限計(jì)算能力有限提問:為何嵌入式要用這種方式4簡(jiǎn)單的嵌入式系統(tǒng)上,譬如MCS-51處理器上,可以直接運(yùn)行裸機(jī)程序。復(fù)雜嵌入式系統(tǒng)上,需要嵌入式操作系統(tǒng)來調(diào)度資源和控制。1.2嵌入式軟件不一定需要操作系統(tǒng)5嵌入式軟件的結(jié)構(gòu)上都是沒有出口的,程序不能退出,整個(gè)程序的根本結(jié)構(gòu)是無限循環(huán)。配合中斷構(gòu)成整體。列概念1.3嵌入式軟件都是無限循環(huán)8main(){Init_HardWare();/*硬件初始化*//*超級(jí)循環(huán)*/

while(1)

{

action1();/*常規(guī)循環(huán)操作*/action2();

}}……9main(){Init_HardWare();/*硬件初始化*//*超級(jí)循環(huán)*/for(;;)/*也有人這樣寫*/

{

action1();/*常規(guī)循環(huán)操作*/action2();

}}……10main(){/*超級(jí)循環(huán)*/while(1)

{

action1();/*常規(guī)循環(huán)操作*/action2();

}}……/*中斷1對(duì)應(yīng)的效勞程序*/__interruptISR1()

{

/*中斷效勞工作*/

}CPU中斷源1外部事件執(zhí)行ISR1編譯器自動(dòng)參加現(xiàn)場(chǎng)出入棧代碼1.4嵌入式軟件都要響應(yīng)中斷11main(){/*超級(jí)循環(huán)*/while(1)

enter_low_power();/*進(jìn)入低功耗狀態(tài)*/}/*中斷1對(duì)應(yīng)的效勞程序*/__interruptISR1()

{

/*中斷效勞工作*/

}……/*中斷n對(duì)應(yīng)的效勞程序*/__interruptISRn()

{

/*中斷效勞工作*/

}低功耗程序設(shè)計(jì)121.5嵌入式軟件的硬件相關(guān)性13驅(qū)動(dòng)程序14API函數(shù)〔應(yīng)用程序編程接口〕15操作系統(tǒng)16系統(tǒng)任務(wù)及消息隊(duì)列17用戶應(yīng)用程序18軟件功能必須硬件可實(shí)現(xiàn)更換硬件,BSP必須重編。19嵌入式系統(tǒng)的軟件結(jié)構(gòu)二、嵌入式軟件結(jié)構(gòu)和組成20嵌入式軟件組成初始化引導(dǎo)代碼板級(jí)支持包操作系統(tǒng)通信協(xié)議棧圖形用戶界面應(yīng)用軟件212.1初始化引導(dǎo)代碼嵌入式系統(tǒng)上電復(fù)位后第一個(gè)執(zhí)行的代碼執(zhí)行:系統(tǒng)自檢進(jìn)入初始化〔硬件、軟件〕引導(dǎo)操作系統(tǒng)復(fù)位向量80186:FFFF0HMCS51:0HARM:0H222.2BSP板級(jí)支持包(BoardSupportingPackage)

嵌入式操作系統(tǒng)與用戶定制硬件平臺(tái)之間的接口有效解決硬件平臺(tái)的差異性BSP完成系統(tǒng)硬件的初始化 硬件配置存放器 存儲(chǔ)器配置 I/O參數(shù)配置等232.3嵌入式操作系統(tǒng)主要功能〔嵌入式系統(tǒng)大管家〕管理全部軟硬件資源控制程序運(yùn)行提供人機(jī)界面;基于操作系統(tǒng)的開發(fā)模式嵌入式操作系統(tǒng)的內(nèi)核處理器管理〔任務(wù)、任務(wù)之間的通信和同步等〕存儲(chǔ)器管理24完整的嵌入式操作系統(tǒng)內(nèi)核文件系統(tǒng)人機(jī)界面等252.4網(wǎng)絡(luò)協(xié)議棧協(xié)議棧為嵌入式系統(tǒng)產(chǎn)品提供網(wǎng)絡(luò)功能嵌入式協(xié)議棧的提供方式獨(dú)立的第三方協(xié)議棧產(chǎn)品 例如:interniche的嵌入式TCP/IP嵌入式操作系統(tǒng)的提供商提供協(xié)議棧產(chǎn)品例如:NetBIOS、IPX/SPX26272.5應(yīng)用軟件用戶自主開發(fā)的軟件用于PDA上的記事本、通訊錄、計(jì)算器等。用于工業(yè)現(xiàn)場(chǎng)的控制軟件等。應(yīng)用軟件的開發(fā)基于一系列的低層API操作系統(tǒng)網(wǎng)絡(luò)通信協(xié)議棧圖形用戶接口文件系統(tǒng)等282.6GUI與用戶交互的應(yīng)用軟件LCD顯示、鍵盤輸入、觸摸屏輸入等GUI運(yùn)行在嵌入式操作系統(tǒng)之上,通過GUI的功能調(diào)用(API)來實(shí)現(xiàn)。29Qt/Embedded30Microwindows31TinyXServer

32三、軟件系統(tǒng)的設(shè)計(jì)方法無操作系統(tǒng)的嵌入式軟件設(shè)計(jì)有操作系統(tǒng)的嵌入式軟件設(shè)計(jì)333.1無操作系統(tǒng)的嵌入式軟件設(shè)計(jì)前后臺(tái)系統(tǒng)中斷〔事件〕驅(qū)動(dòng)系統(tǒng)巡回效勞系統(tǒng)基于定時(shí)器的巡回效勞系統(tǒng)343.1.1前后臺(tái)系統(tǒng)后臺(tái):一個(gè)無限循環(huán),巡回地執(zhí)行多個(gè)事件,完成相應(yīng)的操作。前臺(tái):中斷效勞程序,處理異步事件。35程序框架-后臺(tái)main(){ /*硬件初始化*/while(1)/*后臺(tái)程序*/{ action1(); action2(); action3(); …}}action_1(){ /*執(zhí)行動(dòng)作n*/ …}……action_n(){ /*執(zhí)行動(dòng)作n*/ …}36程序框架-前臺(tái)Isr_1(){/*中斷1的中斷效勞程序*/…}……Isr_n(){/*中斷2的中斷效勞程序*/…}37main(){c=3;a=6;/*超級(jí)循環(huán)*/while(1)

{

b=a*c;……………action(b);

}}……__interruptISR1()/*中斷1對(duì)應(yīng)的效勞程序*/{

a=100;

}中斷b=18中斷b=300383.1.2中斷〔事件〕驅(qū)動(dòng)系統(tǒng)原理整個(gè)嵌入式系統(tǒng)軟件由中斷效勞程序構(gòu)成主程序完成系統(tǒng)的初始化工作應(yīng)用低功耗系統(tǒng)設(shè)計(jì)事件驅(qū)動(dòng)系統(tǒng)構(gòu)成主程序-完成系統(tǒng)的初始化中斷效勞例程-完成事務(wù)處理39中斷驅(qū)動(dòng)系統(tǒng)-主程序main()/*初始化*/{ /*todo:系統(tǒng)的初始化*/while(1){……………其它代碼enter_low_power();/*進(jìn)入低功耗狀態(tài)*/}}40中斷驅(qū)動(dòng)系統(tǒng)-中斷程序Isr_n()/*其中的一個(gè)中斷效勞程序*/{ /*todo:處理中斷事件*/}413.1.3巡回效勞系統(tǒng)應(yīng)用:嵌入式處理器/控制器的中斷源不多,無法將外部事件與中斷源完全關(guān)聯(lián)。main(){/*todo:系統(tǒng)初始化*/while(1){action_1();/*巡回檢測(cè)事件1并處理事件*/action_2();/*巡回檢測(cè)事件2并處理事件*/……action_n();/*巡回檢測(cè)事件n并處理事件*/}}423.1.4基于定時(shí)器的巡回效勞系統(tǒng)普通巡回效勞系統(tǒng)的缺點(diǎn)處理器全速運(yùn)行,開銷大-功耗高構(gòu)成主程序定時(shí)器中斷效勞程序43主程序main(){/*todo:系統(tǒng)初始化*//*todo:設(shè)置定時(shí)器*/while(1){………..其它代碼或enter_low_power();}}44定時(shí)器中斷效勞例程Isr_timer()/*定時(shí)器的中斷效勞程序*/{ action_1();/*執(zhí)行事件1的處理*/ action_2();/*執(zhí)行事件2的處理*/ … action_n();/*執(zhí)行事件n的處理*/}451、嵌入式操作系統(tǒng)種類 分時(shí)系統(tǒng) 實(shí)時(shí)系統(tǒng)2、任務(wù)調(diào)度方式非搶占式搶占式3.2基于嵌入式操作系統(tǒng)的軟件設(shè)計(jì)463.2.1基于分時(shí)系統(tǒng)的軟件結(jié)構(gòu)應(yīng)用:PDA等不需要實(shí)時(shí)處理的應(yīng)用缺點(diǎn):無法保證事務(wù)處理的優(yōu)先級(jí)473.2.2實(shí)時(shí)嵌入式系統(tǒng)系統(tǒng)組成任務(wù)用戶任務(wù)系統(tǒng)任務(wù)操作系統(tǒng)的任務(wù)調(diào)度器根據(jù)任務(wù)的優(yōu)先級(jí)進(jìn)行調(diào)度任務(wù)的執(zhí)行引起任務(wù)調(diào)度的因素硬件中斷定時(shí)器溢出任務(wù)之間的通信和同步等其它程序〔主程序、子程序等〕48493.2.3實(shí)時(shí)系統(tǒng)的調(diào)度方法非搶占式調(diào)度系統(tǒng)總是先運(yùn)行高優(yōu)先級(jí)的任務(wù)低優(yōu)先級(jí)的任務(wù)運(yùn)行時(shí),高優(yōu)先級(jí)的任務(wù)不能中斷低優(yōu)先級(jí)的任務(wù)系統(tǒng)簡(jiǎn)單,操作系統(tǒng)的開銷小搶占式調(diào)度系統(tǒng)總是運(yùn)行最高優(yōu)先級(jí)的任務(wù)一旦高優(yōu)先級(jí)的任務(wù)就緒,低優(yōu)先級(jí)的任務(wù)被中斷系統(tǒng)復(fù)雜,操作系統(tǒng)的開銷大50四、軟件的移植移植的必要性裸機(jī)系統(tǒng)的軟件移植操作系統(tǒng)與應(yīng)用軟件整體移植應(yīng)用軟件的移植可移植應(yīng)用軟件的設(shè)計(jì)思路514.1移植的必要性基于嵌入式處理器的原因兼容機(jī)更新方式-量變,短時(shí)間例如:80x86系列新的體系結(jié)構(gòu)代替舊的體系結(jié)構(gòu)-質(zhì)變,長(zhǎng)時(shí)間例如:dragonball:EZ,VZ:68000體系,SZ:ARM體系基于嵌入式操作系統(tǒng)的原因舊的操作系統(tǒng)淘汰,新的操作系統(tǒng)被開發(fā)出來應(yīng)用軟件運(yùn)行于不同的嵌入式操作系統(tǒng)平臺(tái)上524.2裸機(jī)系統(tǒng)的軟件移植裸機(jī)系統(tǒng)的特點(diǎn)比較簡(jiǎn)單使用匯編語言或C語言開發(fā)不可移植的情況匯編語言開發(fā)跨平臺(tái)模塊化差53應(yīng)用軟件輸入/輸出模塊處理器硬件應(yīng)用軟件硬件抽象層處理器硬件輸入/輸出模塊硬件相關(guān)可移植性結(jié)構(gòu)增加硬件抽象層544.3操作系統(tǒng)之上的移植

溫馨提示

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

評(píng)論

0/150

提交評(píng)論