新聞中心

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

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

        作者:卓晴 時(shí)間:2012-08-21 來(lái)源:電子產(chǎn)品世界 收藏

          摘要: 本文在介紹56F8013的Flash編程方法的基礎(chǔ)之上,描述一種它的自舉程序()實(shí)現(xiàn)方法。該方法應(yīng)用在競(jìng)賽直立車模控制系統(tǒng)開(kāi)發(fā)過(guò)程中,加快了車模現(xiàn)場(chǎng)調(diào)試的過(guò)程。該方法原理同樣適應(yīng)于公司數(shù)字信號(hào)控制器系列其它單片機(jī)開(kāi)發(fā)。

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

          競(jìng)賽要求必須采用公司的微控制器作為控制單元的核心芯片,數(shù)字信號(hào)控制器(DSC)系列具有運(yùn)算速度快、功耗低、外圍設(shè)備豐富等特點(diǎn),非常適合競(jìng)賽車模控制。在競(jìng)賽秘書處提供的直立車模控制參考方案中就采用了DSC56F8013芯片組成控制核心電路[1]。該芯片不僅內(nèi)部硬件資源可以滿足車模控制要求,而且它的軟件開(kāi)發(fā)環(huán)境Codewarrior中的PE(Processor Expert)可以自動(dòng)生成芯片中各硬件模塊的接口代碼,使得開(kāi)發(fā)者只需關(guān)注應(yīng)用軟件的開(kāi)發(fā),這樣便可以提高軟件的開(kāi)發(fā)效率和準(zhǔn)確性。

          在DSC56F8013的程序開(kāi)發(fā)和調(diào)試中,可以使用專用的JTEG調(diào)試工具,這種方式在車模控制系統(tǒng)開(kāi)發(fā)中具有一定缺點(diǎn)。車模現(xiàn)場(chǎng)調(diào)試中,單片機(jī)的代碼和參數(shù)需要頻繁的進(jìn)行更新,使用JTEG調(diào)試工具,調(diào)試接頭的引線很多,插拔接頭不便。特別是無(wú)法在車模運(yùn)行時(shí)實(shí)時(shí)監(jiān)測(cè)內(nèi)部程序控制參數(shù)。

          自舉程序()設(shè)計(jì)

          實(shí)現(xiàn)IAP過(guò)程中,一般將更新程序功能的代碼設(shè)計(jì)成獨(dú)立的自舉程序()模塊。將它燒寫在單片機(jī)內(nèi)部特定的位置。

          通過(guò)自舉程序下載單片機(jī)程序的系統(tǒng)硬件連接如圖1所示。  

         

          56F8013電路板通過(guò)串口電平轉(zhuǎn)換器與上位計(jì)算機(jī)相連。這個(gè)串口既可以下載單片機(jī)應(yīng)用程序,同時(shí)也可以對(duì)單片機(jī)程序運(yùn)行進(jìn)行監(jiān)控。實(shí)現(xiàn)Bootloader功能包括單片機(jī)程序和上位計(jì)算機(jī)的下載程序兩部分,下面分別進(jìn)行介紹。

          Bootloader程序的功能描述和開(kāi)發(fā)

          根據(jù)上述代碼空間劃定,單片機(jī)在復(fù)位之后,首先執(zhí)行Bootloader程序,在Bootloader程序中,先檢查在一定時(shí)間內(nèi)(一般設(shè)置為100ms左右)是否接受到用戶通過(guò)串口發(fā)送的0x55數(shù)據(jù)。如果受到了0x55數(shù)據(jù),并在最后由0xaa數(shù)據(jù)結(jié)束,便進(jìn)入Bootloader命令狀態(tài),接受相應(yīng)的程序下載指令,進(jìn)行程序的更新。否則便從0x1AFF讀取用戶程序的起始地址,開(kāi)始執(zhí)行用戶程序。具體的啟動(dòng)過(guò)程如圖3所示。  

         

          也可以通過(guò)設(shè)定一定的觸發(fā)條件從用戶程序直接跳轉(zhuǎn)至Bootloader程序。在Bootloader命令狀態(tài)下,可以接收上位計(jì)算機(jī)發(fā)送一組處理命令,如表1所示。上位機(jī)程序通過(guò)上述三個(gè)基本命令便可以完成對(duì)56F8013內(nèi)部Flash的編程。  

         

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


        上一頁(yè) 1 2 下一頁(yè)

        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 九台市| 黎川县| 师宗县| 十堰市| 巢湖市| 长春市| 光山县| 正宁县| 五寨县| 泉州市| 钟山县| 若尔盖县| 淳化县| 富平县| 雷山县| 云阳县| 微山县| 商水县| 广饶县| 鸡东县| 闻喜县| 昌宁县| 乐昌市| 乌兰浩特市| 镇远县| 盐城市| 固阳县| 剑河县| 忻州市| 城固县| 东海县| 昌都县| 博野县| 永平县| 石楼县| 扎兰屯市| 普宁市| 丹寨县| 丹棱县| 阜新| 天气|