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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AT91SAM7Sxx系列MCU Boot-Loader的設(shè)計

          AT91SAM7Sxx系列MCU Boot-Loader的設(shè)計

          作者: 時間:2011-08-27 來源:網(wǎng)絡(luò) 收藏

          2.3 的操作
          把所有操作的函數(shù)定義在RAM空間,例如:
          __ramfunc int C::Erase_All(void)
          因為SAM7Sxx系列的Flash采用單層結(jié)構(gòu),不允許程序在Flash上運行的同時改寫Flash的內(nèi)容, 所以要將操作Flash的程序放在RAM中運行.

          2.4 數(shù)據(jù)包的處理
          第一個數(shù)據(jù)包包含用戶啟動代碼和異常向量表。Boot-Loader需要修改復(fù)位向量,并保存用戶入口地址(偽代碼如下)
          if (Page == 0) {
          Get User Entrance Address
          Replace User Entrance Address with Boot-Loader Entrance Address
          Program first page into Flash
          Set flag to indicate an unfinished task
          Calculate checksum and return to PC
          }
          收到結(jié)束指令后需要設(shè)置完成標志(偽代碼如下):
          if (Command == END_OF_TASK) {
          Write last page into Flash
          Reset unfinished flag
          Calculate checksum and return to PC
          }
          如果頁地址與boot-loader 重疊,則不進行寫操作,僅返成功標志給PC:
          if ( (Page >= BL_START_PAGE) (Page = BL_END_PAGE) ) {
          ret = true ;
          break ;
          }

          3 PC端下載軟件的實現(xiàn)簡介
          下面是標準的PC端操作流程:
          - 獲得USB HID 類GUID
          - 獲得所有HID設(shè)備結(jié)構(gòu)數(shù)組
          - 根據(jù) PID 獲得設(shè)備信息
          - 打開設(shè)備句柄
          - 與Boot-Loader 進行通訊
          以上操作步驟在Windows, MacOS, Linux 中都是通用的,讀者可以在參考文獻3找到關(guān)于PC端程序?qū)崿F(xiàn)的具體方法。

          圖 Boot-loader 在Flash中的位置(以SAM7S256為例)

          4 結(jié)論

          本文介紹的實現(xiàn)方法簡化了系列用戶程序升級過程。HID類的USB接口增加了產(chǎn)品跨平臺應(yīng)用的靈活性。筆者測試下載25K代碼約2秒鐘,具有一定實用價值。

          參考文獻

          [1] at91sam7s_full.pdf. Http://www.at91.com
          [2] HID1_11.pdf. Http://www.usb.org
          [3] Stuart Allman Using the HID class eases the job of writing USB device drivers. Http://www.edn.com


          上一頁 1 2 下一頁

          關(guān)鍵詞: AT91SAM7Sxx VID Flash

          評論


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