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

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

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

基于MS430G2755為目標(biāo)升級(jí)對(duì)象

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-01-15 17:23 ? 次閱讀

摘要

TIMSP430支持在主程序中加載Bootloader的方式進(jìn)行在線升級(jí)操作,通過(guò)在線升級(jí)功能,客戶可以通過(guò)外部處理器隨時(shí)更新MSP430內(nèi)部的程序及Bug 的遠(yuǎn)程修復(fù)。同時(shí)TI也提供了基于MSP430G2553的參考代碼,本文詳細(xì)的介紹了如何將MSP430G2553的Bootloader移植到MSP430G2755中,使用MSP 430G2553 Host對(duì)MSP430G2755 Device進(jìn)行的升級(jí)操作。

本文基于MS430G2755為目標(biāo)升級(jí)對(duì)象,詳細(xì)講述BootLoader的使用方法,并給出了具體的移植步驟。

Figure1為MSPBoot軟件框架,本文的分析都是基于這個(gè)典型軟件框架。

Figure1. MSPBoot軟件框架路

1. MSP430 Main Memory Bootloader 介紹

在MSP430G2xx 中實(shí)際上具有一個(gè)ROM版本的BSL(Bootloader) ,但是這個(gè)BSL僅僅支持外部MCU通過(guò)UART進(jìn)行在線升級(jí),而且而且所有的協(xié)議全部固化,無(wú)法進(jìn)行修改或者更改其他接口方式進(jìn)行升級(jí)操作。所以這個(gè)需要一個(gè)可以在主程序中運(yùn)行的Bootloader,可以讓外部MCU進(jìn)行用戶自定義的升級(jí)操作。同時(shí)TI也提供了一個(gè)基于MSP430G2553的參考例程,可以通過(guò)如下鏈接進(jìn)行下載。http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBoot/latest/index_FDS.html

本文使用的參考代碼版本為MSPBoot_1_01_00_00。

2.MSPBoot的代碼移植流程

2.1MS430G2755 CMD文件的產(chǎn)生

首先用Per工具產(chǎn)生CMD文件(Generating Linker Files), 通過(guò)Per的工具會(huì)產(chǎn)生兩個(gè)CMD文件,其中一個(gè)給MSP430G2755的Bootloader使用,另一個(gè)給MSP430G2755的應(yīng)用程序使用。操作指令如下:

?這里面有幾個(gè)重要的參數(shù)說(shuō)明如下,

<0x8000 > = Start address of Flash/FRAM

對(duì)于MSP430G2553 地址為0xC000 , 而MSP430G2755的地址需要修改為0x8000

<0xFFE0 > = Address of interrupt vector table

中斷向量表的地址0xFFE0, 對(duì)于MSP430G2553和MSP430G2755相同

<0xFC00> = Start address of Bootloader

Bootloader的起始地址0xFC00,對(duì)于兩者也是相同的

<48 > =Size of the proxy table

這里的48對(duì)應(yīng)于12個(gè)中斷向量,每個(gè)中斷向量占用4Byte

<6> = Size of shared vectors

在應(yīng)用程序中一共有3個(gè)(P1/Time/Dummy)中斷向量,每個(gè)中斷向量占用2Byte, 對(duì)應(yīng)參數(shù)為6

<0x1100> = Start address of RAM

RAM的起始地址也需要修改為MSP430G2755的0x1100

<0x20FF > = End address of RAM

RAM的結(jié)束地址也需要修改為MSP430G2755的0x20FF

<0x80> = Size of the stack

MSP430G2755默認(rèn)的堆棧大小為0x80

<0x1000> = Start address of info memory used for bootloader

Information的起始和結(jié)束地址MSP430G2553和MSP430G2755一致,無(wú)需修改

<0x10BF > = End address of info memory used for bootloader

Information的起始和結(jié)束地址MSP430G2553和MSP430G2755一致,無(wú)需修改

注意如上修改的參數(shù)6,及中斷向量的數(shù)量,在Bootloader中的中斷向量不需要修改,只修改MSP430G2755應(yīng)用程序App中的中斷向量即可,通過(guò)下圖可以直觀看到中斷向量的在Bin文件中的分布。

Figure1.MSP430G2755中斷向量


Figure2. MSP430G2755 Bin文件對(duì)應(yīng)虛擬中斷向量表

注意在這里的809C 和80E2 就對(duì)應(yīng)MSP430G2755應(yīng)用程序中的P1_Isr 和Timer_A,GPIO中斷和定時(shí)器中斷。下圖會(huì)看到在MSP430G2755 Bootloader中虛擬中斷向量表的分布。

Figure3.MSP430G2755 Bootloader虛擬中斷向量表

2.2工程CMD文件添加到工程中

將2.1步驟中產(chǎn)生的CMD文件,分別添加到MSP430G2755的Bootloader及應(yīng)用程序App的工程中,如下圖所示:


Figure4.MSP540G2755 CMD文件

