• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 汽車電子 > 設計應用 > 56F8013程序Flash的在線可編程特性及應用

    56F8013程序Flash的在線可編程特性及應用

    作者:卓晴 時間:2012-08-21 來源:電子產品世界 收藏

      摘要: 本文在介紹56F8013的Flash編程方法的基礎之上,描述一種它的自舉程序()實現方法。該方法應用在競賽直立車??刂葡到y開發過程中,加快了車?,F場調試的過程。該方法原理同樣適應于公司數字信號控制器系列其它單片機開發。

    本文引用地址:http://www.czjhyjcfj.com/article/135966.htm

      競賽要求必須采用公司的微控制器作為控制單元的核心芯片,數字信號控制器(DSC)系列具有運算速度快、功耗低、外圍設備豐富等特點,非常適合競賽車??刂?。在競賽秘書處提供的直立車??刂茀⒖挤桨钢芯筒捎昧薉SC56F8013芯片組成控制核心電路[1]。該芯片不僅內部硬件資源可以滿足車??刂埔螅宜能浖_發環境Codewarrior中的PE(Processor Expert)可以自動生成芯片中各硬件模塊的接口代碼,使得開發者只需關注應用軟件的開發,這樣便可以提高軟件的開發效率和準確性。

      在DSC56F8013的程序開發和調試中,可以使用專用的JTEG調試工具,這種方式在車??刂葡到y開發中具有一定缺點。車?,F場調試中,單片機的代碼和參數需要頻繁的進行更新,使用JTEG調試工具,調試接頭的引線很多,插拔接頭不便。特別是無法在車模運行時實時監測內部程序控制參數。

      自舉程序()設計

      實現IAP過程中,一般將更新程序功能的代碼設計成獨立的自舉程序()模塊。將它燒寫在單片機內部特定的位置。

      通過自舉程序下載單片機程序的系統硬件連接如圖1所示?! ?/p>

     

      56F8013電路板通過串口電平轉換器與上位計算機相連。這個串口既可以下載單片機應用程序,同時也可以對單片機程序運行進行監控。實現Bootloader功能包括單片機程序和上位計算機的下載程序兩部分,下面分別進行介紹。

      Bootloader程序的功能描述和開發

      根據上述代碼空間劃定,單片機在復位之后,首先執行Bootloader程序,在Bootloader程序中,先檢查在一定時間內(一般設置為100ms左右)是否接受到用戶通過串口發送的0x55數據。如果受到了0x55數據,并在最后由0xaa數據結束,便進入Bootloader命令狀態,接受相應的程序下載指令,進行程序的更新。否則便從0x1AFF讀取用戶程序的起始地址,開始執行用戶程序。具體的啟動過程如圖3所示?! ?/p>

     

      也可以通過設定一定的觸發條件從用戶程序直接跳轉至Bootloader程序。在Bootloader命令狀態下,可以接收上位計算機發送一組處理命令,如表1所示。上位機程序通過上述三個基本命令便可以完成對56F8013內部Flash的編程?! ?/p>

     

      開發Bootloader程序可以在CodeWarrior提供創建新工程文件serial_bootloader模板基礎上進行改寫完成。模板serial_bootloader提供了Bootloader程序所必需的串口通訊、Flash讀寫子程序[3]。特別是Flash訪問程序比起PE生成的子程序更加簡捷。雖然在serial_bootloader模板中已經可以直接接收通過超級終端發送的S-記錄格式的單片機程序完成程序的下載功能,但效率低,而且用戶程序開發不方便。通過重新改寫之后,可以直接下載程序的二進制代碼,可以提高下載速度,方便用戶程序開發。


    上一頁 1 2 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 临沭县| 东莞市| 石景山区| 洛宁县| 志丹县| 嘉黎县| 康乐县| 平江县| 呼图壁县| 林州市| 婺源县| 柳江县| 台南县| 合作市| 马关县| 兴化市| 嘉祥县| 巧家县| 水城县| 靖州| 宝清县| 定远县| 巴塘县| 麟游县| 扎鲁特旗| 庆元县| 普兰店市| 万全县| 深圳市| 兴国县| 西林县| 叙永县| 吉木乃县| 湖州市| 陇南市| 金溪县| 西吉县| 柳江县| 永安市| 舟山市| 新巴尔虎左旗|