《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > μC/OS-III在MSP430F5529上的移植與應用
μC/OS-III在MSP430F5529上的移植與應用
來源:電子技術應用2013年第10期
汪成義
湖北經濟學院 電子工程系,湖北 武漢430205
摘要: 以MSP430F5529及相關外圍電路為硬件平臺,系統地分析了μC/OS-III的體系結構,介紹了移植的主要工作,并以多功能防盜窗控制器的設計為對象,描述了應用系統中功能與多任務的關系,驗證了μC/OS-III移植的有效性與實用性。
中圖分類號: TP316.2
文獻標識碼: A
文章編號: 0258-7998(2013)10-0015-03
Porting and application of μC/OS-III on MSP430F5529
Wang Chengyi
School of Electronic Engineering, Hubei University of Economics, Wuhan 430205,China
Abstract: Based on MSP430F5529 and related peripheral circuits, this paper systematically analyzes the structure of μC/OS-III and intruduces the main work of porting. By designing a multifunctional anti-theft window controller as the object, the paper also describes the relationship of the function of the application system and multitasks,and proves the fact that the porting μC/OS-III can be put into use and practice.
Key words : μC/OS-III;MSP430F5529;porting;task oriented;application

    作為第三代嵌入式實時操作系統內核,μC/OS-III主要是為適應32位處理器的發展和業界近幾年對系統的新要求,在μC/OS-II的基礎上開發的一個不限總任務數、不限同優先級任務數的實時內核。μC/OS-III不僅延續了μC/OS-II所具有的可裁剪性、可固化性、可搶占性和高可靠性,而且具有資源管理、同步和任務間的通信能力,具有獨特的實時內核配置機制、運行時的性能檢測能力,具有新的快速中斷源響應機制[1],以及通過引入新的時鐘節拍機制確保了系統的實時性不受任務數目的影響[2]。而這些獨特的特性也是在16位處理器上進行應用開發時特別需要的。美國Micrium公司已先后推出了超過45種架構的μC/OS-II源代碼版本,并從2011年起,陸續推出μC/OS-III源代碼的純內核版和基于多個32位處理器架構的μC/OS-III源代碼正式發布版本(一下簡稱正式版),μC/OS-III內核代碼也充分考慮到了對16位處理器的兼容性,但對具體的16位處理器的支持較少,即使有,也要求片內資源為高配置的型號。另一方面,美國德州儀器(TI)公司的MSP430系列16位微控制器(MCU)具有業內領先的混合信號處理能力,也是目前行業內功耗最低的MCU之一,其中的MSP430F5529是一款具有集成USB的新型MCU,有著豐富的片內外設。本文擬將μC/OS-III在MSP430F5529上進行移植,并通過典型的應用設計對移植的有效性與實用性進行驗證。

1 應用系統的硬件設計
1.1 總體設計目標

    通過設計一款低成本多功能防盜窗控制器,驗證μC/OS-III在MSP430F5529上也具有適用性。由于MSP-430F5529是一款只有8 KB內存(SRAM)的中檔16位微控制器,而μC/OS-III對內存的消耗很大,所以其移植的成功并不能保證應用功能可以順利運行。因此,本應用系統按照防盜窗控制器的實際功能需要,選擇一組典型功能進行了具體設計。
1.2 硬件結構與模塊功能
    本應用系統的硬件結構如圖1所示。其中的按鍵有2個,用于工作模式切換、運行參數調整等;振動式傳感器選用基于香港萬保剛公司的振動開關SW-18015P構建的模塊,用于感知強力擊打、撬動式入侵等;觸摸式位置感應器選用的是多個電容式觸摸開關,以便在測試系統中以低成本方式模擬或代替傳統的紅外感應式、位移式多種傳感器;發光二極管共有8支,兼顧狀態顯示、入侵位置直觀顯示、報警顯示等功能;液晶屏用于各類提示信息、報警信息、狀態信息的顯示和類似電子鐘等附加功能的顯示。虛線框部分包括語音、消息、傳動機構等的處理,用于后期擴展、完善。

