導航:首頁 > 源碼編譯 > ucosii官方源碼

ucosii官方源碼

發布時間:2022-12-10 13:09:21

『壹』 UCOS----時鍾節拍源碼分析

時鍾節拍類似於人體心臟的跳動,人體依賴心臟的跳動將血液輸入身體各個部位,支撐生命活動。時鍾節拍的是操作系統的時基,操作系統依賴於時鍾節拍推動 CPU 去執行指令。

時鍾節拍是系統以固定的頻率產生中斷(時基中斷),並在中斷處理與時間相關的事件,推動所有任務向前運行。時鍾節拍需要依賴於硬體定時器,STM32 通常使用 systick 時鍾作為 MCU 的內核定時器。

根據系統時鍾的初始化,在系統計數達到後,產生時鍾中斷,並調用中斷處理函數 OS_CPU_SysTickHandler 。

在 OS_CPU_SysTickHandler 函數中調用了 UCOS 的時間片處理函數 OSTimeTick ,對系統的時間片進行處理。

在 OSTimeTick 函數中給時基任務、定時器任務都發送了信號量。這里先介紹時基任務。時基任務是在 OS 初始化函數 void OSInit (OS_ERR *p_err) 中創建。

本章闡述了時鍾節拍的工作原理,看似微小卻是整個 uC/OS 系統的命脈。時鍾節拍的運行依賴於 CPU 的定時器, STM32 專門為此量身定製了 SysTick 時鍾。每個時鍾節拍到來時,時基任務就會執行,節拍任務的重點是更新節拍任務列表。在節拍列表中,存放的均是與時間事件(如延時或超時)相關的任務。如果任務到期,則需要更新響應的任務狀態。

『貳』 求ucos ii v2.52 源代碼

我 有 Micrium-uCOS-II-V286 和 Micrium-uCOS-II-V290。 需要的話 告訴我 你的EMAIL

『叄』 ucosii是什麼裡面的OS是指什麼在看正點原子給的stm32f407開發指南的時候看到這個,什麼意思

ucosii也就是μC/OS-II由Micrium公司提供,是一個可移植、可固化的、可裁剪的、佔先式多任務實時內核,它適用於多種微處理器,微控制器和數字處理晶元(已經移植到超過100種以上的微處理器應用中)。同時,該系統源代碼開放、整潔、一致,注釋詳盡,適合系統開發。 μC/OS-II已經通過聯邦航空局(FAA)商用航行器認證,符合航空無線電技術委員會(RTCA)DO-178B標准。
μC/OS-II 的前身是μC/OS,最早出自於1992 年美國嵌入式系統專家Jean J.Labrosse 在《嵌入式系統編程》雜志的5 月和6 月刊上刊登的文章連載,並把μC/OS 的源碼發布在該雜志的B B S 上。

『肆』 ucosii源代碼是用什麼語言寫的

是否μC/OS-II,是就看下面的內容,如果不是你想要的答案,本人也無能為力

外行人粗略理解:從這篇文章可以看出μC/OS-II內核和應用程序放在一起編譯成一個文件這種做法是特有的,應該也不能分開。

單片機軟體操作系統的利弊,UCOSII在單片機上的使用

來源:今日電子

摘要:近年來,在單片機系統中嵌入操作系統已經成為人們越來越關心的一個話題。本文通過對一種源碼公開的嵌入式實時操作系統μC/OS-II的分析,以51系列單片機為例,闡述了在單片機中使用該嵌入式操作系統的優缺點,以及在應用中應當注意的一些問題。

關鍵詞:實時操作系統;μC/OS-II;單片機

引言

早在20世紀60年代,就已經有人開始研究和開發嵌入式操作系統。但直到最近,它才在國內被越來越多的提及,在通信、電子、自動化等需要實時處理的領域所日益顯現的重要性吸引了人們越來越多的注意力。但是,人們所談論的往往是一些著名的商業內核,諸如VxWorks、PSOS等。這些商業內核性能優越,但價格昂貴,主要用於16位和32位處理器中,針對國內大部分用戶使用的51系列8位單片機,可以選擇免費的μC/OS-II。

