導航:首頁 > 編程知識 > ucos怎麼編程

ucos怎麼編程

發布時間:2023-04-07 08:35:02

1. STM32單片機 ucos這個東西要怎麼學啊

有STM32基礎的話不難 推薦看邵貝貝的書 網上有電子版的 想結合實際工程 可以看北航出版社出版的《嵌入式實時操作系統uc/os-ii經典實例》
希望對你有幫助

2. ucos原理

ucos-ii是一個可剝奪型內核的實時操作系統,以stm32來說,使用系統滴答定時器,定時產生一個時鍾節拍,來推動任務的調度,管理,切換等。

關於系統大概的運行原理
2.當產生一個時鍾節拍時,如果有比當前運行任務優先順序更高的任務就緒,那麼優先順序(「優先順序」為0時優先順序最高)高的任務搶佔CPU,CPU保存現場環境,放入該任務堆棧中。再將優先順序高的任務的堆棧中的現場環境取出來,寫入CPU寄存器中。(CPU中的寄存器暫時還沒有仔細去研究)。當這個任務執行進入延時,或是要等待某個時間或者信號量。那麼它將放棄CPU的使用權,系統會從任務就緒表中,把優先順序最高的且就緒狀態的任務賦予CPU的使用權。至此來推動整個系統,調度所有的任務。

不發生中斷時UCOS系統時間與任務的切換
①.假設當前運行的任務是低優先順序的任務,CPU程序寄存器中存在的一些寄存器都是低優先順序的任務

②當程序運行到檢測到高優先順序的任務進入就緒狀態的時候,此時CPU發送一些命令,把CPU當前的一些程序寄存器的內容復制到低優先順序任務的堆棧中。也就是1過程。

③.此時通過剛剛的就緒表的機制,可以從程序中得到最高優先順序的任務,也就是2過程=

④.最後的過程3就是把剛剛的高優先順序任務的堆棧指針復制到CPU的程序寄存器當中,實現任務的切換。

當有中斷時,UCOS系統的執行原理
當程序正在執行一個中斷服務函數時,發生一個系統滴答中斷,因為系統滴答定時器的優先順序高,所以會中斷這個中斷服務函數執行任務切換。而有些時候,中斷時不能延時的。例如接收數據時,會發生接收錯誤。造成嚴重的後果。

這時,就有下圖中的操作,可以避免。

PendSV異常(我稱它為中斷)編程為最低的優先順序中斷。如果某個中斷正在執行,而系統滴答搶佔了它,那麼這個中斷將懸起一個PendSV中斷,來緩期執行任務切換。

UCOS的任務切換時間可以在os_cfg.h中去設置OS_TICKS_PER_SEC宏UCOS任務數等配置也可以在該文件中去尋找。

UCOS-II主要提供服務
內存管理
多任務管理
外圍資源管理

關於Make 與編譯
書中有講這一塊,所以我也記錄下我的理解
由於我平時都用keil這樣的集成開發環境,之前也有學習過一段時間的linux,但是對編譯,makefile這些理解的還是不是很好。
編輯makefile 來將源文件和包含的頭文件編譯成需要的.obj文件,然後再將這些.obj文件鏈接成,想要生成的程序。關於makefile好像每一種編譯器都有自己的makefile規則和命令,因為以前學習GCC編譯器和現在書上看到的BCC編譯器寫的makefile好像不太一樣。我也沒有去深究。
所以還是集成開發環境好,工具還是怎麼方便怎麼來。需要學習的原理的時候再去理解,實際的應用中用自己寫的Makefile去編譯文件怕是石樂志哦。

UCOS的任務
任務三要素(我理解的)
任務控制塊
OSTaskCreate((void()(void))start_task,
//任務函數
(void*)0,
//傳遞給任務函數的參數
(OS_STK*)&START_TASK_STK[START_STK_SIZE-1],
//任務堆棧的棧頂
(INT8U)START_TASK_PRIO,
//任務的優先順序

主要包含了任務的棧頂地址,
如果處理器的堆棧是高地址向下生長的那麼棧頂地址

3. 嵌入式ucos2 是軟體 還是一段源代碼 拷到keil裡面就是了。 老師讓自己回去看。。一點頭緒都沒有。。。

ucos2即抄 ucos_II 它是一堆程序代碼,它的源代碼是完全開放的,也就是說在網上能免費下載到這些程序代碼,這些源代碼不針對特定的晶元CPU,可以在很多晶元上運行。它是一個完整的整體,能實現任務新建、任務處理、任務切換等等功能,

在Keil編設環境下使用ucos_II:
1、首先電腦上要有ucos_II的源代碼;
2、然後,最簡單的可以用Add Files to Group將ucos_ii的C文件添加到工程中。

建議:ucos_ii的源代碼最好復制到工程文件夾中再添加。

另:關於在工程中應用ucos_ii,還有很多其他應注意的地方。你確實需要一本書或其他更詳細的資料。

閱讀全文

與ucos怎麼編程相關的資料

熱點內容
90版本升級不送 瀏覽:186
工具箱英文 瀏覽:382
南翔嘉定編程課哪裡好 瀏覽:853
win10改變文件格式 瀏覽:475
linux中的物理地址和虛擬地址 瀏覽:493
有哪些app可以接游戲訂單 瀏覽:472
蘋果硬碟數據恢復要多少錢 瀏覽:394
js綁定下拉框資料庫數據 瀏覽:448
cad文件怎麼復制到另一個文件里邊 瀏覽:858
dxp鑽孔文件 瀏覽:631
iphone大悅城換機 瀏覽:538
找結婚對象上什麼網站 瀏覽:974
學生信息管理系統程序設計報告 瀏覽:640
微信文件怎麼刪除怎麼恢復 瀏覽:407
編程程序怎麼復制 瀏覽:467
文件更改 瀏覽:327
冰點文件路徑 瀏覽:730
軟體一點開文件就關閉 瀏覽:88
網路如何把人捧紅 瀏覽:961
軟體傳輸文件 瀏覽:184

友情鏈接