STM32實時作業系統

2021-09-12 07:40:41 字數 864 閱讀 3107

1、裸機和作業系統的區別:

裸機是在乙個main函式裡執行的,除了有中斷才會跳到其他地方,否則就會一直按照位址不斷加4來執行(為什麼是加4呢)。順序的執行結構就是你可以通過**找到相應的執行流程。

作業系統 main函式當通過函式堆疊切換的跳轉到第乙個任務之後,第乙個任務好像還是預設的,通過優先順序的判斷優先順序高的可以得到優先的執行,就好像有多個main函式在一起執行的假象(並行)。

2、作業系統作用

作業系統是計算機硬體系統與應用程式之間的介面,應用程式設計人員只是作業系統層為基礎使用計算機系統,所謂程式設計人員看到和使用的只是一些由計算機作業系統提供的函式api,至於作業系統的這些底層函式是怎麼實現的,應用開發人員不需要管。

3嵌入式系統的特點

專門為某些使用者的某些功能設計的,可裁剪性強,linux系統有很多網路協議棧之類的,沒有必要就可以把原始碼刪掉。實時性與可靠性,所謂實時性不是指寫的**要馬上執行,而是你的**可以在合適的時間中執行,因為作業系統有很多的機制,比如資源的強佔,優先順序低的就要等。

4、ucos11的任務是乙個特殊的函式,沒有型別沒有返回值,裡面是乙個死迴圈。

他為什麼可以調出來執行其他任務呢?

能夠跳出來跟別的任務進行通訊,在下面的使用者需要新增的**中一定是有乙個任務切換的函式呼叫的。實際上是cpu的sr暫存器(狀態暫存器)中的任務堆疊的切換的過程。

5、bsp板級支援包是

介於主機板硬體和作業系統中驅動層之間的一層,一般認為它屬於作業系統的一部分,主要是實現對作業系統的支援,為上層的驅動程式提供訪問硬體裝置暫存器的函式包,使之能更好的執行硬體主機板。

在嵌入式系統中,板級支援包用作初始化與執行作業系統並用於評估板的簡易**,它通常包含了以基礎支援來載入作業系統的引導程式,以及主機板上的所有裝置的驅動程式。

基於STM32平台的實時作業系統

基於stm32平台且滿足實時控制要求作業系統,有以下5種可供移植選擇,分別為 clinux c os ii ecos freertos和都江堰作業系統 djyos 下面分別介紹這五種嵌入式作業系統的特點及不足。clinux是一種優秀的嵌入式linux版本,其全稱為micro control linu...

stm32作業系統ucosiii筆記02

臨界段 critical sections 1 為了實現資源共享,乙個作業系統必須提供臨界段操作的功能 2 uc os iii 為了處理林階段 需要關中斷,處理完畢後需要開中斷 避免其他任務或中斷服務進入臨界段 3 uc os iii 定義兩個巨集 macros 開關中斷 os enter crit...

STM32系統架構

這裡所講的 stm32 系統架構主要針對的 stm32f103 這些非互聯型晶元 stm32 主系統主要由 四個驅動單元 和四個被動單元 構成。四個驅動單元是 核心 dcode 匯流排 系統匯流排 通用 dma1 通用 dma2 四被動單元是 ahb 到 apb 的橋 連線所有的 apb 裝置 內部...