国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

μC/OS-Ⅱ在MSP430F149上的移植

發(fā)布時(shí)間:2010-10-9 22:59    發(fā)布者:conniede
關(guān)鍵詞: MSP430F149 , RTOS , 處理器
μC/OS-Ⅱ是一個(gè)源代碼公開(kāi)的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),該操作系統(tǒng)理論上最多可以管理64個(gè)任務(wù),一般應(yīng)用時(shí)需要留出8個(gè)任務(wù)給系統(tǒng)本事使用,因此用戶的應(yīng)用程序最多可以有56個(gè)任務(wù),μC/OS-Ⅱ的內(nèi)核為完全可剝奪型實(shí)時(shí)內(nèi)核,即系統(tǒng)總是運(yùn)行就緒條件下優(yōu)先級(jí)最高的任務(wù),并支持信號(hào)量、郵箱、消息隊(duì)列等多種進(jìn)程間通訊機(jī)制,同時(shí)用戶可以根據(jù)需求通過(guò)條件編譯實(shí)現(xiàn)對(duì)內(nèi)核中的功能模塊的裁剪,此外μC/OS-Ⅱ 還具有可固化、中斷管理、高穩(wěn)定性和可靠性等特點(diǎn),因此將μC/OS-Ⅱ移植到微處理器(MCU)上, 對(duì)于縮減產(chǎn)品開(kāi)發(fā)和升級(jí)周期,提高可靠性和穩(wěn)定性,降低成本方面有著重要的意義。以下主要討論嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ在MSP430F149上的移植。

1 基于16位微處理器MSP430F149的硬件應(yīng)用系統(tǒng)

1.1 MSP430F149的特點(diǎn)與功能結(jié)構(gòu)

MSP430F149是美國(guó)德州儀器(TI)公司推出的16位微處理器,它的低功耗特別低,支持1.8~3.6V電壓供電,全速運(yùn)行時(shí)的電流僅為280μA,休眠狀態(tài)微處理器的電流只有0.1μA;支持五中省電模式,同時(shí)具有很快的喚醒速度,喚醒時(shí)間只為6μS;片內(nèi)集成12位A/D轉(zhuǎn)換器,兩種定時(shí)器(timer_A和timer_B),UART通訊端口2個(gè),比較器等,滿足了大多數(shù)嵌入式儀器的應(yīng)用需求。最重要的是MSP430F149程序存儲(chǔ)器有60K并支持JTAG仿真,真正實(shí)現(xiàn)了在線仿真調(diào)試,方便了嵌入式實(shí)時(shí)操作系統(tǒng)的移植。

1.2 用于移植μC/OS-Ⅱ的硬件電路

這里為了方便說(shuō)明μC/OS-Ⅱ在MSP430F149上的移植,構(gòu)建了基于微處理器MSP430F149的簡(jiǎn)單硬件系統(tǒng),主要由三部分構(gòu)成:電源,處理器及其JTAG仿真,RS232通訊接口。

電源部分主要提供穩(wěn)定電壓+5V和+3.3V,+5V用于給RS232串行通訊端口控制電路供電,+3.3V是微處理器MSP430F149的供電電壓。用于移植嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ 主體硬件部分是由微處理器MSP430F149及其JTAG仿真和RS232通訊接口控制器MAX232構(gòu)成,其硬件電路原理圖如圖1所示。



圖1 微處理器系統(tǒng)硬件原理圖

2 μC/OS-Ⅱ的移植

2.1 嵌入式操作系統(tǒng)μC/OS-Ⅱ的可移植性

嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ絕大部分源代碼是用移植性很強(qiáng)的ANSI C寫(xiě)成的,與微處理器硬件相關(guān)的部分是用匯編語(yǔ)言寫(xiě)成的。與微處理器硬件相關(guān)的匯編語(yǔ)言已經(jīng)壓縮到最低限度,因此μC/OS-Ⅱ可以移植到目前主流的所有微處理器上。

2.2 選擇移植所用的編譯環(huán)境