2 μC/OS-III的體系結構與移植
2.1 基于移植者視角的μC/OS-III體系結構

    為適應各種不同硬件平臺的需要,μC/OS-III系統在體系結構的設計上,采用了模塊化的方式,將需要移植和不需要移植的程序進行了有效劃分。同時,對實際應用系統各種外圍電路的底層支持也是操作系統應完成的工作。在實際分析代碼關系、模塊關系和應用任務與系統模塊依賴關系的基礎上,可總結出能反應系統移植工作重點的μC/OS-III體系結構,如圖2所示,其中的粗實線部分為移植工作的重點模塊。

    圖2中以四層結構全面反應了一個基于μC/OS-III開發的應用系統的總體結構。圖中硬件層的3個實線框是移植能否成功的前提,即目標處理器必須具有定時器和能周期性產生中斷的機制,MSP430F5529已經具備。點劃線框中的應用系統外設是指本應用系統的各種片外輸入、輸出與控制硬件電路模塊,每增加一個不同類別的模塊,也就增加了移植的工作量。
    虛線框部分的應用層,其設計與實現工作不屬于移植工作,但實際應用系統的功能是由應用層具體實現,系統移植后的性能也由應用層進行實際驗證。2個配置頭文件在應用層、內核層、硬件相關層都有涉及。其中,OS_CFG_APP.H中的內容主要是與具體應用有關的常量,包括任務堆棧大小、任務的優先級等;OS_CFG.H中的內容主要是與內核有關的常量,如CPU時間戳使能的設置等。兩者中常量的設置可在滿足任務調度需要并符合實際硬件特性的前提下靈活進行。
2.2 與CPU相關的源程序移植
    與CPU相關的源程序分成兩部分,一部分是μC/OS-III內核源文件與CPU相關的部分,集中放在OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C 3個文件中;另一部分是應用層源程序與CPU及編譯器相關的部分,主要放在CPU_CORE.H、CPU_CORE.C、CPU_DEF.H、CPU.H和CPU_A.ASM 5個文件中。
    由于μCOS-II的廣泛使用,Micrium公司在其網站中上傳了大量基于不同架構處理器的μCOS-II正式版源碼,雖然μC/OS-III在內核方面與μCOS-II有較大差異,但與CPU相關部分差別不大,這就為那些得不到Micrium公司直接支持的處理器平臺提供了一條減輕移植工作量的有效途徑。μC/OS-III的設計者在參考文獻[1]中就明確建議先進行μCOS-II的移植,再進行μC/OS-III的移植會比較順暢。下面就基于MSP430F5438的μCOS-II正式版中與CPU相關的源文件,說明各文件的主要內容,以及進行μC/OS-III向MSP430F5529移植的主要工作。
    (1)OS_CPU.H:依照參考文獻[1]中的提示,將μCOS-II原有數據類型定義和進、出臨界區宏定義移動到CPU.H中,保留上下文切換的函數原型聲明等。
    (2)OS_CPU_A.ASM(后綴可能不同,下同):將匯編子程序分別改名為OSCPUSaveSR和OSCPURestoreSR,程序其他部分不變。
?。?)OS_CPU_C.C:依照參考文獻[1]中的提示,將鉤子函數改名或去掉,如將OSInitHookBegin改為OSInitHook;數據類型按CPU.H中的定義改。
    (4)CPU_CORE.H:為CPU_CORE.C提供函數原型的聲明等,不變。
    (5)CPU_CORE.C:初始化CPU時間戳定時器及相關操作等,不變。
    (6)CPU_DEF.H:集中定義了一組依賴于CPU的常量,如堆棧生長方向、CPU字的大小及存儲模式等,是為了適應不同的處理器和編譯器[3],不變。
    (7)CPU.H:依照參考文獻[1]中的提示,將數據類型定義和進、出臨界區宏定義移到此文件,并在每個數據類型前加上“CPU_”,如CPU_INT8U等。
    (8)CPU_A.ASM:主要是子程序CPU_SR_Save和CPU_SR_Restore的定義,不變。
