ucos-ii簡單介紹
前言篇
前段時間看了 Linux 版塊“zjw50001”網友上傳的資料《一步一步教你開發嵌入式 Linux 應用程序》感覺對于學習 Linux 的新手來說有很大幫助。同時也很受啟發。決定在UCOS 版塊發這樣一個連續貼來介紹一下 uCOS-II。主要包括 uCOS-II 的介紹、UCOS-II的移植、uCOS-II的的源碼解析和 UCOS-II 的應用案例。uCOS-II 的版本采用常用的 2.52 版本,開發平臺用我手頭現有的 STM32F103XXX 自制的開發板。
在這采用邊寫邊討論的方式。如果在過程中大家有疑問請及時跟帖提出。會在每篇后給出解決方法,同時考慮到工作量比較大,所以希望大家積極參與,讓我們共同把 uCOS-II這個嵌入式操作系統的知識傳授個每一位需要的網友。
0.png (179.08 KB, 下載次數: 126)
下載附件
2018-11-8 16:40 上傳
μC/OS 和 μC/OS-II 是專門為計算機的嵌入式應用設計的, 絕大部分代碼是用 C 語言編寫的。CPU 硬件相關部分是用匯編語言編寫的、總量約 200行的匯編語言部分被壓縮到最低限度,為的是便于移植到任何一種其它的 CPU 上。用戶只要有標準的 ANSI 的C 交叉編譯器, 有匯編器、 連接器等軟件工具, 就可以將 μC/OS-II 嵌人到開發的產品中。 μC/OS-II 具有執行效率高、 占用空間小、 實時性能優良和可擴展性強等特點, 最小內核可編譯至 2KB 。μC/OS-II 已經移植到了幾乎所有知名的 CPU 上。
嚴格地說 uC/OS-II 只是一個實時操作系統內核,它僅僅包含了任務調度,任務管理,時間管理, 內存管理和任務間的通信和同步等基本功能。 沒有提供輸入輸出管理, 文件系統,網絡等額外的服務。但由于 uC/OS-II 良好的可擴展性和源碼開放,這些非必須的功能完全可以由用戶自己根據需要分別實現。
uC/OS-II 目標是實現一個基于優先級調度的搶占式的實時內核,并在這個內核之上提供最基本的系統服務,如信號量,郵箱,消息隊列,內存管理,中斷管理等。
uC/OS-II 以源代碼的形式發布,但并不意味著它是開源軟件。你可以將其用于教學和私下研究(peaceful research);但是如果你將其用于商業用途,那么你必須通過 Micrium獲得商用許可。
雖然 uCOS-II 在商業上使用時需要的得到授權并且費用也是一筆不小的數字, 但是他的開源畢竟帶領我們走入了內核的世界。在此我代表嵌入式工程師向 Mr Jean J.Labrosse 致謝。
任務管理
uC/OS‐II 中最多可以支持 64 個任務,分別對應優先級 0~63,其中 0 為最高優先級。63為最低級,系統保留了 4個最高優先級的任務和 4 個最低優先級的任務,所有用戶可以使用的任務數有 56 個。
uC/OS‐II 提供了任務管理的各種函數調用,包括創建任務,刪除任務,改變任務的優先級,任務掛起和恢復等。
系統初始化時會自動產生兩個任務:一個是空閑任務,它的優先級最低,該任務僅給一個整形變量做累加運算;另一個是系統任務,它的優先級為次低,該任務負責統計當前 cpu 的利用率。
在系統初始化完畢后啟動任務時必須創建一份用戶任務,也就是說必須有一個應用程序(用戶任務,使用應用程序對于我們經常使用 Windows 用戶容易接受一些。呵呵) ,否則系統會崩潰。當然還有一些其他的要求,咱們后續再說,下面簡要概述一下任務管理相關的函數
0.png (60.01 KB, 下載次數: 95)
下載附件
2018-11-8 16:43 上傳
0.png (37.29 KB, 下載次數: 114)
下載附件
2018-11-8 16:43 上傳
0.png (84.45 KB, 下載次數: 108)
下載附件
2018-11-8 16:43 上傳
0.png (116.67 KB, 下載次數: 98)
下載附件
2018-11-8 16:43 上傳
完整的pdf格式文檔51黑下載地址(共82頁):
uCOS-II簡單介紹.pdf
(2.21 MB, 下載次數: 395)
2018-11-8 16:33 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|