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

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀] 目前嵌入式系統(tǒng)正在不斷地向智能化、網(wǎng)絡(luò)化的方向發(fā)展,在實時控制系統(tǒng)中采用嵌入式操作系統(tǒng)已成為當前嵌入式應(yīng)用系統(tǒng)中的一個發(fā)展方向。本文以開發(fā)電能計量電表中應(yīng)用C/OS

 目前嵌入式系統(tǒng)正在不斷地向智能化、網(wǎng)絡(luò)化的方向發(fā)展,在實時控制系統(tǒng)中采用嵌入式操作系統(tǒng)已成為當前嵌入式應(yīng)用系統(tǒng)中的一個發(fā)展方向。

本文以開發(fā)電能計量電表中應(yīng)用C/OS-II為實例,介紹了將實時嵌入式操作系統(tǒng)C/OS-II移植到目標系統(tǒng)中的方法,分析和研究了在單片機系統(tǒng)中使用嵌入式操作系統(tǒng)的有關(guān)問題。

1 引言

隨著后PC時代和網(wǎng)絡(luò)以及通信技術(shù)時代的到來,嵌入式操作系統(tǒng)在通信、電子、自動化等領(lǐng)域受已經(jīng)到了越來越多的關(guān)注。因為一個好的嵌入式實時操作系統(tǒng)能夠提高產(chǎn)品的研制效率,縮短產(chǎn)品的開發(fā)周期,所以許多生產(chǎn)廠家正在紛紛考慮采用嵌入式操作系統(tǒng)技術(shù)來開發(fā)自己的產(chǎn)品。

實時嵌入式操作系統(tǒng)的種類繁多,大體可分為兩種——商用型及免費型。商用型的實時操作系統(tǒng)功能穩(wěn)定、可靠、有完善技術(shù)支持及售后服務(wù),但其昂貴價格限制了它在為數(shù)眾多的低端低成本的場合的應(yīng)用。并且對這些場合來講,一個包含網(wǎng)絡(luò)協(xié)議核、文件管理,內(nèi)存管理的操作系統(tǒng)實在顯得過于龐大了。它們需要的僅僅是一個穩(wěn)定的包含任務(wù)管理及進程調(diào)度的實時內(nèi)核,對一個 8位或16位單片機的應(yīng)用場合,一個代碼長度不超過10KB,占用系統(tǒng)資源不超過10%象mC/OS-II這樣的實時內(nèi)核是非常適合的。

2 mC/OS-II 系統(tǒng)簡介

mC/OS-II 是由Labrose先生編寫的開放式內(nèi)核,具有源碼公開,可移植、可固化、可裁剪,穩(wěn)定性及可靠性高的特點。其內(nèi)核提供任務(wù)調(diào)度與管理、時間管理任務(wù)同步與通信、內(nèi)存管理及中斷服務(wù)等功能,支持64用戶服務(wù)。90%的代碼函數(shù)用標準的ANSI C語言書寫,程序可讀性強、移植性好。適合于小型控制系統(tǒng),具有執(zhí)行效率高,占用空間小,實時性能優(yōu)良,可擴展性強的特點,加之它穩(wěn)定、可靠,現(xiàn)已被廣泛應(yīng)用在航空、醫(yī)療器械、工業(yè)控制等領(lǐng)域,被證明是一個成熟穩(wěn)定的實時內(nèi)核。

3 在AT89C51上運行mC/OS-II

要使用mC/OS-II,首先就必須把這個內(nèi)核成功地移植到使用的CPU上去。下面就給出在電能計量電表所用的AT89C51上移植mC/OS-II過程。mC/OS-II移植的軟件部分要完成以下工作。

3.1 與編譯器有關(guān)的代碼

在不同的處理器中有不同的字長,所以必須定義一系列數(shù)據(jù)類型以確保移植的正確性。在C/OS-II中,不使用C的char、int和long等數(shù)據(jù)類型,這些都是和編譯器相關(guān)的,在AT89C51處理器中,各種數(shù)據(jù)類型定義如下:

typedef unsigned char BOOLEAN;

typedef unsigned char INT8U;

typedef signed char INT8S;

typedef unsigned int INT16U;

typedf signed int INT16S;

typedef unsigned long INT32U;

typedef signed long INT32S;

typedef float FP32;

typedef double FP64;

typedef unsigned char OS_STK;

mC/OS-II需要先禁止中斷訪問代碼的臨界區(qū),并且在訪問完畢后重新允許中斷。mC/OS-II定義了兩個宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來禁止和允許中斷。實現(xiàn)方法如下:

#define OS_ENTER_CRITICAL() EA = 0

#define OS_EXIT_CRITICAL() EA = 1

#define OS_STK_GROWTH 0

#define OS_TASK_SWO 0SCtxSW()

3.2 4個匯編語言函數(shù)