2.3 μC/OS-III板級支持包的移植
    板級支持包的移植與硬件環境有關,即使是相同的處理器,只要硬件不同,就需要移植。具體可分為三塊:硬件抽象層、外設支持庫和板級支持包上層。外設支持庫直接從處理器廠家(即TI公司)網站下載獲得即可,是文件夾名為F5xx_F6xx_Core_Lib的一組源文件[4],提供如電源管理、時鐘處理等基本函數庫。
    硬件抽象層是對處理器之外所有硬件進行驅動的底層軟件,是應用層軟件對硬件的操作能否實現的關鍵,一般需要依據具體的硬件按照模塊的方式逐一進行編程,如本設計中的振動傳感器電路模塊,在硬件抽象層編寫了針對性的硬件驅動程序HAL_SHAKESWITCH.C,分別定義了初始化、中斷使能、中斷去使能、中斷處理4個函數,最后在應用任務中實現了相應的實時報警功能。
    板級支持包上層主要指BSP.C和BSP.H兩個文件。BSP.H主要是配合BSP.C進行函數原型的聲明。BSP.C則主要是定義一組函數,以供應用層程序使用,如初始化硬件的BSP_Init()函數及相關聯的輸入輸出類函數、中斷使能設置的BSP_IntEnAll()函數等。實際編寫BSP.C時,借用了μCOS-II正式版中的對應文件,結合硬件抽象層和外設支持庫,依據外圍硬件和應用需要進行了擴展。
3 應用層程序的設計與實現
3.1 面向任務方法劃分系統功能

    基于μC/OS-III的應用層程序應設計成面向任務的程序結構,而傳統的基于無操作系統嵌入式系統的程序采用的是前后臺式的程序結構。前者更能保障系統的實時性,且在功能較多時,程序設計與實現的過程比后者更加高效,但前者的內存開銷大,任務不宜過多。本應用系統的功能與任務的關系如表1所示。

3.2 系統測試及說明
    為驗證μC/OS-III在MSP430F5529上移植的可行性,并研究實際應用時的限制與定位,本應用系統的測試分為單任務測試、系統測試和系統受限測試3個階段。

 


    (1)單任務測試:按照表1中各任務的功能安排,編寫并逐個調試、實現單個或部分任務的功能,初步驗證了移植的可行性。
    (2)系統測試:測試多任務應用系統的功能實現與任務間的配合、協調,主要有4方面功能:①平時可提供時鐘或溫濕度顯示類功能;②若有暴力式入侵,會感知并及時提供不同方式的告警;③若有攀爬式入侵,能感知位置并及時提供包含位置信息的多方式告警;④實時顯示系統當前狀態信息等。為便于測試觀察,系統顯示安排如下:液晶顯示分8行,用于顯示當前工作模式(用于區分日常服務模式和自動告警模式)、攀爬式入侵的提示與狀態、暴力式入侵的提示與狀態、系統運行的狀態信息等;8只LED燈同步提供了狀態與入侵位置信息。實際測試過程表明,以上四個方面的功能在實驗環境下的同一應用軟件中可穩定實現,并能借助液晶屏、LED燈等實時觀察到,系統被入侵時的輸出處理正確。
    (3)系統受限測試:測試系統的潛在限制:①系統在實現上述功能時,任務不能太多,8個以內為宜,原因是受8 KB內存限制;②每個任務的堆??臻g不宜太大,并要逐個分別計算,以夠用為限,對開銷過大的任務要進行適度優化,原因同①;③液晶屏適宜選用單色的小顯示屏,如102×64或128×64的單色屏,不宜用真彩色的大屏,原因是受MSP430F5529的內存及刷新處理能力限制。
    測試結果表明,將實時操作系統μC/OS-III移植到只有8 KB內存的中檔16位微控制器MSP430F5529是可行的??紤]到MSP430F5529片內還有2 KB專用于USB的SRAM也有可被借用的潛力[5],MSP430微控制器F5系列中還有16 KB、32 KB和66 KB內存的型號,再考慮到MSP4300微控制器所具有的低功耗、低成本特點,以及μC/OS-III在實時性和編程高效性方面的優勢,若以μC/OS-III+ MSP430的組合作為設計平臺,可突破上述限制,從而進一步形成高、低端系列化多功能防盜窗控制器產品,也可為其他產品的設計提供參考。