移植μC/OS-Ⅱ到MSP430F149上需要一個(gè)標(biāo)準(zhǔn)的C交叉編譯器,當(dāng)然該編譯器是針對(duì)微處理器MSP430F149的,即編譯器能夠?qū)?biāo)準(zhǔn)的C代碼編譯成MSP430F149能夠執(zhí)行的機(jī)器碼。同時(shí),μC/OS-Ⅱ是完全可剝奪型內(nèi)核,只能通過(guò)C編譯器來(lái)產(chǎn)生可重入型代碼。C編譯器還應(yīng)該支持匯編語(yǔ)言,這是因?yàn)橐恍⿲?duì)CPU寄存器的操作只能通過(guò)匯編語(yǔ)言來(lái)實(shí)現(xiàn)。在微處理器MSP430F149的開(kāi)發(fā)工具中,IAR Embedded Workbench for MSP430能夠完全符合這些移植要求,該集成編譯環(huán)境還具有軟件仿真等功能,故選用它作為移植用的編譯器。

2.3 μC/OS-Ⅱ移植到MSP430F149上的步驟

從μC/OS-Ⅱ的軟硬件體系結(jié)構(gòu)可以看到,與處理器相關(guān)的代碼主要是OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C這三個(gè)文件,移植的過(guò)程也就是對(duì)這三個(gè)文件的編寫(xiě)。

OS_CPU.H包括了用#define語(yǔ)句定義的、與處理器相關(guān)的常數(shù)、宏及類型。其中,重點(diǎn)是實(shí)現(xiàn)臨界段代碼保護(hù)函數(shù)OS_ENTER_CRITICAL()和OS_EXIT_CRITICAL(),函數(shù)OS_ENTER_CRITICAL()實(shí)現(xiàn)的是關(guān)中斷,函數(shù)OS_EXIT_CRITICAL()實(shí)現(xiàn)的是開(kāi)中斷。和所有的實(shí)時(shí)內(nèi)核一樣,μC/OS-Ⅱ 需要先關(guān)中斷再處理臨界段代碼,并在處理完畢后重新開(kāi)中斷,這就使得μC/OS-Ⅱ 能夠保護(hù)臨界段代碼免受多任務(wù)或中斷服務(wù)子程序的破壞。

OS_CPU_A.ASM文件中需要編寫(xiě)4個(gè)簡(jiǎn)單的匯編語(yǔ)言函數(shù):

函數(shù)OSStartHighRdy()是使就緒態(tài)任務(wù)中優(yōu)先級(jí)最高的任務(wù)開(kāi)始運(yùn)行,基于MSP430F149的代碼實(shí)現(xiàn)如下:


函數(shù)OSCtxSw()是在一般運(yùn)行情況下實(shí)現(xiàn)任務(wù)的切換,即,讓優(yōu)先級(jí)最高的任務(wù)獲得CPU控制權(quán),實(shí)現(xiàn)代碼如下:  


函數(shù)OSIntCtxSw()是實(shí)現(xiàn)在中斷服務(wù)子程序中任務(wù)切換的功能,具體代碼如下:



函數(shù)OSTickISR()是系統(tǒng)時(shí)鐘節(jié)拍中斷服務(wù)程序,其執(zhí)行頻率在10~100Hz,主要功能是檢查是否有由于延時(shí)而被掛起的任務(wù)成為就緒任務(wù), 如果有就調(diào)用OSIntCtxSw()進(jìn)行任務(wù)切換, 從而運(yùn)行高優(yōu)先級(jí)的任務(wù)。

OS_CPU_C.C文件中,需要寫(xiě)10個(gè)C語(yǔ)言函數(shù),唯一需要的是編寫(xiě)堆棧初始化函數(shù)OSTaskStkInit(),其他的9個(gè)函數(shù)只要聲明,并不一定要包含任何代碼。由于MSP430F149的堆棧是從上往下遞減的,故堆棧初始化函數(shù)OSTaskStkInit()實(shí)現(xiàn)代碼為:


至此,μC/OS-Ⅱ在MSP430F149上的移植就已經(jīng)完成,可以建立多任務(wù)應(yīng)用程序來(lái)測(cè)試嵌入式操作系統(tǒng)μC/OS-Ⅱ了。

3 測(cè)試移植代碼

3.1 測(cè)試內(nèi)核自身的運(yùn)行狀況

