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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 基于VxWorks的VME從板驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

          基于VxWorks的VME從板驅(qū)動(dòng)設(shè)計(jì)與實(shí)現(xiàn)

          作者: 時(shí)間:2013-06-14 來源:網(wǎng)絡(luò) 收藏

          4.2 驅(qū)動(dòng)程序ioctrl方法的實(shí)現(xiàn)
          驅(qū)動(dòng)程序的ioctrl方法在驅(qū)動(dòng)程序中具有重要地位,它除了要實(shí)現(xiàn)從板功能寄存器的設(shè)置及驅(qū)動(dòng)程序的查詢機(jī)制外,還要實(shí)現(xiàn)用戶信號(hào)處理函數(shù)的注冊(cè)工作,結(jié)合這些功能實(shí)現(xiàn)的ioctrl方法的框架代碼如下所示。
          i.JPG
          整個(gè)的ioctl方法由switch結(jié)構(gòu)組成,這樣的結(jié)構(gòu)代碼簡單明了,易讀性和可維護(hù)性都很好,同時(shí)可以方便地通過擴(kuò)充命令的方法來實(shí)現(xiàn)對(duì)從板功能寄存器多種多樣的操作,便于驅(qū)動(dòng)程序的重用。
          4.3 驅(qū)動(dòng)程序read方法的買現(xiàn)
          驅(qū)動(dòng)程序的read方法主要實(shí)現(xiàn)對(duì)緩沖區(qū)數(shù)據(jù)的讀取,同時(shí)它是實(shí)現(xiàn)數(shù)據(jù)阻塞操作的關(guān)鍵,read方法的程序流程圖如圖6所示。

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

          k.JPG


          函數(shù)首先進(jìn)行參數(shù)的檢查及轉(zhuǎn)化;然后檢查緩沖區(qū)標(biāo)志,如果緩沖區(qū)存在數(shù)據(jù)則直接讀出數(shù)據(jù),如果緩沖區(qū)沒有數(shù)據(jù),函數(shù)就會(huì)申請(qǐng)緩沖區(qū)的信號(hào)量而使任務(wù)處于掛起狀態(tài),當(dāng)中斷處理任務(wù)處理完緩沖區(qū)后會(huì)發(fā)送一個(gè)信號(hào)量而使任務(wù)重新運(yùn)行并且讀出緩沖區(qū)數(shù)據(jù);函數(shù)最后是設(shè)置緩沖區(qū)標(biāo)志,表示緩沖區(qū)數(shù)據(jù)已經(jīng)讀出。函數(shù)要與中斷處理任務(wù)進(jìn)行同步;讀取和設(shè)置緩沖區(qū)標(biāo)志使用原子操作的方法,等待中斷處理任務(wù)設(shè)置緩沖區(qū)時(shí)使用了信號(hào)量的方式完成了同步。

          5 數(shù)據(jù)傳輸測試
          VME數(shù)據(jù)傳輸測試主要是測試總線數(shù)據(jù)傳輸?shù)目煽啃?,只有總線數(shù)據(jù)傳輸?shù)目煽啃阅軌虮WC,驅(qū)動(dòng)才能穩(wěn)定的運(yùn)行,其測試的方法是通過隨機(jī)地讀寫從板的隨機(jī)讀寫寄存器來完成的,整個(gè)測試中為了模擬操作系統(tǒng)在有負(fù)載情況下的運(yùn)行效果,增加了一些定時(shí)器操作,
          其測試的程序流程圖如圖7所示。

          l.JPG


          使用這種測試的方法最終得到測試的結(jié)果如表3所示。從測試結(jié)果可以看出,數(shù)據(jù)傳輸?shù)臏?zhǔn)確性比較好,通過閱讀VG5-7457PowerPC的板級(jí)支持包可以發(fā)現(xiàn)其實(shí)現(xiàn)VME數(shù)據(jù)總線操作的函數(shù)都有原子操作過程,以此保證數(shù)據(jù)傳輸?shù)目煽啃?。良好?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/VME總線">VME總線傳輸特性為驅(qū)動(dòng)的實(shí)現(xiàn)提供了良好的基礎(chǔ)。

          m.JPG



          6 結(jié)論
          設(shè)計(jì)了基于從板的驅(qū)動(dòng)程序框架,著重介紹了驅(qū)動(dòng)程序的機(jī)制及這些機(jī)制的實(shí)現(xiàn)方法;在設(shè)計(jì)的整體上重點(diǎn)地考慮了驅(qū)動(dòng)程序的可維護(hù)性及可移轉(zhuǎn)性。采用這種方式建立起來的驅(qū)動(dòng)程序代碼的可讀性好,可維護(hù)性強(qiáng),而且可以方便地移植到其他的應(yīng)用場合。


          上一頁 1 2 3 下一頁

          評(píng)論


          相關(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); })();