教材:嵌入式系統及應用,羅蕾、李允、陳麗蓉等,電子工業出版社
- 嵌入式軟體系統
- 嵌入式軟體系統概述
- 軟體系統
- 嵌入式軟體系統的分類
- 嵌入式軟體系統的體系結構
- 驅動層
- 作業系統層
- 中間件層
- 應用層
- 嵌入式軟體運作流程
- 上電複位闆級初始化階段
- 系統引導更新階段
- 系統初始化階段
- 應用初始化階段
- 多任務應用運作階段
- 嵌入式軟體系統概述
嵌入式軟體系統
嵌入式軟體系統概述
軟體系統
- 軟體(software)是計算機系統中與硬體(hardware)互相依存的另一部分,它包括程式(program)、相關資料(data)及其說明文檔(document)。
- 軟體産品的特性
嵌入式軟體系統的分類
- 從運作平台來分,嵌入式軟體可以分為
- 運作在開發平台上的軟體:設計、開發、測試工具等
- 運作在嵌入式系統上的軟體:嵌入式作業系統、應用程式、驅動程式及部分開發工具
嵌入式軟體系統的體系結構
驅動層
闆級初始化程式、與系統軟體相關的驅動、與應用軟體相關的驅動
作業系統層
作業系統層包括嵌入式核心(基礎)、嵌入式TCP/IP網絡系統、嵌入式檔案系統、嵌入式GUI系統和電源管理等部分
中間件層
目前在一些複雜的嵌入式系統中也開始采用中間件技術,主要包括嵌入式CORBA、嵌入式Java、嵌入式DCOM和面向應用領域的中間件軟體
應用層
主要由多個相對獨立的應用任務組成,每個應用任務完成特定的工作,如I/O任務、計算的任務、通信任務等,由作業系統排程各個任務的運作
嵌入式軟體運作流程
基于多任務作業系統的嵌入式軟體的主要運作流程,該運作流程主要分為5個階段
上電複位、闆級初始化階段
- 闆級初始化程式具有完全的硬體特性,一般采用彙編語言實作
- 不同的嵌入式系統,闆級初始化時要完成的工作具有一定的特殊性,但以下工作一般是必須完成的:
- CPU中堆棧指針寄存器的初始化
- BSS段(Block Storage Space表示未被初始化的資料)的初始化
- CPU晶片級的初始化:中斷控制器、記憶體等的初始化
系統引導/更新階段
根據需要分别進入系統軟體引導階段或系統更新階段
- 系統引導階段
-
系統更新階段
進入系統更新階段後系統可通過網絡進行遠端更新或通過序列槽進行本地更新
系統初始化階段
系統初始化階段需要按特定順序進行,如首先完成核心的初始化,然後完成網絡、檔案系統等的初始化,最後完成中間件等的初始化工作
應用初始化階段
在該階段進行應用任務的建立,信号量、消息隊列的建立和與應用相關的其它初始化工作
多任務應用運作階段
各種初始化工作完成後,系統進入多任務狀态,作業系統按照已确定的算法進行任務的排程,各應用任務分别完成特定的功能