0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于MSP430系列單片機的遠(yuǎn)程升級方案

電子設(shè)計 ? 來源:CSDN 博主 ? 作者:bitQ ? 2021-02-04 15:12 ? 次閱讀

MSP430系列單片機常用的程序下載方式為JTAG、BSL,實際產(chǎn)品應(yīng)用中會用到固件的升級,如果是異地設(shè)備,則給升級帶來不少麻煩。有沒有普通用戶就可操作的固件升級方案呢?就像BootLoader,可通過命令選擇啟動方式,甚至實現(xiàn)遠(yuǎn)程升級?答案是有的。其原理就是通過FLASH操作,將新的固件刷到FLASH中去,然后轉(zhuǎn)到固件起始地址運行。

MSP430串口升級程序

MSP430 FLASH ROM

1. 如下圖所示, 如下圖所示, 如下圖所示, FLASH ROM為 32K 字節(jié)(FLASH大小要根據(jù)你用的具體型號做調(diào)整),分為 64 個段,每個段分為512字節(jié),512字節(jié)又細(xì)分為 8個塊 ,每塊64字節(jié)。

2. MSP430F247每次最小可擦除1個段的空間,除操作是向該寫滿 0XFF。

3. 32K字節(jié)的 FLASH ROM起始地址為 0X0FFFF –0X080000,對應(yīng)Segment0 – Segment63.

4. RST復(fù)位中斷向量地址為0x0FFFE,其由編譯器自動寫入跳轉(zhuǎn)到main()函數(shù)的指令。

中斷向量

當(dāng)有外部復(fù)位、軟件復(fù)位等,都會觸發(fā)名為Reset的不可屏蔽中斷,此時MCU會自動將中斷向量0xFFFE裝入PC指針,從而引導(dǎo)程序運行。

除了Reset中斷,還有其它例如UART、SPI、TIMER等中斷,中斷向量記錄了中斷子程序的入口地址,中斷向量表如下:

存儲空間劃分

增加串口升級功能需要有該部分程序支撐,因此FLASH ROM被劃分成兩部分:引導(dǎo)分區(qū)、應(yīng)用分區(qū),引導(dǎo)分區(qū)運行bootloader,當(dāng)需更新代碼時,該部分程序會讀取串口發(fā)送的程序文件,并將其下載到應(yīng)用分區(qū);應(yīng)用分區(qū)用于存放應(yīng)用程序。

具體分區(qū)見下圖:

這里系統(tǒng)分區(qū)占了1.5KB的空間,其中包括了bootloader代碼分區(qū)和中斷向量分區(qū)。應(yīng)用程序分區(qū)也包括代碼區(qū)和中斷向量區(qū)兩部分,但這里的中斷向量卻是虛擬中斷向量,原因:中斷向量表不能重新映射。

具體實現(xiàn)

程序更新步驟:1、設(shè)備上電; 2、運行bootloader程序; 3、延時等待遠(yuǎn)程升級命令;4、收到更新命令進(jìn)入升級功能;5、將應(yīng)用分區(qū)擦除;6、將接收的程序?qū)懭霊?yīng)用分區(qū);7、跳轉(zhuǎn)PC指針到應(yīng)用程序的復(fù)位地址;8、運行新的應(yīng)用程序。

程序運行的步驟:1、設(shè)備上電; 2、運行bootloader程序; 3、延時等待遠(yuǎn)程升級命令;4、接收命令超時;5、判斷應(yīng)用分區(qū)是否有可運行的程序;6、跳轉(zhuǎn)PC指針到應(yīng)用程序的復(fù)位地址;7、運行應(yīng)用程序。(如果沒有可運行的程序、則一直停留在bootloader)

關(guān)鍵技術(shù):

1、通過移動PC指針實現(xiàn)了bootloader到應(yīng)用程序的切換、同時也實現(xiàn)了虛擬中斷向量表。

2、通過FLASH ROM的讀寫操作實現(xiàn)應(yīng)用程序的更新

總結(jié)

順利實現(xiàn)MSP430的遠(yuǎn)程升級,這里我要感謝梁先生的網(wǎng)絡(luò)資料。其實,只要單片機有FLASH的讀寫接口,就能根據(jù)此原理實現(xiàn)bootloader,同時接口也不局限與串口,只要有機制獲取新程序,就可以通過這種方式實現(xiàn)對MCU的升級。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6039

    文章

    44575

    瀏覽量

    636373
  • msp430
    +關(guān)注

    關(guān)注

    180

    文章

    2403

    瀏覽量

    229401
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1638

    瀏覽量

    148181
