歡迎來(lái)到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁(yè) 裝配圖網(wǎng) > 資源分類 > PPT文檔下載  

嵌入式軟件程序結(jié)構(gòu).ppt

  • 資源ID:14498001       資源大?。?span id="zioqphy" class="font-tahoma">1.47MB        全文頁(yè)數(shù):47頁(yè)
  • 資源格式: PPT        下載積分:9.9積分
快捷下載 游客一鍵下載
會(huì)員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺(tái)登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要9.9積分
郵箱/手機(jī):
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機(jī)號(hào),方便查詢和重復(fù)下載(系統(tǒng)自動(dòng)生成)
支付方式: 支付寶    微信支付   
驗(yàn)證碼:   換一換

 
賬號(hào):
密碼:
驗(yàn)證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會(huì)被瀏覽器默認(rèn)打開,此種情況可以點(diǎn)擊瀏覽器菜單,保存網(wǎng)頁(yè)到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請(qǐng)使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無(wú)水印,預(yù)覽文檔經(jīng)過(guò)壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標(biāo)題沒(méi)有明確說(shuō)明有答案則都視為沒(méi)有答案,請(qǐng)知曉。

嵌入式軟件程序結(jié)構(gòu).ppt

1,嵌入式系統(tǒng),嵌入式系統(tǒng)的軟件系統(tǒng),2,嵌入式軟件開發(fā)內(nèi)容,開發(fā)系統(tǒng)軟件 操作系統(tǒng) 協(xié)議棧 GUI 庫(kù)函數(shù) 軟件組件與IP(知識(shí)產(chǎn)權(quán)內(nèi)核) 開發(fā)應(yīng)用軟件 在嵌入式操作系統(tǒng)之上進(jìn)行開發(fā) 在硬件層上進(jìn)行開發(fā),3,內(nèi)容,軟件的結(jié)構(gòu)和組成 監(jiān)控程序 裸機(jī)系統(tǒng)軟件的設(shè)計(jì)方法 軟件的移植問(wèn)題 可移植應(yīng)用軟件的開發(fā)原則,4,1 軟件的結(jié)構(gòu)和組成,#include /普通程序 main() printf(“hello,worldn”); ,5,1 軟件的結(jié)構(gòu)和組成,#include /嵌入式軟件主程序 main() while(1) action1(); action2(); ,6,嵌入式系統(tǒng)的軟件開發(fā)問(wèn)題,嵌入式操作系統(tǒng)。 操作系統(tǒng)與應(yīng)用軟件的集成。 軟件的結(jié)構(gòu)。 嵌入式系統(tǒng)的軟件是沒(méi)有出口的,程序不能“退出”,整個(gè)程序的結(jié)構(gòu)應(yīng)該是無(wú)限的循環(huán)。 嵌入式系統(tǒng)的軟件設(shè)計(jì)需要考慮硬件的支持、操作系統(tǒng)的支持、程序的初始化和引導(dǎo)等諸多的方面。 嵌入式系統(tǒng)的軟件可能沒(méi)有操作系統(tǒng),在裸機(jī)上直接開發(fā)。,7,1.1嵌入式系統(tǒng)的軟件組成,初始化引導(dǎo)代碼 板級(jí)支持包 操作系統(tǒng) 通信協(xié)議棧 圖形用戶界面 應(yīng)用軟件,8,嵌入式系統(tǒng)的軟件結(jié)構(gòu),9,1.2初始化引導(dǎo)代碼,初始化引導(dǎo)代碼是任務(wù)嵌入式系統(tǒng)上電復(fù)位后第一個(gè)執(zhí)行的代碼 復(fù)位向量 80186:FFFF0H MCS51:0 ARM:0 執(zhí)行: 自檢 引導(dǎo)操作系統(tǒng) 進(jìn)入初始化(硬件、軟件),10,1.4嵌入式操作系統(tǒng),復(fù)雜系統(tǒng)需要嵌入式操作系統(tǒng)的支持 簡(jiǎn)單系統(tǒng)可以不使用嵌入式操作系統(tǒng) 嵌入式操作系統(tǒng)可裁減 嵌入式操作系統(tǒng)的內(nèi)核 處理機(jī)管理(任務(wù)、任務(wù)之間的通信和同步等) 存儲(chǔ)器管理 完整的嵌入式操作系統(tǒng) 內(nèi)核 文件系統(tǒng) 人機(jī)界面 設(shè)備驅(qū)動(dòng)等,11,1.5網(wǎng)絡(luò)協(xié)議棧,協(xié)議棧對(duì)于具有網(wǎng)絡(luò)功能的嵌入式系統(tǒng)產(chǎn)品是必要的,目前嵌入式協(xié)議棧的提供有兩種方式, 一種是獨(dú)立的第三方協(xié)議棧產(chǎn)品, 一種是嵌入式操作系統(tǒng)的提供商提供協(xié)議棧產(chǎn)品。 協(xié)議棧的運(yùn)行必須基于嵌入式操作系統(tǒng)的平臺(tái)支持,但是并不意味著協(xié)議棧必須依賴于嵌入式操作系統(tǒng)的API。事實(shí)上,許多的嵌入式協(xié)議棧,如inter niche的嵌入式TCP/IP協(xié)議棧做到了與操作系統(tǒng)的最大獨(dú)立性,可以與大多數(shù)嵌入式操作系統(tǒng)集成運(yùn)行。,12,1.6應(yīng)用軟件,嵌入式系統(tǒng)的應(yīng)用軟件一般需要自主開發(fā),不同的嵌入式系統(tǒng)的應(yīng)用軟件各具特色和功能。 例如常用的應(yīng)用軟件用于PDA上,記事本、通訊錄、計(jì)算器等。 應(yīng)用于工業(yè)現(xiàn)場(chǎng)總線領(lǐng)域的應(yīng)用軟件如控制軟件等。 應(yīng)用軟件的開發(fā)基于操作系統(tǒng)、網(wǎng)絡(luò)通信協(xié)議棧、圖形用戶接口、文件系統(tǒng)等一系列的低層API。,13,1.7 GUI,對(duì)于大多數(shù)嵌入式系統(tǒng),圖形用戶接口是必要的,特別是隨身設(shè)備如PDA、手機(jī)等。 GUI運(yùn)行在嵌入式操作系統(tǒng)之上。用戶開發(fā)的與用戶交互的應(yīng)用軟件通過(guò)調(diào)用GUI的功能調(diào)用(API)來(lái)實(shí)現(xiàn)。,14,2 監(jiān)控程序-monitor,監(jiān)控程序是運(yùn)行在嵌入式系統(tǒng)中的一段代碼,具有與用戶進(jìn)行交互,管理系統(tǒng)資源的功能,具有操作系統(tǒng)內(nèi)核的一小部分功能。嵌入式系統(tǒng)正式運(yùn)行時(shí),通常不需要監(jiān)控程序的干預(yù)。 目前開發(fā)嵌入式系統(tǒng),監(jiān)控程序的作為正在減少,只用在一些小的嵌入式系統(tǒng)中。 有的嵌入式控制器的制造商把監(jiān)控程序駐留在ROM中提供給用戶在開發(fā)時(shí)使用,提供的功能如程序下載、調(diào)試、固化等。 如motorola公司的某些8位嵌入式微控制器,15,3 裸機(jī)系統(tǒng)軟件的設(shè)計(jì)方法,無(wú)操作系統(tǒng)的嵌入式軟件設(shè)計(jì) 有操作系統(tǒng)的嵌入式軟件設(shè)計(jì),16,3.1無(wú)操作系統(tǒng)的嵌入式軟件設(shè)計(jì),前后臺(tái)系統(tǒng) 中斷(事件)驅(qū)動(dòng)系統(tǒng) 巡回服務(wù)系統(tǒng) 基于定時(shí)器的巡回服務(wù)系統(tǒng),17,3.1.1前后臺(tái)系統(tǒng),后臺(tái): 應(yīng)用程序是一個(gè)無(wú)限循環(huán),巡回地執(zhí)行多個(gè)事件,完成相應(yīng)的操作。這一部分軟件稱為后臺(tái)。通常在主程序main()中被調(diào)用。 前臺(tái): 中斷服務(wù)程序處理異步事件,這一部分可以看成是前臺(tái)。 后臺(tái)可以稱為任務(wù)級(jí),前臺(tái)可以稱為中斷級(jí)。強(qiáng)實(shí)時(shí)性的的關(guān)鍵操作一定要用中斷來(lái)實(shí)現(xiàn)。,18,程序框架-后臺(tái),main() /* 硬件初始化 */ while(1) /* 后臺(tái)程序 */ action1(); action2(); action3(); ,action_1() /* 執(zhí)行動(dòng)作n */ action_n() /* 執(zhí)行動(dòng)作n */ ,19,程序框架-前臺(tái),Isr_1() /* 中斷1的中斷服務(wù)程序 */ Isr_n() /* 中斷2的中斷服務(wù)程序 */ ,20,前后臺(tái)系統(tǒng)的特點(diǎn),實(shí)時(shí)性問(wèn)題(不好) 中斷服務(wù)程序提供的數(shù)據(jù)(實(shí)時(shí)性數(shù)據(jù))只有在后臺(tái)輪詢到的時(shí)候才能得到運(yùn)行 應(yīng)用 小系統(tǒng): 微波爐 電話機(jī) 玩具等,21,3.1.2中斷(事件)驅(qū)動(dòng)系統(tǒng),原理 整個(gè)嵌入式系統(tǒng)軟件由中斷服務(wù)程序構(gòu)成 主程序完成系統(tǒng)的初始化工作 應(yīng)用 低功耗系統(tǒng)設(shè)計(jì) 事件驅(qū)動(dòng)系統(tǒng) 構(gòu)成 主程序-完成系統(tǒng)的初始化 中斷服務(wù)例程-完成事務(wù)處理,22,中斷驅(qū)動(dòng)系統(tǒng)-主程序,main() /*完成系統(tǒng)的硬件初始化和數(shù)據(jù)結(jié)構(gòu)的初始化(如果必要的話)*/ /* to do: 系統(tǒng)的初始化 */ while(1) 。其它代碼或 enter_low_power(); /*進(jìn)入低功耗狀態(tài)*/ ,23,中斷驅(qū)動(dòng)系統(tǒng)-中斷程序,Isr_n() /* 其中的一個(gè)中斷服務(wù)程序 */ /* to do: 處理中斷事件 */ /* to do: 中斷返回 */ ,24,3.1.3巡回服務(wù)系統(tǒng),應(yīng)用: 嵌入式處理器/控制器的中斷源不多 解決方案 增加中斷源-需要硬件,成本高 軟件方案-軟件巡回服務(wù) main() /* to do: 系統(tǒng)初始化 */ while(1) action_1();/*巡回檢測(cè)事件1并處理事件*/ action_2();/*巡回檢測(cè)事件2并處理事件*/ action_n();/*巡回檢測(cè)事件n并處理事件*/ ,25,3.1.4基于定時(shí)器的巡回服務(wù)系統(tǒng),普通巡回服務(wù)系統(tǒng)的缺點(diǎn) 處理器全速運(yùn)行,開銷大-功耗高-電池供電系統(tǒng) 降低處理器的工作時(shí)間-基于定時(shí)器的巡回服務(wù)系統(tǒng) 構(gòu)成 主程序 定時(shí)器中斷服務(wù)程序,26,主程序,main() /* to do: 系統(tǒng)初始化 */ /* to do: 設(shè)置定時(shí)器,如自動(dòng)重新加載方式 */ while(1) 。其它代碼或 enter_low_power(); ,27,定時(shí)器中斷服務(wù)例程,Isr_timer() /* 定時(shí)器的中斷服務(wù)程序 */ action_1(); /*執(zhí)行事件1的處理*/ action_2(); /*執(zhí)行事件2的處理*/ action_n(); /*執(zhí)行事件n的處理*/ ,28,4 軟件的移植,Contents 考慮移植的必要性 裸機(jī)系統(tǒng)的軟件移植 應(yīng)用軟件的移植 可移植應(yīng)用軟件的設(shè)計(jì)思路,29,4.1移植的必要性,基于嵌入式處理器的原因 處理器的更新方式 兼容機(jī)更新方式-量變,短時(shí)間 80 x86系列 新的體系結(jié)構(gòu)代替舊的體系結(jié)構(gòu)-質(zhì)變,長(zhǎng)時(shí)間 dragon ball:EZ,VZ: 68000體系,SZ:ARM體系 基于嵌入式操作系統(tǒng)的原因 舊的操作系統(tǒng)淘汰,新的操作系統(tǒng)被開發(fā)出來(lái) 應(yīng)用軟件需要運(yùn)行于不同的嵌入式操作系統(tǒng)平臺(tái)上,30,例:,硬件: Z80,STD總線工業(yè)PC 軟件: DOS的DCSwindows平臺(tái)、Vxworks平臺(tái),31,5.2裸機(jī)系統(tǒng)的軟件移植,裸機(jī)系統(tǒng)的特點(diǎn) 通常比較簡(jiǎn)單(如8位字寬) 使用匯編語(yǔ)言或C語(yǔ)言開發(fā) 不易移植的情況 匯編語(yǔ)言開發(fā) 跨平臺(tái) 模塊化差,32,基于硬件抽象層可移植軟件結(jié)構(gòu),應(yīng)用軟件,輸入/輸出模塊,處理器硬件,應(yīng)用軟件,硬件抽象層,處理器硬件,輸入/輸出模塊,硬件相關(guān),可移植性結(jié)構(gòu),33,硬件抽象層的特點(diǎn),硬件抽象層具有與硬件密切相關(guān)性; 為上層應(yīng)用軟件的開發(fā)提供統(tǒng)一的接口 接口定義的功能應(yīng)包含硬件或系統(tǒng)所需硬件支持的所有功能; 接口定義簡(jiǎn)單明了,太多接口函數(shù)會(huì)增加軟件模擬的復(fù)雜性; 具有可測(cè)性的接口設(shè)計(jì)有利于系統(tǒng)的軟硬件測(cè)試和集成。,應(yīng)用軟件,硬件抽象層,處理器硬件,輸入/輸出模塊,34,硬件抽象層設(shè)計(jì)方法和原則,軟件硬件并行、協(xié)同設(shè)計(jì) 分析接口的數(shù)據(jù)傳輸特性(雙向/單向數(shù)據(jù)傳輸,字節(jié)型/數(shù)據(jù)幀型傳輸模式); 分析接口配置屬性; 定義接口所需的相關(guān)函數(shù)。,35,應(yīng)用軟件的開發(fā)原則,不直接操作硬件 調(diào)用硬件抽象層的接口函數(shù) 完成面向應(yīng)用的軟件開發(fā),36,硬件抽象層例子,RS232串行通信接口 發(fā)送功能 接收功能 模式、參數(shù)設(shè)置功能 控制功能 對(duì)于MCS51,8251,16450/16550,etc設(shè)計(jì)同樣的接口函數(shù), uart_put(uint8 ch, uint8 c); uart_get(uint8 ch, uint8 *buf); uart_puts(uint8 ch, uint8 *pstr); uart_gets(uint8 ch, uint8 *pbuf); uart_init(uint8 ch, uint8 rate, uint8 data_len, uint8 check, uint8 start_bit, uint8 stop_bit);,37,應(yīng)用程序中使用可移植的UART的功能,初始化uart uart_init() 發(fā)送一個(gè)字符 uart_put() 接收一個(gè)字符 uart_get(),38,主機(jī) 從uart接收字符,并發(fā)回uart 終端 從鍵盤上輸入字符,屏幕上回顯,Terminal鍵盤操作回顯,39,terminal 鍵盤操作回顯,main() /*主機(jī)程序*/ init_uart(); while(1) c=uart_get(); uart_put() ,40,terminal 鍵盤操作回顯,main() /*終端程序*/ init_uart(); while(1) c=key_get();/* read keyboard */ uart_put(); uart_get(); printf(); ,41,5可移植應(yīng)用軟件的設(shè)計(jì)原則,嵌入式系統(tǒng)開發(fā)的初期考慮移植問(wèn)題 設(shè)計(jì)原則 層次化 模塊化 層次化與模塊化的結(jié)合 可設(shè)計(jì)硬件抽象層 可設(shè)計(jì)操作系統(tǒng)抽象層,42,5.5.3層次化與模塊化的結(jié)合,43,datatype.h /* 基本數(shù)據(jù)類型 */ typedef unsigned char BOOLEAN; typedef unsigned char UINT8; typedef signed char INT8; typedef unsigned short UINT16; typedef signed short INT16; typedef unsigned int UINT32; typedef signed int INT32; typedef float FP32; typedef double FP64;,可移植數(shù)據(jù)類型的定義,44,基于中間層的系統(tǒng)設(shè)計(jì)的特點(diǎn),優(yōu)點(diǎn) 可移植性好 缺點(diǎn) 效率低 例子: ODBC,45,小結(jié),嵌入式系統(tǒng)的軟件結(jié)構(gòu) 裸機(jī)系統(tǒng) 含有操作系統(tǒng)的復(fù)雜系統(tǒng) 關(guān)于嵌入式應(yīng)用軟件的移植問(wèn)題 可移植系統(tǒng)的設(shè)計(jì),46,作業(yè)思考題,針對(duì)于每一種(共4種)裸機(jī)系統(tǒng)的設(shè)計(jì)方法,各舉一個(gè)應(yīng)用的例子,并用類C語(yǔ)言描述你的方案 熟悉嵌入式操作系統(tǒng)的基本概念和術(shù)語(yǔ),47,The End,

注意事項(xiàng)

本文(嵌入式軟件程序結(jié)構(gòu).ppt)為本站會(huì)員(max****ui)主動(dòng)上傳,裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng)(點(diǎn)擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因?yàn)榫W(wǎng)速或其他原因下載失敗請(qǐng)重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!