新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > Bootloader技術在數字信號控制器中的應用

        Bootloader技術在數字信號控制器中的應用

        作者: 時間:2012-09-03 來源:網絡 收藏

        如前文所述, PC 機發送的數據是從. hex 文件中提取的, PC機首先發送擴展地址部分, 下位機接收保存后會繼續等待接收32個指令字( 96字節)并保存到RAM 中, 然后根據接收到的地址擦除FLASH 存儲器中的1行, 擦除FLASH 是通過調用匯編函數E raseMem來進行的, 函數原型如下:

        mov# 0x4041, NVMCON ; 使NVMCON 寄存器為擦除FLASH模式

        mov # 0x55, W 0

        movW0, NVMKEY

        mov # 0xAA, W0

        movW 0, NVMKEY ; 將0x55、0xAA 寫入密鑰寄存器

        bsetNVMCON, #WR ; 開始擦除

        nop

        nop

        return

        擦除FLASH存儲器的一行后需要把接收到的32個指令字寫入到FLASH 存儲器寫鎖存器中, 這一過程可以通過函數W riteLatch 實現, 函數原型如下:

        movW0, TBLPAG ; 寫表寄存器

        tb lw tlW3, [W1]

        tb lw thW2, [W1] ; 寫入鎖存器

        return

        這一步完成之后就可以將接收到的32個指令字寫入FLASH 存儲器了, 其方法與擦除FLASH 類似, 寫完一行后向PC 機發送應答。待FLASH 存儲器全部寫完之后, PC 機會發送表示結束下載的命令, 下位機接收后退出Boo tloader程序, 進入新的用戶程序繼續運行, 從而完成整個在線自編程過程。

        7 結束語

        dsPIC30F 系列Boot loader實現用戶程序在線自編程升級的方法具有很高的價值, 尤其是于自主開發的工業自動化儀表時給用戶程序的現場升級帶來了極大的方便。該方法已經成功用于電子皮帶秤控制儀表系統中, 達到了提高系統軟件升級的更換效率、降低升級費用、提高產品制造商對用戶的服務質量滿意度的目的。方法雖然僅以dsPIC30F系列芯片為例, 但對于M icrochip公司生產的其它系列芯片只要略加修改同樣適用。


        上一頁 1 2 3 4 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 鹤山市| 开封市| 伊川县| 平昌县| 南投市| 平乐县| 五大连池市| 石棉县| 克山县| 昭觉县| 同德县| 张家口市| 纳雍县| 龙州县| 藁城市| 敦化市| 南丰县| 德化县| 淳安县| 根河市| 广平县| 望都县| 武山县| 清远市| 公主岭市| 都安| 宁明县| 故城县| 广丰县| 元谋县| 黄浦区| 平江县| 新晃| 泗水县| 治多县| 普洱| 苍山县| 滨州市| 新丰县| 大埔县| 安乡县|