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

          新聞中心

          EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 56F8013程序Flash的在線可編程特性及應(yīng)用

          56F8013程序Flash的在線可編程特性及應(yīng)用

          作者:卓晴 時(shí)間:2012-07-24 來源:電子產(chǎn)品世界 收藏

            也可以通過設(shè)定一定的觸發(fā)條件從用戶程序直接跳轉(zhuǎn)至Bootloader程序。

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

            在Bootloader命令狀態(tài)下,可以接收上位計(jì)算機(jī)發(fā)送一組處理命令,如下表所示:

            表格 1 Bootloader命令               

            上位機(jī)程序通過上述三個(gè)基本命令便可以完成對56F8013內(nèi)部Flash的編程。

            開發(fā)Bootloader程序可以在CodeWarrior提供創(chuàng)建新工程文件serial_bootloader模板基礎(chǔ)上進(jìn)行改寫完成。下圖所示:  

           

            模板serial_bootloader提供了Bootloader程序所必需的串口通訊、Flash讀寫子程序[3]。特別是Flash訪問程序比起PE生成的子程序更加簡捷。

            雖然在serial_bootloader模板中已經(jīng)可以直接接收通過超級(jí)終端發(fā)送的S-記錄格式的單片機(jī)程序完成程序的下載功能,但效率低,而且用戶程序開發(fā)不方便。通過重新改寫之后,可以直接下載程序的二進(jìn)制代碼,可以提高下載速度,方便用戶程序開發(fā)。

            3. 計(jì)算機(jī)下載程序功能描述和開發(fā):

            計(jì)算機(jī)下載程序的功能主要包括有:

            (1)讀取單片機(jī)的執(zhí)行文件。單片機(jī)執(zhí)行文件大多以Intel HEX文件格式,或者M(jìn)otorola的S-Record的格式存儲(chǔ)。安裝這些文件格式標(biāo)準(zhǔn),下載程序?qū)纹瑱C(jī)程序轉(zhuǎn)化成可以對Flash進(jìn)行編程的二進(jìn)制數(shù)據(jù)。

            (2)對于單片機(jī)二進(jìn)制格式的程序前面兩個(gè)跳轉(zhuǎn)指令數(shù)據(jù)修改成兩條JMP 0x1B00指令數(shù)據(jù),并保存原有程序的起始地址;

            (3)通過串口完成對單片機(jī)的復(fù)位,同時(shí)發(fā)送0x55和0xaa數(shù)據(jù),引導(dǎo)單片機(jī)進(jìn)入Bootloader命令狀態(tài)。

            (4)通過Bootloader的擦除和編程命令完成對單片機(jī)Flash的程序下載,并將單片機(jī)程序的首地址編程在0x1AFF位置。

            (5)通過執(zhí)行用戶程序命令或者重新復(fù)位單片機(jī)執(zhí)行新的用戶下載的程序。

          c語言相關(guān)文章:c語言教程


          單片機(jī)相關(guān)文章:單片機(jī)教程


          單片機(jī)相關(guān)文章:單片機(jī)視頻教程


          單片機(jī)相關(guān)文章:單片機(jī)工作原理




          關(guān)鍵詞: 飛思卡爾 智能汽車

          評論


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