嵌入式軟件運行流程詳述

在這裏插入圖片描述

1. 上電覆位、板級初始化階段

• 嵌入式系統上電覆位後完成板級初始化工作。
• 板級初始化程序具有完全的硬件特性,一般採用彙編語言實現。不同的嵌入式系統,板級初始化時要完成的工作具有一定的特殊性,但以下工作一般是必須完成的:
• CPU中堆棧指針寄存器的初始化。
• BSS段(BLOCK STORAGE SPACE表示未被初始化的數據)的初始化。
• CPU芯片級的初始化:中斷控制器、內存等的初始化。

2. 系統引導/升級階段

• 根據需要分別進入系統軟件引導階段或系統升級階段。
• 軟件可通過測試通信端口數據或判斷特定開關的方式分別進入不同階段。
系統引導階段
系統引導有幾種情況:
• 將系統軟件從NOR FLASH中讀取出來加載到RAM中運行:這種方式可以解決成本及FLASH速度比RAM慢的問題。軟件可壓縮存儲在FLASH中。
• 不需將軟件引導到RAM中而是讓其直接在NORFLASH上運行,進入系統初始化階段。
• 將軟件從外存(如NANDFLASH、CF卡、MMC等)中讀取出來加載到RAM中運行:這種方式的成本更低。
系統升級階段
• 進入系統升級階段後系統可通過網絡進行遠程升級或通過串口進行本地升級。
• 遠程升級一般支持TFTP、FTP、HTTP等方式。
• 本地升級可通過串口使用超級終端或特定的升級軟件進行。

3. 系統初始化階段

• 在該階段進行操作系統等系統軟件各功能部分必需的初始化工作,如根據系統配置初始化數據空間、初始化系統所需的接口和外設等。
• 系統初始化階段需要按特定順序進行,如首先完成內核的初始化,然後完成網絡、文件系統等的初始化,最後完成中間件等的初始化工作。

4. 應用初始化階段

在該階段進行應用任務的創建,信號量、消息隊列的創建和與應用相關的其它初始化工作。

5. 多任務應用運行階段

各種初始化工作完成後,系統進入多任務狀態,操作系統按照已確定的算法進行任務的調度,各應用任務分別完成特定的功能。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章