Copyright ? 1999-2020, CSDN.NET, All Rights Reserved
登錄
不三不四特山人
關註
嵌入式系統的軟件組成 原創
2020-02-19 20:47:50
2點贊
不三不四特山人
碼齡1年
關註
嵌入式系統軟件的重要組成部分
1.1:嵌入式軟件的特點
嵌入式軟件除了具有計算機軟件的壹般特性外,還具有壹些與嵌入式系統特性密切相關的特點。因此,嵌入式系統與通用計算機軟件有所不同:
1:軟件與硬件壹體化,軟件固化存儲。
在嵌入式系統中,操作系統和應用系統集成與計算機硬件系統中,系統軟件、應用軟件和系統的硬件壹體化,我們為了提高系統的啟動、執行速度和系統的可靠性,嵌入式系統壹般都固化與半導體存儲器中,也大可以認為是壓縮後存儲在內存之中,而不會存儲與磁盤等外存儲器之中。
2:軟件代碼時空效率要求高,實時性要求高。
當我們在設計嵌入式的應用時,特別需要考慮的是成本的因素,嵌入式軟件的時間和空間上都受到了嚴格的限制。嵌入式系統往往有較高的實時性要求,軟件對於外部做出反應的時間要快,在某些情況下還要求響應時間是確定的和可預測性的。
3:軟件的應用環境復雜,開發的難度大。
在我們生活的環境之中,是有許許多多的自然因素是我們無法預測和控制的,這也就使得我們的嵌入式系統的工作環境也是壹樣。於此因此,在嵌入式軟件開發中壹般都是需要涉及到底層軟件,這就要求開發人員要有紮實的軟件和硬件基礎,能夠靈活的運用不同的開發手段和工具。
4:軟件具有較長的生命周期。
這個就比較簡單的理解了,這些之中有許多是很久以前20世紀就以研發出來並且配套產品壹同進入我們的市場。
1.2:嵌入式系統的軟件結構
壹般來說,嵌入式系統可以根據所運行的環境不同和要求不同將嵌入式系統的軟件劃分位多種不同的結構。
1:簡單的輪詢(Round-Robin)結構
在壹些低端的嵌入式系統中,處理器的處理能力比較低,存儲的容量也比較小,所以壹般來說系統的功能都是相對的比較簡單,通常也只需要壹寫簡單的控制操作。
而最簡單的軟件結構就是輪詢結構,其工作原理就可以類比高級語言中C語言的for循環,重復循環檢查每個外部輸入條件,壹旦有需要或者說是達到標準的任務時,就進行相關的處理。
//初始化
while(TRUE)
{
if(I/O設備1需要服務);//執行設備1服務函數
if(I/O設備2需要服務);//執行設備2服務函數
if(I/O設備3需要服務);//執行設備3服務函數
if(I/O設備4需要服務);//執行設備4服務函數
... ...
if(I/O設備n需要服務);//執行設備n服務函數
}
1
2
3
4
5
6
7
8
9
1
2
3
4
5
6
7
8
9
電子相關專業的同學應該用過壹個儀器就是“數字萬用表”,而這個儀器就是根據這個簡單的結構進行的測量操作
該結構的優點在於結構簡單,便於編程。但是因為缺少了中斷機制,所以存在著程序隨機切換時的壹些潛在問題。
2:帶中斷的輪詢結構
這種結構在簡單的輪詢結構的“主循環”基礎上增加中斷服務程序(ISR)
中斷服務程序處理特別緊急的服務請求,設置狀態標誌;循環主程序輪詢這些狀態標誌,並進行後續的處理。
這種結構也被稱為中斷驅動結構或前後臺結構。