www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 應用uC/OS-II,自然要為它開發(fā)應用程序,下面論述基于uC/OS-II的應用程序的基本結構以及注意事項。kernel提供給用戶一些功能函數(shù),使得用戶的系統(tǒng)建立更加方便,但是kernel內

 應用uC/OS-II,自然要為它開發(fā)應用程序,下面論述基于uC/OS-II的應用程序的基本結構以及注意事項。

kernel提供給用戶一些功能函數(shù),使得用戶的系統(tǒng)建立更加方便,但是kernel內部不會處理用戶的工作,對于整個系統(tǒng)的具體應用工作還得需要用戶自己去考慮,如何利用好這些功能服務函數(shù)就成為一個比較重要的問題.

1. main函數(shù)的結構

void main (void)

{

初始化系統(tǒng)的硬件;

OSInit();

任務的建立,消息機制的建立;

OSStart();

}

這里需要的是在OSStart()執(zhí)行之前不得啟動中斷,硬件系統(tǒng)還不能工作.必須先讓軟件系統(tǒng)進入工作狀態(tài)后才行.

2 .任務的結構

每一個uC/OS-II應用至少要有一個任務。而每一個任務必須被寫成無限循環(huán)的形式。以下是推薦的結構:

void task ( void* pdata )

{

INT8U err;

InitTimer(); // 可選

For( ;; )

{

// 你的應用程序代碼

…….

……..

OSTimeDly(1); // 可選

}

}

以上就是基本結構,在任務啟動函數(shù)執(zhí)行完后,系統(tǒng)會切換到最高優(yōu)先級的任務去執(zhí)行,此時,可以將系統(tǒng)硬件部分的啟動放在該任務的最前邊,僅僅是啟動時執(zhí)行一次,主要是啟動系統(tǒng)的節(jié)拍中斷,或者一些必須在多任務系統(tǒng)調度后才能初始化的部分,使系統(tǒng)的真正開始工作,達到軟件硬件的基本同步.

至于為什么要寫成無限循環(huán)的形式?那是因為系統(tǒng)會為每一個任務保留一個堆??臻g,由系統(tǒng)在任務切換的時候換恢復上下文,并執(zhí)行一條reti 指令返回。如果允許任務執(zhí)行到最后一個花括號(那一般都意味著一條ret指令)的話,很可能會破壞系統(tǒng)堆??臻g從而使應用程序的執(zhí)行不確定。換句話說,就是“跑飛”了。所以,每一個任務必須被寫成無限循環(huán)的形式。

現(xiàn)在來談論上面程序中的InitTimer()函數(shù),這個函數(shù)應該由系統(tǒng)提供,程序員有義務在優(yōu)先級最高的任務內調用它而且不能在for循環(huán)內調用。注意,這個函數(shù)是和所使用的CPU相關的,每種系統(tǒng)都有自己的Timer初始化程序。

在uC/OS-II的幫助手冊內,作者特地強調絕對不能在OSInit()或者OSStart()內調用Timer初始化程序,那會破壞系統(tǒng)的可移植性同時帶來性能上的損失。所以,一個折中的辦法就是象上面這樣,在優(yōu)先級最高的程序內調用,這樣可保證當OSStart()調用系統(tǒng)內部函數(shù)OSStartHighRdy()開始多任務后,首先執(zhí)行的就是Timer初始化程序?;蛘邔iT開一個優(yōu)先級最高的任務,只做一件事情,那就是執(zhí)行Timer初始化,之后通過調用OSTaskSuspend()將自己掛起來,永遠不再執(zhí)行。不過這樣會浪費一個TCB空間。對于那些RAM吃緊的系統(tǒng)來說,還是不用為好。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

多數(shù)受訪粉絲認為,AI驅動的功能會對他們觀看體育賽事的方式產生重大影響 超過半數(shù)的受訪者希望通過AI技術獲得對過去、現(xiàn)在和未來體育賽事的評論和分析 移動體育應用...

關鍵字: IBM AI 應用程序 移動

青島 2025年5月23日 /美通社/ -- 全球領先的消費電子和家電品牌海信今天宣布將谷歌全新Home API集成至其ConnectLife應用程序。今年秋季前,用戶可通過該應用程序將第三方智能家居設備接入Conne...

關鍵字: API NEC 海信 應用程序

-Arya.ai推出MCP應用程序,將通用LLM轉化為特定領域專家 印度孟買和紐約 2025年5月13日 /美通社/ -- Arya.ai今天宣布推出APEX MCP(模...

關鍵字: MCP 應用程序 AI 人工智能

上海2025年1月22日 /美通社/ -- 瀾起科技今日宣布推出其最新研發(fā)的PCIe? 6.x/CXL? 3.x Retimer芯片M88RT61632,并已向客戶成功送樣,旨在為人工智能和云計算等應用場景提供性能更卓越...

關鍵字: PCIE TIMER 芯片 AI

北京2025年1月15日 /美通社/ -- 2025年1月8日,STIF第五屆國際科創(chuàng)節(jié)暨新質生產力領航者峰會在北京舉行。作為科技創(chuàng)新與數(shù)字化服務領域最具影響力的年度盛會之一,本屆大會匯聚全球科創(chuàng)品牌,旨在通過構建多元、...

關鍵字: 數(shù)字化 APP 互聯(lián)網 應用程序

推動技術創(chuàng)新與業(yè)務增長 北京2024年12月19日 /美通社/ -- 在亞馬遜云科技2024 re:Invent全球大會上,亞馬遜云科技與東南亞領先的超級應用程序Grab共同宣布,Grab已選擇亞馬遜云科技為首選云服務...

關鍵字: 亞馬遜 應用程序 云服務 AI技術

Amazon Aurora DSQL是一款性能卓越的分布式SQL數(shù)據(jù)庫,具備99.999%的多區(qū)域可用性、幾乎無限的可擴展性、強一致性,且完全消除了基礎設施管理的負擔。 北京2024年12月13日 /美通社/ -- 亞...

關鍵字: 亞馬遜 分布式 SQL數(shù)據(jù)庫 應用程序

為數(shù)據(jù)、分析和AI提供統(tǒng)一平臺 北京2024年12月10日 /美通社/ -- 亞馬遜云科技在2024 re:Invent全球大會上,宣布推出新一代Amazon SageMaker,將客戶所需的快速SQL分析、PB級大數(shù)...

關鍵字: 亞馬遜 MAKER GE 應用程序

北京——2024年10月29日 亞馬遜云科技日前宣布,通過與光環(huán)新網與西云數(shù)據(jù)的緊密合作,在亞馬遜云科技(北京)區(qū)域和(寧夏)區(qū)域推出Amazon Lambda SnapStart功能,將基于Java Lambda函數(shù)的...

關鍵字: 函數(shù) 數(shù)據(jù)處理

北京2024年10月29日 /美通社/ -- 亞馬遜云科技日前宣布,通過與光環(huán)新網與西云數(shù)據(jù)的緊密合作,在亞馬遜云科技(北京)區(qū)域和(寧夏)區(qū)域推出Amazon Lambda SnapStart功能,將基于Java La...

關鍵字: START 亞馬遜 PS 函數(shù)
關閉