通過(guò)測(cè)試內(nèi)核自身的運(yùn)行狀況來(lái)驗(yàn)證移植的成功與否,可以避免把應(yīng)用軟件和內(nèi)核的問(wèn)題混在一起,使問(wèn)題更加復(fù)雜化。如果在測(cè)試內(nèi)核自身運(yùn)行狀況時(shí)有問(wèn)題,就是內(nèi)核的問(wèn)題,排除了應(yīng)用軟件代碼的問(wèn)題。這里通過(guò)依此驗(yàn)證OSTaskStkInit()和文件OS_CPU_A.ASM中的OSStartHighRdy()、OSCtxSw()、OSIntCtxSw()、OSTickISR()四個(gè)函數(shù)來(lái)證明內(nèi)核是移植成功的。

3.2 建立多任務(wù)應(yīng)用程序驗(yàn)證系統(tǒng)的移植成功

本系統(tǒng)建立了兩個(gè)任務(wù)來(lái)測(cè)試μC/OS-Ⅱ是否成功移植到MSP430F149,它們是:

任務(wù)一:從MSP430F149 A/D采樣通道0采樣

OSTaskCreate(ADTask, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 1);

任務(wù)二:RS232串口與上位機(jī)通訊

OSTaskCreate(UartTask, (void *)0, &TaskStartStk[TASK_STK_SIZE - 1], 2);

測(cè)試主要實(shí)現(xiàn)功能是將的A/D采樣任務(wù)得到的數(shù)據(jù)通過(guò)RS232串口發(fā)送給上位機(jī),實(shí)驗(yàn)證明,利用精密可調(diào)電阻改變MSP430F149 A/D采樣通道0的模擬輸入電壓量,上位機(jī)端收到的數(shù)據(jù)也做相應(yīng)的變化,證明嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-Ⅱ在MSP430F149移植是成功的。

4 結(jié)論

μC/OS-Ⅱ是比較小而完善的嵌入式實(shí)時(shí)操作系統(tǒng),本文成功將μC/OS-Ⅱ移植到微處理器MSP430F149上,并實(shí)現(xiàn)了多任務(wù)運(yùn)行,這對(duì)在中低檔微處理器、單片機(jī)上構(gòu)建和應(yīng)用嵌入式實(shí)時(shí)操作系統(tǒng)有著一定的意義,同時(shí)讓基于這些微處理器開(kāi)發(fā)的嵌入式系統(tǒng)具有運(yùn)用嵌入式實(shí)時(shí)操作系統(tǒng)所帶來(lái)的不可替代的優(yōu)勢(shì)。
本文地址:http://www.qingdxww.cn/thread-31219-1-1.html     【打印本頁(yè)】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 了解一下Microchip強(qiáng)大的PIC18-Q24 MCU系列
  • 無(wú)線充電基礎(chǔ)知識(shí)及應(yīng)用培訓(xùn)教程2
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 基于CEC1712實(shí)現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 久久久全国免费视频 | 手机看片在线精品观看 | 四虎影院永久在线观看 | 日本天天操| 精品欧美视频 | 恋爱综合症电视剧泰剧在线观看 | 高清成年美女黄网站色大 | 久久精品7 | 五十路亲子中出中文字幕 | 女人18毛片一级毛片在线 | 成人手机在线视频 | 亚洲一区欧美日韩 | 一级毛片免费看 | 四虎永久在线精品视频播放 | 成年人在线观看免费视频 | 精品一区二区久久久久久久网精 | 国产精品欧美一区二区三区不卡 | 久久免费观看国产精品 | 在线精品欧美日韩 | 在线观看日韩 | 国产一级特黄aaa大片 | 韩剧伦理年轻的嫂子6在线观看 | 91热爆在线精品 | 图片 小说 校园 激情 都市 | 久久精品导航 | 91综合网| 天天操一操| 嗯操| 国产入口在线观看 | 99久久精品久久久久久清纯 | 操一操日一日 | 亚洲综合色秘密影院秘密影院 | 欧美性生交xxxxx久久久 | 久久久久久岛国免费网站 | 噼里啪啦免费视频高清观看 | 亚洲视频免费在线 | 精品一区二区三区视频 | 2022年果冻传媒国产 | 一区二区在线看 | 国产三级视频在线 | 日本www|