μC/OS-II的特點

1.μC/OS-II是由Labrosse先生編寫的一個開放式內核,最主要的特點就是源碼公開。這一點對於用戶來說可謂利弊各半,好處在於,一方面它是免費的,另一方面用戶可以根據自己的需要對它進行修改。缺點在於它缺乏必要的支持,沒有功能強大的軟體包,用戶通常需要自己編寫驅動程序,特別是如果用戶使用的是不太常用的單片機,還必須自己編寫移植程序。

2.μC/OS-II是一個佔先式的內核,即已經准備就緒的高優先順序任務可以剝奪正在運行的低優先順序任務的CPU使用權。這個特點使得它的實時性比非佔先式的內核要好。通常我們都是在中斷服務程序中使高優先順序任務進入就緒態(例如發信號),這樣退出中斷服務程序後,將進行任務切換,高優先順序任務將被執行。拿51單片機為例,比較一下就可以發現這樣做的好處。假如需要用中斷方式採集一批數據並進行處理,在傳統的編程方法中不能在中斷服務程序中進行復雜的數據處理,因為這會使得關中斷時間過長。所以經常採用的方法是置一標志位,然後退出中斷。由於主程序是循環執行的,所以它總有機會檢測到這一標志並轉到數據處理程序中去。但是因為無法確定發生中斷時程序到底執行到了什麼地方,也就無法判斷要經過多長時間數據處理程序才會執行,中斷響應時間無法確定,系統的實時性不強。如果使用μC/OS-II的話,只要把數據處理程序的優先順序設定得高一些,並在中斷服務程序中使它進入就緒態,中斷結束後數據處理程序就會被立即執行。這樣可以把中斷響應時間限制在一定的范圍內。對於一些對中斷響應時間有嚴格要求的系統,這是必不可少的。但應該指出的是如果數據處理程序簡單,這樣做就未必合適。因為μC/OS-II要求在中斷服務程序末尾使用OSINTEXIT函數以判斷是否進行任務切換,這需要花費一定的時間。

3.μC/OS-II和大家所熟知的Linux等分時操作系統不同,它不支持時間片輪轉法。μC/OS-II是一個基於優先順序的實時操作系統,每個任務的優先順序必須不同,分析它的源碼會發現,μC/OS-II把任務的優先順序當做任務的標識來使用,如果優先順序相同,任務將無法區分。進入就緒態的優先順序最高的任務首先得到CPU的使用權,只有等它交出CPU的使用權後,其他任務才可以被執行。所以它只能說是多任務,不能說是多進程,至少不是我們所熟悉的那種多進程。顯而易見,如果只考慮實時性,它當然比分時系統好,它可以保證重要任務總是優先佔有CPU。但是在系統中,重要任務畢竟是有限的,這就使得劃分其他任務的優先權變成了一個讓人費神的問題。另外,有些任務交替執行反而對用戶更有利。例如,用單片機控制兩小塊顯示屏時,無論是編程者還是使用者肯定希望它們同時工作,而不是顯示完一塊顯示屏的信息以後再顯示另一塊顯示屏的信息。這時候,要是μC/OS-II即支持優先順序法又支持時間片輪轉法就更合適了。