收藏 人收藏

    評論

    相關(guān)推薦

    請問ADS112C04作為一個模數(shù)轉(zhuǎn)化器,怎么和msp430單片機相連,進(jìn)行編程呢?

    請問ADS112C04作為一個模數(shù)轉(zhuǎn)化器,怎么和msp430單片機相連,進(jìn)行編程呢?以及為什么它只有一個數(shù)據(jù)輸入和輸出共用的端口,而沒有其他數(shù)據(jù)輸出端口?謝謝
    發(fā)表于 12-11 06:29

    MSP430 GCC用戶指南

    電子發(fā)燒友網(wǎng)站提供《MSP430 GCC用戶指南.pdf》資料免費下載
    發(fā)表于 12-05 14:51 ?0次下載
    <b class='flag-5'>MSP430</b> GCC用戶指南

    MSP430?硬件工具

    電子發(fā)燒友網(wǎng)站提供《MSP430?硬件工具.pdf》資料免費下載
    發(fā)表于 11-07 09:10 ?0次下載
    <b class='flag-5'>MSP430</b>?硬件工具

    基于MSP430單片機的模糊邏輯電機控制

    電子發(fā)燒友網(wǎng)站提供《基于MSP430單片機的模糊邏輯電機控制.pdf》資料免費下載
    發(fā)表于 10-23 10:21 ?0次下載
    基于<b class='flag-5'>MSP430</b><b class='flag-5'>單片機</b>的模糊邏輯電機控制

    使用MSP430 MCU實現(xiàn)CRC

    電子發(fā)燒友網(wǎng)站提供《使用MSP430 MCU實現(xiàn)CRC.pdf》資料免費下載
    發(fā)表于 10-23 10:19 ?0次下載
    使用<b class='flag-5'>MSP430</b> MCU實現(xiàn)CRC

    調(diào)試MSP430 LPM4.5

    電子發(fā)燒友網(wǎng)站提供《調(diào)試MSP430 LPM4.5.pdf》資料免費下載
    發(fā)表于 10-21 10:35 ?0次下載
    調(diào)試<b class='flag-5'>MSP430</b> LPM4.5

    基于MSP430單片機的軟件玻璃液晶驅(qū)動程序

    電子發(fā)燒友網(wǎng)站提供《基于MSP430單片機的軟件玻璃液晶驅(qū)動程序.pdf》資料免費下載
    發(fā)表于 10-18 10:41 ?0次下載
    基于<b class='flag-5'>MSP430</b><b class='flag-5'>單片機</b>的軟件玻璃液晶驅(qū)動程序

    利用MSP430單片機控制步進(jìn)電機

    電子發(fā)燒友網(wǎng)站提供《利用MSP430單片機控制步進(jìn)電機.pdf》資料免費下載
    發(fā)表于 10-09 14:18 ?0次下載
    利用<b class='flag-5'>MSP430</b><b class='flag-5'>單片機</b>控制步進(jìn)電機

    基于MSP430的汽車電子喇叭

    電子發(fā)燒友網(wǎng)站提供《基于MSP430的汽車電子喇叭.pdf》資料免費下載
    發(fā)表于 10-09 10:18 ?0次下載
    基于<b class='flag-5'>MSP430</b>的汽車電子喇叭

    使用MSP430? MCU和段式LCD進(jìn)行設(shè)計

    電子發(fā)燒友網(wǎng)站提供《使用MSP430? MCU和段式LCD進(jìn)行設(shè)計.pdf》資料免費下載
    發(fā)表于 10-09 09:25 ?1次下載
    使用<b class='flag-5'>MSP430</b>? MCU和段式LCD進(jìn)行設(shè)計

    msp430單片機的優(yōu)缺點介紹

    自1996年面世以來,MSP430系列單片機以其卓越的性能和獨特的優(yōu)勢,在電子工程領(lǐng)域獨樹一幟。這款16位超低功耗的混合信號處理器,憑借其出色的低功耗特性、高效的處理速度以及靈活的編程能力,迅速
    的頭像 發(fā)表于 09-25 17:12 ?704次閱讀

    使用MSP430 MCU開始USB設(shè)計

    電子發(fā)燒友網(wǎng)站提供《使用MSP430 MCU開始USB設(shè)計.pdf》資料免費下載
    發(fā)表于 09-20 11:01 ?0次下載
    使用<b class='flag-5'>MSP430</b> MCU開始USB設(shè)計

    采用低成本MSP430單片機的外部可編程看門狗定時器監(jiān)控系統(tǒng)

    電子發(fā)燒友網(wǎng)站提供《采用低成本MSP430單片機的外部可編程看門狗定時器監(jiān)控系統(tǒng).pdf》資料免費下載
    發(fā)表于 09-13 09:54 ?0次下載
    采用低成本<b class='flag-5'>MSP430</b><b class='flag-5'>單片機</b>的外部可編程看門狗定時器監(jiān)控系統(tǒng)

    利用超低功耗單片機 MSP430 作為系統(tǒng)伴隨芯片應(yīng)用報告

    電子發(fā)燒友網(wǎng)站提供《利用超低功耗單片機 MSP430 作為系統(tǒng)伴隨芯片應(yīng)用報告.pdf》資料免費下載
    發(fā)表于 09-10 10:52 ?0次下載
    利用超低功耗<b class='flag-5'>單片機</b> <b class='flag-5'>MSP430</b> 作為系統(tǒng)伴隨芯片應(yīng)用報告

    提高MSP430G系列單片機的Flash擦寫壽命的方法

    電子發(fā)燒友網(wǎng)站提供《提高MSP430G系列單片機的Flash擦寫壽命的方法.pdf》資料免費下載
    發(fā)表于 08-28 11:51 ?0次下載
    提高<b class='flag-5'>MSP430</b>G<b class='flag-5'>系列</b><b class='flag-5'>單片機</b>的Flash擦寫壽命的方法