2.3應(yīng)用程序txt轉(zhuǎn)化c文件

通過(guò)CCS編譯器,編譯MSP430G2755的應(yīng)用程序,編譯完成后會(huì)產(chǎn)生一個(gè)txt文件下載格式,我們需要將這個(gè)產(chǎn)生的txt文件轉(zhuǎn)換為.c文件,這個(gè).c文件才能給主控MCU使用,通過(guò)Bootloader下載到MSP430G2755中。轉(zhuǎn)化運(yùn)行指令如下:

通過(guò)這步將生成的.c文件,添加到主MCU中的main函數(shù)文件路徑中,在這里我們測(cè)試的主控MCU是MSP430G2553,添加后的程序如下圖所示:

Figure5.Host MCU添加升級(jí)程序

2.4寫(xiě)入CRC校驗(yàn)地址信息

通過(guò)上步我們?cè)谥骺豈SP430G2553中添加了需要升級(jí)的應(yīng)用程序,同時(shí)我們還要在主MCU中修改目標(biāo)升級(jí)芯片(MSP430G2755)的CRC地址信息,修改參考如下,

Figure6. MSP430G2553添加CRC地址信息

注意此時(shí)已經(jīng)不再需要MSPBoot用戶指導(dǎo)手冊(cè)中的CRC生成工具,進(jìn)行CRC的校驗(yàn),我們看到其實(shí)直接在主MCU中計(jì)算了CRC校驗(yàn),并且把CRC的值放到指定的位置。

Figure7. MSP430G2553 計(jì)算CRC數(shù)值

2.5修改MSP430G2755應(yīng)用程序

在這測(cè)試了將之前MSP430G2553默認(rèn)的P1.1和P1.2口UART,修改為MSP430G2755硬件P3.4和P3.5口UART接收數(shù)據(jù)的接口。實(shí)際的參考代碼如下:

Figure8. MSP430G2755 UART口修改

特別注意,在MSP430G2755應(yīng)用程序App中,有兩個(gè)中斷默認(rèn)使用即P1口和定時(shí)器中斷,不能直接將P1口和Timer的中斷直接屏蔽掉,這樣會(huì)導(dǎo)致Host主控MSP430G2553升級(jí)MSP430G2553成功后,MSP430G2553并未正常的啟動(dòng)應(yīng)用程序。如果在應(yīng)用程序中不需要這兩個(gè)中斷向量,則在第一步產(chǎn)生CMD文件的過(guò)程中需要修改<6> = Size of shared vectors 這個(gè)參數(shù)。

3.小結(jié)

本文總結(jié)了通過(guò)以上步驟我們完成了從MSP430G2553到MSP430G2755 Bootloader的移植,那我們總結(jié)MSP430G2755 Bootloader和應(yīng)用程序App的整個(gè)程序架構(gòu),分析如下:

我們通過(guò)工具讀取了主程序移植了BootLoader的MSP430G2755的總代碼,其中MSP430G2755存儲(chǔ)Flash地址分析如下

從0x8000-0x8100為應(yīng)用程序

從0xFBC0-0xFBF0 為虛擬的中斷向量表

從0xFC00-0xFFD0 為Bootloder

從0xFFE0-0xFFF0 為真實(shí)的中斷向量表