4.μC/OS-II對共享資源提供了保護機制。正如上文所提到的,μC/OS-II是一個支持多任務的操作系統。一個完整的程序可以劃分成幾個任務,不同的任務執行不同的功能。這樣,一個任務就相當於模塊化設計中的一個子模塊。在任務中添加代碼時,只要不是共享資源就不必擔心互相之間有影響。而對於共享資源(比如串口),μC/OS-II也提供了很好的解決辦法。一般情況下使用的是信號量的方法。簡單地說,先創建一個信號量並對它進行初始化。當一個任務需要使用一個共享資源時,它必須先申請得到這個信號量,而一旦得到了此信號量,那就只有等使用完了該資源,信號量才會被釋放。在這個過程中即使有優先權更高的任務進入了就緒態,因為無法得到此信號量,也不能使用該資源。這個特點的好處顯而易見,例如當顯示屏正在顯示信息的時候,外部產生了一個中斷,而在中斷服務程序中需要顯示屏顯示其他信息。這樣,退出中斷服務程序後,原有的信息就可能被破壞了。而在μC/OS-II中採用信號量的方法時,只有顯示屏把原有信息顯示完畢後才可以顯示新信息,從而可以避免這個現象。不過,採用這種方法是以犧牲系統的實時性為代價的。如果顯示原有信息需要耗費大量時間,系統只好等待。從結果上看,等於延長了中斷響應時間,這對於未顯示信息是報警信息的情況,無疑是致命的。發生這種情況,在μC/OS-II中稱為優先順序反轉,就是高優先順序任務必須等待低優先順序任務的完成。在上述情況下,在兩個任務之間發生優先順序反轉是無法避免的。所以在使用μC/OS-II時,必須對所開發的系統了解清楚,才能決定對於某種共享資源是否使用信號量。

μC/OS-II在單片機使用中的一些特點

1.在單片機系統中嵌入μC/OS-II將增強系統的可靠性,並使得調試程序變得簡單。以往傳統的單片機開發工作中經常遇到程序跑飛或是陷入死循環。可以用看門狗解決程序跑飛問題,而對於後一種情況,尤其是其中牽扯到復雜數學計算的話,只有設置斷點,耗費大量時間來慢慢分析。如果在系統中嵌入μC/OS-II的話,事情就簡單多了。可以把整個程序分成許多任務,每個任務相對獨立,然後在每個任務中設置超時函數,時間用完以後,任務必須交出CPU的使用權。即使一個任務發生問題,也不會影響其他任務的運行。這樣既提高了系統的可靠性,同時也使得調試程序變得容易。

2.在單片機系統中嵌入μC/OS-II將增加系統的開銷。現在所使用的51單片機,一般是指87C51或者89C51,其片內都帶有一定的RAM和ROM。對於一些簡單的程序,如果採用傳統的編程方法,已經不需要外擴存儲器了。如果在其中嵌入μC/OS-II的話,在只需要使用任務調度、任務切換、信號量處理、延時或超時服務的情況下,也不需要外擴ROM了,但是外擴RAM是必須的。由於μC/OS-II是可裁減的操作系統,其所需要的RAM大小就取決於操作系統功能的多少。舉例來說,μC/OS-II允許用戶定義最大任務數。由於每建立一個任務,都要產生一個與之相對應的數據結構TCB,該數據結構要佔用很大一部分內存空間。所以在定義最大任務數時,一定要考慮實際情況的需要。如果定得過大,勢必會造成不必要的浪費。嵌入μC/OS-II以後,總的RAM需求可以由如下表達式得出:

RAM總需求=應用程序的RAM需求+內核數據區的RAM需求+(任務棧需求+最大中斷嵌套棧需求)·任務數

所幸的是,μC/OS-II可以對每個任務分別定義堆棧空間的大小,開發人員可根據任務的實際需求來進行棧空間的分配。但在RAM容量有限的情況下,還是應該注意一下對大型數組、數據結構和函數的使用,別忘了,函數的形參也是要推入堆棧的。

3.μC/OS-II的移植也是一件需要值得注意的工作。如果沒有現成的移植實例的話,就必須自己來編寫移植代碼。雖然只需要改動兩個文件,但仍需要對相應的微處理器比較熟悉才行,最好參照已有的移植實例。另外,即使有移植實例,在編程前最好也要閱讀一下,因為裡面牽扯到堆棧操作。在編寫中斷服務程序時,把寄存器推入堆棧的順序必須與移植代碼中的順序相對應。

