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

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于MPC860與STl6C6 5 4的串行通信設(shè)計(jì)

          基于MPC860與STl6C6 5 4的串行通信設(shè)計(jì)

          作者: 時(shí)間:2012-10-10 來(lái)源:網(wǎng)絡(luò) 收藏

          2 系統(tǒng)軟件

          2.1 操作系統(tǒng)

          Vxworks是由WRS(Wind River System Ine.)公司開(kāi)發(fā)的一套具有微內(nèi)核、高性能、可伸縮的實(shí)時(shí)操作系統(tǒng),支持廣泛的網(wǎng)絡(luò)協(xié)議,支持32位的CPU,包括Intel公司的x86、MIatorola公司的68k和PoweerPC、MIPS、ARM,并能夠根據(jù)用戶(hù)的需求進(jìn)行組合;同時(shí)WRS公司還提供了優(yōu)秀的實(shí)時(shí)操作系統(tǒng)開(kāi)發(fā)工具Tornado。Tornado是一整套強(qiáng)有力的交叉開(kāi)發(fā)工具,它能夠支持幾乎所有的工作平臺(tái)和目標(biāo)處理器,所提供有工具可用于所有目標(biāo)機(jī),并具有兩種調(diào)試模式(系統(tǒng)模式和任務(wù)模式),能夠輕松給Vxworks操作系統(tǒng)添加刪除各種協(xié)議,能夠支持目標(biāo)機(jī)和宿主機(jī)的如以太網(wǎng)、線(xiàn)路、在線(xiàn)仿真等選項(xiàng),其機(jī)制和功能都是C/C++語(yǔ)言,任務(wù)、中斷、通信都提供了統(tǒng)一的API接口。這些特性為編寫(xiě)應(yīng)用程序和設(shè)備驅(qū)動(dòng)提供了極大便利。Tornado目前已發(fā)展到6.O及更高板本。本開(kāi)發(fā)工具是Tornado 2.0。

          在Vxworks下,設(shè)備驅(qū)動(dòng)可以嵌入到內(nèi)核隨系統(tǒng)一起啟動(dòng),也可以作為加載模塊在系統(tǒng)啟動(dòng)后運(yùn)行。前一種需要修改內(nèi)核,需要熟悉內(nèi)核結(jié)構(gòu)和運(yùn)行方式,這實(shí)現(xiàn)比較困難:而后一種比較簡(jiǎn)單,與編寫(xiě)一般的應(yīng)用程度類(lèi)似。本采用后者。

          2.2 STl6C*程序設(shè)計(jì)

          定義消息結(jié)構(gòu)MSG_STRUCT和串口接收UART_RECE_STRUCT數(shù)據(jù)結(jié)構(gòu):

          系統(tǒng)啟用收發(fā)2個(gè)任務(wù),初始化STl6C*后,實(shí)現(xiàn)收發(fā)數(shù)據(jù)流程如圖4所示。

          3 結(jié)論

          在詳細(xì)分析 5 4元件性能參數(shù)的基礎(chǔ)上,介紹了具體的開(kāi)發(fā)實(shí)例。硬件采用連接 5 4,軟件采用VxWorks系統(tǒng),雙任務(wù)驅(qū)動(dòng) 5 4進(jìn)行串口收發(fā)通信,該實(shí)例已在TornadoⅡ2.0_2版本上通過(guò)調(diào)試,單通道連續(xù)收或發(fā)5字節(jié)實(shí)驗(yàn),1秒20次無(wú)丟失包。該實(shí)例已成功應(yīng)用于某型網(wǎng)絡(luò)設(shè)備開(kāi)發(fā)中。


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

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(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); })();