審核編輯:何安

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

    關(guān)注

    0

    文章

    341

    瀏覽量

    10049
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1243

    瀏覽量

    101679
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    請(qǐng)問(wèn)有沒(méi)有辦法對(duì)MSP430的固件升級(jí)

    AFE4400 EVM板,上面用的MCUMSP430,之前一直正常使用,現(xiàn)在連接上電腦,電腦就認(rèn)為是鍵盤(pán)類(lèi)的硬件,將EVM板的USB驅(qū)動(dòng)裝不成功,可能是MSP430的固件有問(wèn)題,請(qǐng)問(wèn)有沒(méi)有辦法對(duì)MSP
    發(fā)表于 01-14 08:38

    應(yīng)用MSP430G2553與ADS1120檢測(cè)K型熱電偶溫度,輸入正,怎么讀數(shù)負(fù)?

    應(yīng)用MSP430G2553與ADS1120檢測(cè)K型熱電偶溫度,連接如圖示 設(shè)定方式:AINp=AIN0,AINn=AIN1,連續(xù)模式,PGA=64,內(nèi)部參考電壓, 現(xiàn)象:不加熱熱電偶第一次讀數(shù)0x8050,第二次以后0xC050 加熱熱電偶,讀數(shù)從0xC0XX開(kāi)始增加 問(wèn)題:輸入
    發(fā)表于 01-07 06:13

    RF430CL330H目標(biāo)板用戶指南

    電子發(fā)燒友網(wǎng)站提供《RF430CL330H目標(biāo)板用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 01-02 14:59 ?0次下載
    RF<b class='flag-5'>430</b>CL330H<b class='flag-5'>目標(biāo)</b>板用戶指南

    MSP430G2553 LaunchPad?開(kāi)發(fā)套件(MSP-EXP430G2ET)用戶指南

    電子發(fā)燒友網(wǎng)站提供《MSP430G2553 LaunchPad?開(kāi)發(fā)套件(MSP-EXP430G2ET)用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 12-05 14:59 ?0次下載
    MSP<b class='flag-5'>430G</b>2553 LaunchPad?開(kāi)發(fā)套件(MSP-EXP<b class='flag-5'>430G</b>2ET)用戶指南

    MSP430F2xx、MSP430G2xx系列用戶指南

    電子發(fā)燒友網(wǎng)站提供《MSP430F2xx、MSP430G2xx系列用戶指南.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 09:16 ?8次下載
    MSP<b class='flag-5'>430</b>F2xx、MSP<b class='flag-5'>430G</b>2xx系列用戶指南

    與“雙碳”目標(biāo)相契合的智慧燈桿,湖北黃岡數(shù)字化轉(zhuǎn)型升級(jí)奠基智慧路燈燈桿解決方案

    與“雙碳”目標(biāo)相契合的智慧燈桿,湖北黃岡數(shù)字化轉(zhuǎn)型升級(jí)奠基智慧路燈燈桿解決方案
    的頭像 發(fā)表于 10-09 10:22 ?326次閱讀
    與“雙碳”<b class='flag-5'>目標(biāo)</b>相契合的智慧燈桿,<b class='flag-5'>為</b>湖北黃岡數(shù)字化轉(zhuǎn)型<b class='flag-5'>升級(jí)</b>奠基智慧路燈燈桿解決方案

    從MSP430F2xx和MSP430G2xx系列遷移到MSP430FR4xx和MSP430FR2xx系列

    電子發(fā)燒友網(wǎng)站提供《從MSP430F2xx和MSP430G2xx系列遷移到MSP430FR4xx和MSP430FR2xx系列.pdf》資料免費(fèi)下載
    發(fā)表于 09-23 12:27 ?0次下載
    從MSP<b class='flag-5'>430</b>F2xx和MSP<b class='flag-5'>430G</b>2xx系列遷移到MSP<b class='flag-5'>430</b>FR4xx和MSP<b class='flag-5'>430</b>FR2xx系列

    MSP430G2x33、MSP430G2x03混合信號(hào)微處理器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x33、MSP430G2x03混合信號(hào)微處理器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-09 10:55 ?0次下載
    MSP<b class='flag-5'>430G</b>2x33、MSP<b class='flag-5'>430G</b>2x03混合信號(hào)微處理器數(shù)據(jù)表

    MSP430G2x01-Q1 MSP430G2x11-Q1混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x01-Q1 MSP430G2x11-Q1混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-06 09:49 ?0次下載
    MSP<b class='flag-5'>430G</b>2x01-Q1 MSP<b class='flag-5'>430G</b>2x11-Q1混合信號(hào)微控制器數(shù)據(jù)表

    MSP430G2x01/MSP430G2x11混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x01/MSP430G2x11混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-03 09:36 ?0次下載
    MSP<b class='flag-5'>430G</b>2x01/MSP<b class='flag-5'>430G</b>2x11混合信號(hào)微控制器數(shù)據(jù)表

    MSP430G2x52/MSP430G2x12混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x52/MSP430G2x12混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-02 11:51 ?0次下載
    MSP<b class='flag-5'>430G</b>2x52/MSP<b class='flag-5'>430G</b>2x12混合信號(hào)微控制器數(shù)據(jù)表

    MSP430G2x32/MSP430G2x02混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x32/MSP430G2x02混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 12:48 ?0次下載
    MSP<b class='flag-5'>430G</b>2x32/MSP<b class='flag-5'>430G</b>2x02混合信號(hào)微控制器數(shù)據(jù)表

    MSP430G2x53、MSP430G2x13混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x53、MSP430G2x13混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 09:20 ?0次下載
    MSP<b class='flag-5'>430G</b>2x53、MSP<b class='flag-5'>430G</b>2x13混合信號(hào)微控制器數(shù)據(jù)表

    MSP430G2x21 MSP430G2x3混合信號(hào)微控制器數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《MSP430G2x21 MSP430G2x3混合信號(hào)微控制器數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 08-01 09:18 ?0次下載
    MSP<b class='flag-5'>430G</b>2x21 MSP<b class='flag-5'>430G</b>2x3混合信號(hào)微控制器數(shù)據(jù)表

    STM32 IIC通信升級(jí)系統(tǒng)

    諸神,需求一套可以使用IIC通信升級(jí)固件的系統(tǒng) 1,STM32燒錄板,型號(hào)自定,盡量低成本,程序 2,STM32G031G8U6目標(biāo)板示例程序 有人能做這項(xiàng)目嗎?或者大家有好的思路嗎? 如果能接請(qǐng)聯(lián)系425453660@qq.c
    發(fā)表于 03-20 12:40