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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 基于虛擬存儲器的USB下載線設(shè)計

          基于虛擬存儲器的USB下載線設(shè)計

          作者: 時間:2010-11-02 來源:網(wǎng)絡(luò) 收藏

          2.2 程序設(shè)計
          是連接計算機與目標單片機的中間設(shè)備,僅在計算機發(fā)出操作要求時才產(chǎn)生對應(yīng)的操作響應(yīng),因而系統(tǒng)程序設(shè)計過程中以處理計算機端數(shù)據(jù)為主要目標,根據(jù)計算機的數(shù)據(jù)對單片機進行相應(yīng)的操作。為了程序編寫簡潔和易于調(diào)試,設(shè)計系統(tǒng)主程序采用查詢方式對接口數(shù)據(jù)進行處理。對目標單片機的程序下載寫入時,將其設(shè)為整個程序的一個功能模塊,僅當需要下載寫入時調(diào)用該功能模塊,在程序編寫中將其定義為一個系統(tǒng)函數(shù)。
          與PC的接口芯片采用了PDID12作為接口芯片,為了處理來自USB接口的數(shù)據(jù),必須完成對PDIUSBD12的處理。在設(shè)計中利用Philips提供的PDIUSBD12驅(qū)動程序進行修改加以實現(xiàn)。
          數(shù)據(jù)處理過程的系統(tǒng)主函數(shù)如下:


          3 系統(tǒng)調(diào)試
          首先對下載線系統(tǒng)進行程序?qū)懭牒统绦蛘{(diào)試,然后再進行綜合調(diào)試。按下面步驟進行。
          3.1 調(diào)試下載線系統(tǒng)
          首先將下載系統(tǒng)控制程序?qū)懭胂到y(tǒng)單片機,然后進行ISP下載調(diào)試。
          將BIN文件代碼寫進下載線控制單片機程序內(nèi)部,采用程序直接將二進制代碼寫進目標單片機,觀察目標單片機的運行情況來判斷程序是否寫入。
          將HEX文件內(nèi)的數(shù)據(jù)寫在下載線控制單片機的源程序內(nèi)部,通過單片機程序?qū)EX格式進行解釋并寫入目標單片機,觀察目標單片機的運行情況來判斷程序是否解釋并寫入正確。
          3.2 硬件識別調(diào)試
          通過將下載線插入PC,在PC上發(fā)現(xiàn)USB設(shè)備,驗證下載線硬件是否工作。通過對USB器件的應(yīng)答,能夠在計算機中出現(xiàn)一個USB盤符。
          通過對下載線內(nèi)部的磁盤啟動扇區(qū)、FAT表和根目錄等信息的寫入,在PC上出現(xiàn)一個具體的磁盤,并能在磁盤上創(chuàng)建文件。
          3.3 綜合調(diào)試
          在下載線所對應(yīng)的磁盤上寫入HEX文件,由下載線系統(tǒng)單片機對HEX文件進行解釋,并寫入目標單片機,在目標單片機實驗板上觀察結(jié)果以判斷下載線是否完成功能。

          4 結(jié)語
          通過下載系統(tǒng)的硬件和軟件設(shè)計,在計算機中不需要安裝驅(qū)動程序,利用計算機系統(tǒng)中自帶的USB磁盤的驅(qū)動程序,只需要復制、粘貼或其他文件復制操作即可將單片機應(yīng)用程序?qū)懭雴纹瑱C,實現(xiàn)計算機通用的USB下載線的設(shè)計。

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

          上一頁 1 2 3 下一頁

          關(guān)鍵詞: USB 虛擬存儲器 下載線

          評論


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