這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫。 mC/OS-II的移植要求用戶編寫4個簡單的匯編語言函數(shù):OSStarHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。

OSStarHighRdy()在多任務(wù)系統(tǒng)啟動函數(shù)OSStar()中調(diào)用。主要功能是將就緒表中最高優(yōu)先級任務(wù)的棧指針加載到SP中,并強制中斷返回。這樣就緒的最高優(yōu)先級任務(wù)就如同從中斷處理返回到運行態(tài)一樣,使得整個系統(tǒng)得以運轉(zhuǎn)。

OSCtxSw()在任務(wù)級任務(wù)切換函數(shù)中調(diào)用。任務(wù)級的切換問題是通過發(fā)軟中斷命令或依靠處理器執(zhí)行陷阱指令來完成的。由于AT89C51沒有軟中斷命令或依靠處理器執(zhí)行陷阱指令,所以用OS_TASK_SW()直接調(diào)用OSCtxSw()來完成。

OSIntCtxSw()通過調(diào)用OSIntCtxSw()來從ISR中執(zhí)行切換功能。具體完成任務(wù)是調(diào)整堆棧指針,保存當前任務(wù)的SP,載入就緒最高優(yōu)先級任務(wù)的SP,恢復(fù)就緒最高優(yōu)先級任務(wù)的環(huán)境變量,中斷返回,從而完成中斷級任務(wù)切換。

OSTickISR()是系統(tǒng)時鐘節(jié)拍中斷服務(wù)函數(shù)。這是一個周期性中斷,為內(nèi)核提供時鐘節(jié)拍,頻率越高系統(tǒng)負荷越重。此外還要編寫6個與操作系統(tǒng)有關(guān)的函數(shù),有關(guān)這些函數(shù)具體功能更詳細的闡述,請參考文獻[1][2]。做完以上工作后,mC/OS-II就可以運行了。

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

數(shù)據(jù)中心中的電源實時測量輸入功率并將測量結(jié)果報告給主機,這就是所謂的電計量(e-metering)。在過去十年中,電子電表已成為電源裝置的常見要求,因為它為數(shù)據(jù)中心帶來了以下優(yōu)勢 :

關(guān)鍵字: 電表 電計量

推挽式驅(qū)動器采用小型SOT封裝,可實現(xiàn)6W功率輸送,效率高達90%

關(guān)鍵字: 驅(qū)動器 太陽能逆變器 電表

在2024年慕尼黑上海電子展上,意法半導(dǎo)體為我們帶來了哪些尖端科技和創(chuàng)新產(chǎn)品呢?為了讓未能親臨現(xiàn)場的您也能領(lǐng)略到這場科技盛宴,我們特別挑選了三款亮點展品及解決方案,為您提供詳細的介紹。希望這些分享能夠激發(fā)您的創(chuàng)新靈感,讓...

關(guān)鍵字: 電動汽車 電表 逆變器

2023年9月18日,中國--服務(wù)多重電子應(yīng)用領(lǐng)域、全球排名前列的半導(dǎo)體公司意法半導(dǎo)體(STMicroelectronics,簡稱ST;紐約證券交易所代碼:STM)日前宣布與新加坡智能表計廠商 Sindcon(新加坡)物...

關(guān)鍵字: 微控制器 智能表計 電表

想要干擾電表非常簡單,只需在電源變壓器附近放置一塊強磁鐵。外加磁場會破壞功率變換器并阻礙電表準確監(jiān)測用電量的能力。磁鐵很容易使電表失效,因為通常實施的防干擾方案無法檢測到它。目前還沒有準確的數(shù)字來估計究竟有多少電量被以這...

關(guān)鍵字: Power Integrations 電表 電源變壓器

在下述的內(nèi)容中,小編將會對智能電表的相關(guān)消息予以報道,如果智能電表是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: 智能電表 電表 智能電表箱

在下述的內(nèi)容中,小編將會對智能水表的相關(guān)消息予以報道,如果智能水表是您想要了解的焦點之一,不妨和小編共同閱讀這篇文章哦。

關(guān)鍵字: 智能水表 信息化 電表

摘要:根據(jù)生物制品類企業(yè)的電力能源使用特點,制定了符合公司實際情況的能源管理系統(tǒng),介紹了該系統(tǒng)的架構(gòu)及其在企業(yè)的應(yīng)用情況,提升了公司能源數(shù)據(jù)的實時監(jiān)控能力,優(yōu)化了公司能源分配,降低了公司電力能源消耗,有針對性地解決了公司...

關(guān)鍵字: 能源管理 電能計量 節(jié)能減排

在這篇文章中,小編將為大家?guī)碇悄茈姳淼南嚓P(guān)報道。如果你對本文即將要講解的內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀哦。

關(guān)鍵字: 智能電表 電表 智能電網(wǎng)

本文中,小編將對智能電表予以介紹,如果你想對它的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 智能電表 電表 計量
關(guān)閉