<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于時代民芯SoC的MXT?RTOS51實(shí)時系統(tǒng)

          基于時代民芯SoC的MXT?RTOS51實(shí)時系統(tǒng)

          作者:康祖令 東南大學(xué)計算機(jī)科學(xué)與工程學(xué)院 時間:2010-06-28 來源:電子產(chǎn)品世界 收藏

            片上資源的支持

          本文引用地址:http://www.ex-cimer.com/article/110355.htm

            有PGA、OP、AD等諸多片上資源,使用這些資源只要在BSP包的文件SOC.h中作簡單定義,編譯時由MCU_init()自動完成片內(nèi)相關(guān)寄存器的設(shè)定。圖1是該包中可編程增益放大器(PGA)和LCD驅(qū)動定義的片段。

            目標(biāo)板資源的支持

            嵌入系統(tǒng)的目標(biāo)板上往往配有鍵盤、顯示器等硬件以滿足人機(jī)交互需求。雖然這些硬件基本上是非標(biāo)準(zhǔn)配置,但仍可以仿照PC機(jī)驅(qū)動程序,提供專門的 ,MXT•RTOS51支持包的提供形式是庫函數(shù)BSPlib.LIB。在人機(jī)交互方面,有最多可支持254個按鍵和三個按鍵同時按下的鍵掃描驅(qū)動、最多支持144段的LCD驅(qū)動,以及外擴(kuò)E2PROM驅(qū)動等函數(shù)包。

            用戶使用庫函數(shù)時,只要按照在BSP包對應(yīng)的頭文件bsplib.h中作簡單的配置后,用戶任務(wù)就可直接調(diào)用,大大減少了軟件開發(fā)的代碼量,且這些函數(shù)功能完善并經(jīng)過反復(fù)測試,運(yùn)行穩(wěn)定。

            在開發(fā)板上的應(yīng)用

            開發(fā)板的架構(gòu)

            “單片機(jī)開發(fā)板的SoB資源很豐富,鍵盤和LCD很適合作為人機(jī)對話窗口,板上的x24C02可用作應(yīng)用程序數(shù)據(jù)存儲器(見圖2)。選擇“”開發(fā)板作為MXT•RTOS51的應(yīng)用實(shí)例,既是為大賽提供參賽作品,也為今后使用單片機(jī)的用戶驗(yàn)證、應(yīng)用該平臺開發(fā)嵌入式產(chǎn)品提供方便。

            開發(fā)板的軟件架構(gòu)如圖3所示,處于最上層的是用戶任務(wù),用戶根據(jù)開發(fā)目標(biāo)在這層進(jìn)行任務(wù)的分解、代碼編寫和調(diào)試。為方便開發(fā)人員,MXT•RTOS51配有文件名為main.c的模板,該模板與操作系統(tǒng)一起編譯后形成了完整的人機(jī)對話界面。用戶只要在該模板中定義按鍵的功能、補(bǔ)充目標(biāo)代碼,就可構(gòu)成有實(shí)際功能的嵌入式系統(tǒng)。

            位于底層的是MXT8051和板級資源。在MXT8051中除標(biāo)準(zhǔn)8051硬核外,還包含LCD驅(qū)動模塊、可編程運(yùn)放PGA、AD/DA等;在板上集成有4×5行列式鍵盤、時代民芯的144段LCD屏、PGA接口等板上資源SoB。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();