• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于M D K RTX的COrtex―M3多任務(wù)應(yīng)用設(shè)計(jì)

    基于M D K RTX的COrtex―M3多任務(wù)應(yīng)用設(shè)計(jì)

    作者: 時(shí)間:2009-01-19 來(lái)源:網(wǎng)絡(luò) 收藏
    1 MDK RL―概述
    MDK開發(fā)套件源自德國(guó)Keil公司,是ARM公司目前最新推出的針對(duì)各種嵌入式處理器的軟件開發(fā)工具。MDKRL―IUX是一個(gè)實(shí)時(shí)操作系統(tǒng)(RTOS)內(nèi)核,完全集成在MDK編譯器中。廣泛于ARM7、ARM9和Cortex-設(shè)備中。它可以靈活解決多調(diào)度、維護(hù)和時(shí)序安排等問(wèn)題。RL―I訂X的程序由標(biāo)準(zhǔn)的C語(yǔ)言編寫,由Real―View編譯器進(jìn)行編譯。操作系統(tǒng)依附于C語(yǔ)言使聲明函數(shù)更容易,不需要復(fù)雜的堆棧和變量結(jié)構(gòu)配置,大大簡(jiǎn)化了復(fù)雜的軟件,縮短了項(xiàng)目開發(fā)周期。
    Cortex―是一個(gè)32位的核。它是首個(gè)ARMv7M架構(gòu),主要針對(duì)價(jià)格敏感但又具備高系統(tǒng)效能需求的嵌入式,如、汽車車體系統(tǒng)及網(wǎng)絡(luò)裝置等。它內(nèi)核緊湊,性能更高,采用了Thumb一2指令集架構(gòu),中斷時(shí)間更短,標(biāo)準(zhǔn)化內(nèi)存映射,帶有內(nèi)置SysTick的集成式NVIC。SysTick能定期地產(chǎn)生異常請(qǐng)求,作為系統(tǒng)的時(shí)基,計(jì)時(shí)更準(zhǔn)確。
    MDK RL―和Cortex―M3都源自ARM公司。ARM公司將其無(wú)縫整合在MDK開發(fā)套件中,因此將RL―移植到Cortex―M3上非常適合。RL―RTX作為一個(gè)全功能的內(nèi)核,可以結(jié)合實(shí)時(shí)軟件庫(kù)中的其他組件。例如,加入實(shí)時(shí)庫(kù)中RL―Flasht文件系統(tǒng)組件,就可以讀寫標(biāo)準(zhǔn)SD卡和MMC卡上面的文件;加入RL―TCPnet組件,可于HTTP Web,ServeI’、TFTP Server和SMTP Client等。可擴(kuò)展性強(qiáng),應(yīng)用廣泛。

    2 ―M3硬件平臺(tái)的構(gòu)建
    STM32F103VB是ST公司基于Cortex―M3的處理器。它有1個(gè)128 KB Flash,1個(gè)20 KB SRAM,4個(gè)16位定時(shí)器,100個(gè)可編程的I/0引腳,具有I2C、SPI、USB、15SART和CAN接口,2路10通道12位A/D轉(zhuǎn)換器,RTC功能模塊,WDT功能和高級(jí)電源管理功能。
    系統(tǒng)的數(shù)據(jù)緩存RAM和程序存儲(chǔ)器Flash為芯片自帶,系統(tǒng)外接A/D轉(zhuǎn)換器構(gòu)成控制器。基于Cortex-M3核的最小系統(tǒng)框圖如圖1所示。

    本文引用地址:http://www.czjhyjcfj.com/article/152649.htm

    基于該平臺(tái),一個(gè)超溫報(bào)警器。使用美國(guó)半導(dǎo)體Dalias公司的智能溫度傳感器DS18820采樣,LCD顯示溫度數(shù)值,如果短時(shí)間內(nèi)溫度超出正常溫度,蜂鳴器發(fā)出100 dB警報(bào)且LED燈閃爍示警。可以進(jìn)一步在該平臺(tái)上進(jìn)行擴(kuò)展,加入GPS和GPRS模塊,當(dāng)溫度超出設(shè)定范圍時(shí),GPS將現(xiàn)場(chǎng)經(jīng)緯度以及時(shí)間通過(guò)GPRS以短信方式發(fā)送給監(jiān)控中心,GPRS模塊自動(dòng)撥打有關(guān)人員移動(dòng)電話或固定電話報(bào)警。

    3 MDK RL―RTX的配置與移植
    RL―RTX在管理方面不僅支持搶先式切換,而且支持時(shí)間片輪轉(zhuǎn)切換。在基于時(shí)間片的輪轉(zhuǎn)任務(wù)機(jī)制下,CPIJ的執(zhí)行時(shí)間被劃分為若干時(shí)間片,由RL―RTX分配一個(gè)時(shí)間片給每個(gè)任務(wù),在該時(shí)間片內(nèi)只執(zhí)行這個(gè)任務(wù)。當(dāng)時(shí)間片到,在下一個(gè)時(shí)間片中無(wú)條件地執(zhí)行另外一個(gè)任務(wù)。所有任務(wù)都輪詢一次后,再回頭執(zhí)行第一個(gè)任務(wù)。
    RL―RTX最多可以定義256個(gè)任務(wù),所有任務(wù)都可以同時(shí)激活成為就緒態(tài)。RL―RTX用戶任務(wù)具有表1所列的幾個(gè)狀態(tài)。


    上一頁(yè) 1 2 3 下一頁(yè)

    評(píng)論


    相關(guān)推薦

    技術(shù)專區(qū)

    關(guān)閉
    主站蜘蛛池模板: 钟山县| 柘城县| 陕西省| 田林县| 河池市| 通许县| 江陵县| 临江市| 聊城市| 铅山县| 独山县| 南平市| 凤翔县| 洪泽县| 乡宁县| 崇信县| 横峰县| 宜宾县| 海阳市| 伊宁县| 武强县| 朝阳县| 嘉兴市| 云霄县| 黄梅县| 马龙县| 伊金霍洛旗| 临沧市| 镶黄旗| 乳源| 韶山市| 鸡西市| 定结县| 婺源县| 保山市| 山丹县| 湘潭县| 延津县| 安泽县| 临沧市| 万州区|