參考文獻
[1] LABROSSE J J.μC/OS-III:The real-time kernel[M].  Micriμm Press,2011.
[2] 宮輝,龔光華,黃土琛,等.μC/OS-III中的高效  時鐘節拍管理機制[J].單片機與嵌入式系統應用,
2012(12):79-81.
[3] Micriμm,Inc..μC/CPU user′s manual[Z].2010.
[4] Texas Instruments Inc..MSP-EXP430F5529 experimenter   board user′s guide[Z].2011.
[5] Texas Instruments Inc.Datasheet:MSP430F551x/MSP430F552x mixed signal microcontroller[EB/OL].(2009-05-01). http://www.ti.com/lit/ds/symlink/msp430f5529.pdf.

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          国产精品国产三级国产专区53| 欧美日韩在线免费视频| 一区二区三区|亚洲午夜| 亚洲精选久久| 国产欧美大片| 亚洲男人天堂2024| 亚洲精品久久久久中文字幕欢迎你| 欧美日本视频在线| 欧美精品一区在线发布| 亚洲狠狠婷婷| 欧美性感一类影片在线播放| 另类尿喷潮videofree| 国产精品麻豆va在线播放| 久久久久久久久久久成人| 久久欧美肥婆一二区| 久久久久久免费| 欧美在线关看| 中文一区二区在线观看| 久久久夜色精品亚洲| 亚洲一区二区三区高清不卡| 久久久99久久精品女同性| 国产一区二区在线免费观看| 伊人精品久久久久7777| 一本色道久久精品| 欧美激情第3页| 亚洲性感美女99在线| 亚洲小视频在线观看| 欧美日韩视频在线| 亚洲经典视频在线观看| 国产一区欧美| 国产精品护士白丝一区av| 欧美视频一区二区三区四区| 99国产精品99久久久久久粉嫩| 久久手机免费观看| 亚洲主播在线播放| 亚洲美女啪啪| 欧美顶级艳妇交换群宴| 欧美一级一区| 精品福利av| 亚洲欧美综合国产精品一区| 国产精品v亚洲精品v日韩精品| 在线日韩中文字幕| 欧美黄免费看| 亚洲高清在线播放| 亚洲国产精品第一区二区三区| 欧美系列电影免费观看| 国产精品初高中精品久久| 欧美先锋影音| 日韩视频免费在线| 一区二区免费在线视频| 99re视频这里只有精品| 亚洲欧洲精品一区二区| 久久网站免费| 国产日韩欧美三区| 免费成人黄色av| 黑人巨大精品欧美一区二区小视频| 国产网站欧美日韩免费精品在线观看| 久久久久国产精品一区| 亚洲国产精品第一区二区| 久久青草欧美一区二区三区| 亚洲一区二区三区中文字幕| 怡红院精品视频| 日韩视频久久| 欧美日本免费一区二区三区| 亚洲免费小视频| 久久综合精品国产一区二区三区| 欧美午夜视频在线观看| 欧美一乱一性一交一视频| 国产精品欧美在线| 国产精品久久久久高潮| 久久久国产一区二区| 欧美freesex8一10精品| 欧美日产在线观看| 香蕉免费一区二区三区在线观看| 亚洲午夜在线| 亚洲国产精选| 亚洲福利在线看| 亚洲性线免费观看视频成熟| 久久综合色天天久久综合图片| 久久精品国产综合| 亚洲欧洲一区二区三区久久| 欧美极品在线播放| 国产精品久久久久久久免费软件| 久久久久久电影| 欧美精品在线播放| 亚洲第一福利在线观看| 亚洲国产日韩欧美在线图片| 日韩五码在线| 国产色综合网| 免费在线观看成人av| 性娇小13――14欧美| 影音先锋亚洲视频| 一区二区不卡在线视频 午夜欧美不卡在| 女女同性精品视频| 久久精品一区二区国产| 欧美日韩国产天堂| 久久香蕉国产线看观看av| 99re热精品| 欧美日韩影院| 国产精品亚洲综合天堂夜夜| 亚洲国产日韩综合一区| 欧美性色视频在线| 日韩视频国产视频| 国产精品草莓在线免费观看| 亚洲一二三区精品| 精品91久久久久| 一本色道久久精品| 在线观看日产精品| 国产色婷婷国产综合在线理论片a| 乱人伦精品视频在线观看| 欧美成人第一页| 欧美精品一区二区久久婷婷| 欧美极品一区二区三区| 欧美性淫爽ww久久久久无| 激情久久久久久| 欧美紧缚bdsm在线视频| 国产精品免费观看在线| 极品少妇一区二区| 国产精品九九久久久久久久| 国产精品综合av一区二区国产馆| 亚洲精选一区二区| 国产欧美日韩综合一区在线播放| 国产精品久久久久久妇女6080| 亚洲美女一区| 欧美日韩视频在线观看一区二区三区| 国产精品热久久久久夜色精品三区| 欧美一级久久| 鲁鲁狠狠狠7777一区二区| 亚洲丶国产丶欧美一区二区三区| 久久综合色播五月| 亚洲一区区二区| 欧美在线综合视频| 亚洲专区在线| 国产一区二区精品久久| 国产精品免费福利| 亚洲视频一区在线| 国产精品美女999| 欧美日韩亚洲综合| 午夜精品视频在线观看一区二区| 久久三级福利| 在线一区欧美| 欧美手机在线| 久久成人久久爱| 欧美一级黄色录像| 一本色道久久综合狠狠躁篇的优点| 亚洲成人直播| 欧美美女福利视频| 欧美伊人久久| 精品动漫av| 午夜视频在线观看一区二区| 国产精品自拍小视频| 久久亚洲色图| 麻豆精品一区二区综合av| 99精品福利视频| 国产日韩欧美综合在线| 欧美日产国产成人免费图片| 国产精品美女在线| 亚洲欧美在线免费观看| 久久综合999| 国产在线乱码一区二区三区| 国产精品久久久久久久久借妻| 亚洲欧美中文字幕| 久久在线视频| 亚洲精品日本| 日韩一区二区电影网| 欧美噜噜久久久xxx| 国产精品v亚洲精品v日韩精品| 欧美日韩精品免费观看视一区二区| 99re6这里只有精品视频在线观看| 亚洲日本理论电影| 欧美日韩国产综合网| 亚洲精品在线电影| 99精品99久久久久久宅男| 久久久久久久久久久久久9999| 欧美劲爆第一页| 影音先锋中文字幕一区二区| 国产精品毛片在线看| 久久久不卡网国产精品一区| 国产精品日韩精品| 亚洲午夜精品网| 亚洲电影在线免费观看| 欧美日韩免费在线视频| 欧美日韩不卡合集视频| 欧美日韩国产成人在线免费| 欧美日韩在线视频一区| 久久这里只有精品视频首页| 国产精品美女久久久久久2018| 蜜臀久久99精品久久久久久9| 国产精品性做久久久久久| 欧美91精品| 国产一区二区三区网站| 香蕉久久精品日日躁夜夜躁| 久久嫩草精品久久久久| 毛片av中文字幕一区二区| 欧美视频一区二| 欧美日韩精品一区视频| 久久成人这里只有精品| 激情视频亚洲| 欧美精品免费在线观看| 国产日韩欧美在线看| 久久国产精品99国产精| 欧美日韩一区二| 欧美成人午夜视频| 又紧又大又爽精品一区二区| 国产午夜精品理论片a级大结局| 欧美手机在线| av不卡在线观看| 欧美肉体xxxx裸体137大胆| 久久久999国产| 亚洲视频每日更新| 国产精品日韩欧美一区| 欧美一区二区在线免费播放| 1000精品久久久久久久久| 在线观看视频一区二区| 久久国产精品72免费观看| 国内精品国产成人| 欧美系列精品| 含羞草久久爱69一区| 欧美乱人伦中文字幕在线| 欧美激情aⅴ一区二区三区| 亚洲欧美在线视频观看| 国产精品普通话对白| 欧美一级淫片播放口| 亚洲动漫精品| 樱花yy私人影院亚洲| 亚洲二区免费| 亚洲精品女人| 国产精品美女久久久| 中国成人黄色视屏| 国产精品美女久久久久aⅴ国产馆| 欧美中文字幕在线| 国产精品一级二级三级| 亚洲欧美日韩天堂| 国产中文一区二区| 久久视频一区二区| 国产精品一级久久久| 亚洲男人av电影| 午夜精品久久久久久久99黑人| 欧美激情精品久久久六区热门| 亚洲国产美女| 亚洲一区在线直播| 欧美日韩精品综合| 亚洲精品自在在线观看| 亚洲免费观看高清完整版在线观看熊| 欧美电影电视剧在线观看| 怡红院精品视频在线观看极品| 欧美黄色一区二区| 久久久国产精彩视频美女艺术照福利| 国产精品99久久久久久久女警| 精东粉嫩av免费一区二区三区| 国产精品黄色在线观看| 韩日午夜在线资源一区二区| 欧美伊人影院| 久久精品女人天堂| 国产精品视频最多的网站| 久久大香伊蕉在人线观看热2| 国产亚洲人成a一在线v站| 国产手机视频一区二区| 亚洲深夜福利网站| 毛片精品免费在线观看| 久久人人看视频| 国产一区二三区| 亚洲制服少妇| 国产农村妇女毛片精品久久莱园子| 亚洲永久在线| 国产精品爱久久久久久久| 久久狠狠婷婷| 亚洲综合视频1区| 欧美三区免费完整视频在线观看| 久久一区国产| 国产一区二区三区四区三区四| 一区在线视频观看| 亚洲黄色av| 一区二区亚洲精品| 久久精品国产视频| 国产精品视频免费在线观看| 1024成人网色www| 亚洲欧美日韩中文视频| 亚洲男女毛片无遮挡| 国产日韩欧美一区二区三区在线观看| 亚洲国产黄色| 日韩视频在线一区二区三区| 欧美亚洲免费高清在线观看| 国产亚洲va综合人人澡精品| 亚洲影视在线播放| 国产麻豆成人精品| 亚洲经典在线| 狠狠狠色丁香婷婷综合久久五月| 欧美freesex交免费视频| 亚洲一区国产| 久久人91精品久久久久久不卡| 国产精品99免费看| 欧美视频在线一区二区三区| 欧美日韩在线高清| 国产主播精品| 亚洲第一黄色| 欧美四级电影网站| 欧美一区二区三区在线观看视频| 亚洲国产成人精品久久| 美女任你摸久久| 国产精品国产三级国产aⅴ浪潮| 日韩一区二区免费看| 国产精品影片在线观看| 91久久精品视频| 蜜乳av另类精品一区二区| 欧美成人精品在线| 国产精品成人观看视频国产奇米| 欧美视频在线观看免费网址| 欧美一级艳片视频免费观看| 国产精品尤物福利片在线观看| 欧美精品v国产精品v日韩精品| 久久久久久久一区二区三区| 国产精品美女一区二区| 老司机aⅴ在线精品导航| 亚洲一级黄色av| 亚洲欧美一区二区精品久久久| 久久国产婷婷国产香蕉| 一区二区三区视频在线观看| 免费视频一区二区三区在线观看| 99xxxx成人网| 亚洲激情综合| 欧美日韩一级大片网址| aa成人免费视频| 亚洲欧美成人| 欧美日韩在线观看一区二区| 国产三区二区一区久久| 亚洲国产精品一区制服丝袜| 国产午夜精品久久久久久久|