熟女人妻水多爽中文字幕,国产精品鲁鲁鲁,隔壁的少妇2做爰韩国电影,亚洲最大中文字幕无码网站

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 嵌入式操作系統uC/OS-II在電能計量電表中的應用研究

嵌入式操作系統uC/OS-II在電能計量電表中的應用研究

時間:2006-07-07 09:06:00來源:0

導語:?嵌入式操作系統在通信、電子、自動化等領域受已經到了越來越多的關注
[摘要]:目前嵌入式系統正在不斷地向智能化、網絡化的方向發展,在實時控制系統中采用嵌入式操作系統已成為當前嵌入式應用系統中的一個發展方向。本文以開發電能計量電表中應用C/OS-II為實例,介紹了將實時嵌入式操作系統C/OS-II移植到目標系統中的方法,分析和研究了在單片機系統中使用嵌入式操作系統的有關問題。  [關鍵詞]:嵌入式操作系統; mC/OS-II; 內核; 實時性; 電能計量電表 1 引言 隨著后PC時代和網絡以及通信技術時代的到來,嵌入式操作系統在通信、電子、自動化等領域受已經到了越來越多的關注。因為一個好的嵌入式實時操作系統能夠提高產品的研制效率,縮短產品的開發周期,所以許多生產廠家正在紛紛考慮采用嵌入式操作系統技術來開發自己的產品。 實時嵌入式操作系統的種類繁多,大體可分為兩種——商用型及免費型。商用型的實時操作系統功能穩定、可靠、有完善技術支持及售后服務,但其昂貴價格限制了它在為數眾多的低端低成本的場合的應用。并且對這些場合來講,一個包含網絡協議核、文件管理,內存管理的操作系統實在顯得過于龐大了。它們需要的僅僅是一個穩定的包含任務管理及進程調度的實時內核,對一個 8位或16位單片機的應用場合,一個代碼長度不超過10KB,占用系統資源不超過10%象mC/OS-II這樣的實時內核是非常適合的。 2 mC/OS-II 系統簡介 mC/OS-II 是由Labrose先生編寫的開放式內核,具有源碼公開,可移植、可固化、可裁剪,穩定性及可靠性高的特點。其內核提供任務調度與管理、時間管理任務同步與通信、內存管理及中斷服務等功能,支持64用戶服務。90%的代碼函數用標準的ANSI C語言書寫,程序可讀性強、移植性好。適合于小型控制系統,具有執行效率高,占用空間小,實時性能優良,可擴展性強的特點,加之它穩定、可靠,現已被廣泛應用在航空、醫療器械、工業控制等領域,被證明是一個成熟穩定的實時內核。 3 在AT89C51上運行mC/OS-II 要使用mC/OS-II,首先就必須把這個內核成功地移植到使用的CPU上去。下面就給出在電能計量電表所用的AT89C51上移植mC/OS-II過程。mC/OS-II移植的軟件部分要完成以下工作。 3.1 與編譯器有關的代碼 在不同的處理器中有不同的字長,所以必須定義一系列數據類型以確保移植的正確性。在C/OS-II中,不使用C的char、int和long等數據類型,這些都是和編譯器相關的,在AT89C51處理器中,各種數據類型定義如下: 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需要先禁止中斷訪問代碼的臨界區,并且在訪問完畢后重新允許中斷。mC/OS-II定義了兩個宏OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL()來禁止和允許中斷。實現方法如下: #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個匯編語言函數 這部分需要對處理器的寄存器進行操作,所以必須用匯編語言來編寫。 mC/OS-II的移植要求用戶編寫4個簡單的匯編語言函數:OSStarHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。 OSStarHighRdy()在多任務系統啟動函數OSStar()中調用。主要功能是將就緒表中最高優先級任務的棧指針加載到SP中,并強制中斷返回。這樣就緒的最高優先級任務就如同從中斷處理返回到運行態一樣,使得整個系統得以運轉。 OSCtxSw()在任務級任務切換函數中調用。任務級的切換問題是通過發軟中斷命令或依靠處理器執行陷阱指令來完成的。由于AT89C51沒有軟中斷命令或依靠處理器執行陷阱指令,所以用OS_TASK_SW()直接調用OSCtxSw()來完成。 OSIntCtxSw()通過調用OSIntCtxSw()來從ISR中執行切換功能。具體完成任務是調整堆棧指針,保存當前任務的SP,載入就緒最高優先級任務的SP,恢復就緒最高優先級任務的環境變量,中斷返回,從而完成中斷級任務切換。 OSTickISR()是系統時鐘節拍中斷服務函數。這是一個周期性中斷,為內核提供時鐘節拍,頻率越高系統負荷越重。此外還要編寫6個與操作系統有關的函數,有關這些函數具體功能更詳細的闡述,請參考文獻[1][2]。做完以上工作后,mC/OS-II就可以運行了。 4 在電能計量電度表中應用mC/OS-II

標簽:

點贊

分享到:

上一篇:基于三菱產品的海況實時分布...

下一篇:微能WIN-V63矢量控制變頻器在...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

相關資訊

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 定陶县| 芦山县| 年辖:市辖区| 宁明县| 陈巴尔虎旗| 鸡泽县| 搜索| 太白县| 电白县| 北海市| 永清县| 屏东县| 洛宁县| 渭源县| 讷河市| 玉山县| 邵阳县| 通城县| 东城区| 专栏| 乌鲁木齐市| 呼玛县| 民县| 环江| 衡阳县| 玉山县| 朔州市| 榕江县| 郧西县| 浑源县| 临颍县| 囊谦县| 沁源县| 南通市| 道孚县| 米脂县| 元氏县| 绥芬河市| 涡阳县| 蚌埠市| 额济纳旗|