4.和其他一些著名的嵌入式操作系統不同,μC/OS-II在單片機系統中的啟動過程比較簡單,不像有些操作系統那樣,需要把內核編譯成一個映像文件寫入ROM中,上電復位後,再從ROM中把文件載入到RAM中去,然後再運行應用程序。μC/OS-II的內核是和應用程序放在一起編譯成一個文件的,使用者只需要把這個文件轉換成HEX格式,寫入ROM中就可以了,上電後,會像普通的單片機程序一樣運行。

結語

由以上介紹可以看出,μC/OS-II具有免費、使用簡單、可靠性高、實時性好等優點,但也有移植困難、缺乏必要的技術支持等缺點,尤其不像商用嵌入式系統那樣得到廣泛使用和持續的研究更新。但開放性又使得開發人員可以自行裁減和添加所需的功能,在許多應用領域發揮著獨特的作用。當然,是否在單片機系統中嵌入μC/OS-II應視所開發的項目而定,對於一些簡單的、低成本的項目來說,就沒必要使用嵌入式操作系統了。

『伍』 ucos-ii源碼怎麼官方下載

注冊就可以了~
不想注冊的話,網上也有很多工程、例子下載,不一定要從官網下。

『陸』 ucos ii是什麼啊

μC/OS-II是一種可移植的,可植入ROM的,可裁剪的,搶占式的,實時多任務操作系統內核。它被廣泛應用於微處理器、微控制器和數字信號處理器。 μC/OS-II 的前身是μC/OS,最早出自於1992 年美國嵌入式系統專家Jean J.Labrosse 在《嵌入式系統編程》雜志的5 月和6 月刊上刊登的文章連載,並把μC/OS 的源碼發布在該雜志的B B S 上。 μ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》邵貝貝(第二版) 這本書的源碼

配套光碟里有。

『捌』 嵌入式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-Ⅱ:源碼公開的實時嵌入式操作系統》的光碟內容,是光碟哦,pdf我有。

ucos|4-ucosII|盧老師|UCOSII|源享科技ucosd操作系統網路網盤免費資源在線學習

鏈接: https://pan..com/s/10nfqoxR-bPi-kJyYJBswKw

提取碼: 599i

ucos 4-ucosII 盧老師 UCOSII 源享科技ucosd操作系統.zip UCOS視頻教程王華斌.rar UCOS移植資料 如何學習嵌入式開發.rar 零死角玩轉stm32-系統篇1、uCOS-II 移植與深入實戰指南.pdf 基於嵌入式實時操作系統的程序設計技術+周航慈.pdf 北航uCOS-II課件.pdf VC6.0 UCGUI3.90源碼.zip uCOSⅡ中文教程(邵貝貝).pdf ucosii.rar uCOS2精華快速掌握.ppt

閱讀全文

與ucosii官方源碼相關的資料

熱點內容
python入門迷宮 瀏覽:67
Python打折代碼不含商品 瀏覽:218
把多個Word合成一個pdf 瀏覽:354
aes演算法描述 瀏覽:899
新手機壓縮包在哪 瀏覽:779
java抽獎程序源碼 瀏覽:700
汽車壓縮機又叫 瀏覽:95
android讀取data文件 瀏覽:874
紅旗智聯app怎麼跟h5車子連接 瀏覽:138
材料化學pdf 瀏覽:114
伺服器機房都有什麼東西 瀏覽:370
最近長陰短柱量能副圖指標源碼 瀏覽:647
python字元串去除後四位 瀏覽:167
捷速pdf編輯器破解版 瀏覽:725
大帶寬伺服器怎麼租 瀏覽:299
籃球程序員單身難嗎 瀏覽:877
一接到命令就 瀏覽:488
挖幣伺服器是什麼 瀏覽:524
攜帶型u盤加密 瀏覽:464
apex找不到伺服器怎麼解決 瀏覽:316