1、什么是任務
我們設計復雜、大型程序的時候,將這些負責的程序分割成許多個簡單的小程序,這些小程序就是單個的任務,所有的小任務和諧的工作,最終完成復雜的功能。在操作系統中這些小任務可以并發執行,從而提高CPU的使用效率。
UCOSIII就是一個可剝奪的多任務系統,我們使用UCOSIII的一個重要 的原因就是它的多任務處理能力。
----------------------------------------------------------------------------------------------------------------------------------------------------------
2、UCOSIII中的任務
在UCOSIII中任務就是程序實體,UCOSIII能夠管理和調度這些小任務(程序)。
UCOSIII中的任務由三部分組成:任務堆棧、任務控制塊和任務函數。
任務堆棧:上下文切換的時候用來保存任務的工作環境,就是STM32的內部寄存器值。
任務控制塊:任務控制塊用來記錄任務的各個屬性。
任務函數:由用戶編寫的任務處理代碼,是實實在在干活的,一般寫法如下:
UCOSIII中的任務函數模板:
void XXX_task(void *p_arg)
{
while(1)
{
...... //任務處理過程
}
}
可以看出用任務函數通常是一個無限循環,當然了,也可以是一個只執行一次的任務。任務的參數是一個void類型的,這么做的目的是可以可以傳遞不同類型的數據甚至是函數。
可以看出任務函數其實就是一個C語言的函數,但是在使用UCOIII的情況下這個函數不能有用戶自行調用,任務函數何時執行執行,何時停止完全有操作系統來控制。
-------------------------------------------------------------------------------------------------------------------------------------------------------
3、UCOSIII默認有5個系統任務
①、空閑任務:UCOSIII創建的第一個任務,UCOSIII必須創建的任務,此任務有UCOSIII自動創建,不需要用戶手動創建。
②、時鐘節拍任務:此任務也是必須創建的任務。
③、統計任務:可選任務,用來統計CPU使用率和各個任務的堆棧使用量。此任務是可選任務,由宏OS_CFG_STAT_TASK_EN控制是否使用此任務。
④、定時任務:用來向用戶提供定時服務,也是可選任務,由宏OS_CFG_TMR_EN控制是否使用此任務。
⑤、中斷服務管理任務:可選任務,由宏OS_CFG_ISR_POST_DEFERRED_EN控制是否使用此任務。
------------------------------------------------------------------------------------------------------------------------------------------------------
4、UCOSIII任務狀態
從用戶的角度看,UCOSIII的任務一共有5種狀態:
①、休眠態:任務已經在CPU的flash中了,但是還不受UCOSIII管理。
②、就緒態:系統為任務分配了任務控制塊,并且任務已經在就緒表中登記,這時這個任務就具有了運行的條件,此時任務的狀態就是就緒態。
③、運行態:任務獲得CPU的使用權,正在運行。
④、等待態:正在運行的任務需要等待一段時間,或者等待某個事件,這個任務就進入了等待態,此時系統就會把CPU使用權轉交給別的任務。
⑤、中斷服務態:當發送中斷,當前正在運行的任務會被掛起,CPU轉而去執行中斷服務函數,此時任務的任務狀態叫做中斷服務態。
五個狀態轉換關系如下圖:
上一篇:UCOSIII任務堆棧、控制塊及就緒表
下一篇:兆易創新推出GD32V系列RISC-V內核32位通用MCU新品
推薦閱讀
史海拾趣
在電子行業,供應鏈管理對于企業的生存和發展至關重要。BCD Semi(Diodes)深知這一點,因此在供應鏈管理方面進行了大量的優化工作。公司與多家優質的供應商建立了長期穩定的合作關系,確保原材料的穩定供應和質量可靠。同時,公司還采用先進的物流管理系統,實現了對供應鏈的實時監控和高效運作,有效降低了運營成本并提高了運營效率。
CAO Group, Inc.的創始人Densen Cao博士,以其對電子行業的深厚理解和對創新的執著追求,于2000年創立了這家公司。他帶領團隊,憑借第一臺LED固化燈的發明,成功打破了當時市場的技術壁壘,為公司的初期發展奠定了堅實的基礎。這款LED固化燈憑借其高效、穩定、環保的特性,迅速獲得了市場的認可,為公司的后續發展注入了強大的動力。
隨著電子行業的快速發展,市場競爭日益激烈。為了應對這一挑戰,如韻不斷調整和優化產品線,加強與國際知名企業的合作,引進先進的技術和設備。同時,公司加大了對研發團隊的投入,鼓勵員工進行創新實踐和技術交流。
在面對行業內的價格戰和惡性競爭時,如韻始終堅持產品質量和客戶滿意度為首要原則。通過不斷提升產品質量和服務水平,如韻贏得了客戶的信任和口碑。即使在行業面臨困境的時期,如韻也憑借著強大的技術實力和良好的市場口碑保持了穩健的發展態勢。
隨著公司規模的擴大,ATO SOLUTION公司開始實施全球化戰略布局。公司先后在多個國家和地區設立了研發中心和生產基地,充分利用當地資源和市場優勢,提升整體競爭力。同時,公司還加強了與國際知名企業的合作,共同推動電子行業的發展和創新。
為了進一步提高競爭力,AOTC開始尋求與上下游企業的合作。通過與原材料供應商、生產設備制造商以及銷售渠道商建立緊密的合作關系,公司成功實現了產業鏈的整合,降低了生產成本,提高了生產效率。此外,公司還與其他科技公司開展戰略合作,共同研發新產品,拓展新市場。
隨著技術的不斷發展和市場的擴大,AOS公司開始積極尋求全球擴張的機會。1998年,AOS在南京獨資成立了中國總部,開始了其在中國的深耕之旅。通過多年的努力,AOS在中國建立了完善的產研基地和銷售網絡,其產品橫跨家用和商用兩大領域,贏得了廣大消費者的信任和喜愛。如今,AOS已成為中國市場上備受推崇的熱水設備品牌之一。
知道1/4波長射頻個公式:波長(天線)=(300/f)*0.25*0.96 這個F是指一個固定頻率么,現在我的頻率是925MHZ to 2175MHZ ,天線長度該如何設置呢?… 查看全部問答∨ |
以太網 Lite MAC(媒體訪問控制器)設計用來整合 IEEE 標準內介紹的可用特性。802.3 媒體獨立接口(MII)規范。 The Ethernet Lite MAC (Media Access Controller) is designed to incorporate the applicable features described in the IEEE Std ...… 查看全部問答∨ |
CodeWarrior+USB-TAP怎么調試PowerPC(VxWorks系統)下的bootrom 請教高手,一個問題 現在我手上有一個CodeWarrior IDE(Windows版)和USB-TAP 我就是想問:怎么用它們調試基于Freescale’ PowerPC的MPC8270下面的bootrom,我用的是VxWorks系統,可以跟蹤romInit、bootInit跑到什么地方的那種,而不是調試Linux下 ...… 查看全部問答∨ |
我使用的QQ2440V3 開發板,按照說明書的介紹,安裝好了USB驅動,在DNW中顯示為“OK”,但是ActiveSync一直連接不上pc,哪位知道怎么解決?是什么問題造成的?… 查看全部問答∨ |
本來不好意思問這些代碼問題。但是鉆進了死胡同,看了差不多一天了也還是沒有頭緒;以前學得都比較順暢,今天開始不停郁悶。 問題如下: 1、startup.s其中一個功能是把eboot的代碼搬到RAM中運行,根據注釋,我找到 startup.s中相應的代碼: ;&n ...… 查看全部問答∨ |
|
想學WINCE驅動,但書很少,于是打算從WINDOWS驅動入手,但是,今天跑了深圳南山,羅湖書城,還有八卦路的書市,都沒找到一本關于WINDOWS的驅動的書,都不知道怎么辦好. WINCE驅動開發又用到那么多的結構函數,像音頻驅動中有什么MMDRV_MESSAGE_PARAMS的結構 ...… 查看全部問答∨ |
今天在STM32參考手冊中找,滴達時鐘寄存器怎么也找不到,后來在網上收到,心情有點不爽 本文轉自網上,如果原作看到的話請留言,我會把出處加上,謝謝! 在STM32中用到了Cortex-M3定義的三組寄存器,有關這三組寄存器的說明 ...… 查看全部問答∨ |
擴展練習:晶體振蕩器 目標 MSP430 LaunchPad開發包內包含一個32.768KHz的晶體振蕩器。這個晶體振蕩器可以固定到開發板上。板子上的晶體振蕩器接口XIN和XOUT可以作為復用的I/O口,一旦晶體振蕩器固定到板子上,這兩個端口將可以作為數字頻率輸 ...… 查看全部問答∨ |
設計資源 培訓 開發板 精華推薦
- 高通攜手中國“汽車朋友圈”亮相2025上海車展: 加速駕駛輔助普惠,推動艙駕創新升級
- 工業市場正在快速回暖,德州儀器如何重塑電力電子市場?
- 特斯拉:美國交付的Model Y/3電池包已實現100%美國生產
- 地平線與博世深化合作,攜手為多家車企提供輔助駕駛產品
- 強化中國市場戰略布局,德州儀器正靈活應對全球關稅挑戰
- Molex莫仕通過本地合作和創新加強支持中國汽車行業
- 貿澤開售Texas Instruments適用于高分辨率AR HUD的 全新DLP4620S-Q1 0.46"汽車數字微鏡器件
- ROHM推出高功率密度的新型SiC模塊,將實現車載充電器小型化!
- 用上車規級UFS 4.0,讓出行變得高效且可靠
- 車載測試技術解析:聚焦高帶寬、多通道同步采集與協議分析