日韩成人激情_欧美黑人xxx_国产一区二精品区在线_精品在线一区_97成人资源_久久久久久一区

產(chǎn)品分類

當前位置: 首頁 > 工業(yè)電氣產(chǎn)品 > 端子與連接器 > 線路板連接器 > FFC連接器

類型分類:
科普知識
數(shù)據(jù)分類:
FFC連接器

MSP430G2755 Main Memory Bootloader UART 移植指導

發(fā)布日期:2022-04-28 點擊率:37

Other Parts Discussed in Post: MSP430G2553, MSP430G2755

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

1. MSP430 Main Memory Bootloader 介紹

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

本文使用的參考代碼版本為MSPBoot_1_01_00_00,下圖為MSPBoot的整個軟件框架。

圖1 MSPBoot軟件框架

2. MSPBoot的代碼移植流程

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

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

C:Usersa0223791DesktopMSP430-BSL-IAPMSPBoot_1_01_00_00linkerGen>perl MSPBo

otlinkerGen.pl -file lnk_msp430G2755_Uart_1KB -dev MSP430G2755 -params 0x8000 0x

FFE0 0xFC00 48 6 0x1100 0x20FF 0x80 0x1000 0x10BF

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

<0x8000 > = Start address of Flash/FRAM

對于MSP430G2553 地址為0xC000 MSP430G2755的地址需要修改為0x8000
<0xFFE0 > = Address of interrupt vector table

中斷向量表的地址0xFFE0 對于MSP430G2553MSP430G2755相同
<0xFC00> = Start address of Bootloader

Bootloader的起始地址0xFC00,對于兩者也是相同的
<48 > =Size of the proxy table

這里的48對應(yīng)于12個中斷向量,每個中斷向量占用4Byte
<6> = Size of shared vectors

在應(yīng)用程序中一共有3個(P1/Time/Dummy)中斷向量,每個中斷向量占用2Byte, 對應(yīng)參數(shù)為6
<0x1100> = Start address of RAM

RAM的起始地址也需要修改為MSP430G27550x1100
<0x20FF > = End address of RAM

RAM的結(jié)束地址也需要修改為MSP430G27550x20FF
<0x80> = Size of the stack

MSP430G2755默認的堆棧大小為0x80
<0x1000> = Start address of info memory used for bootloader

Information的起始和結(jié)束地址MSP430G2553MSP430G2755一致,無需修改
<0x10BF > = End address of info memory used for bootloader

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

 

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

圖二 MSP430G2755中斷向量

圖三 MSP430G2755 Bin文件對應(yīng)虛擬中斷向量表

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

圖四MSP430G2755 Bootloader虛擬中斷向量表

 

2.2 工程CMD文件添加

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

圖5 MSP540G2755 CMD文件

         特別注意,如果使用的是TI默認的MSP430G2553的工程,需要將原工程的器件型號選擇為MSP430G2755,并且把MSP430G2755自帶的G2553的CMD文件刪除掉,使用生成MSP430G2755的CMD文件。

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

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

C:Users a0223791DesktopMSP430-BSL-IAPG2755_PortingMSPBoot_1_01_00_00430txt

_converter>430txt2C.pl App1_MSPBoot.txt AppForHostG2755.c App1

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

圖六 Host MCU添加升級程序

2.4 寫入CRC校驗地址信息

通過上步我們在主控MSP430G2553中添加了需要升級的應(yīng)用程序,同時我們還要在主MCU中修改目標升級芯片(MSP430G2755)的CRC地址信息,修改參考如下,

圖七 MSP430G2553添加CRC地址信息

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

圖八 MSP430G2553 計算CRC數(shù)值

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

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

圖九 MSP430G2755 UART口修改

特別注意,在MSP430G2755應(yīng)用程序App中,有兩個中斷默認使用即P1口和定時器中斷,不能直接將P1口和Timer的中斷直接屏蔽掉,這樣會導致Host主控MSP430G2553升級MSP430G2553成功后,MSP430G2553并未正常的啟動應(yīng)用程序。如果在應(yīng)用程序中不需要這兩個中斷向量,則在第一步產(chǎn)生CMD文件的過程中需要修改


3. 小結(jié)

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

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

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

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

從0xFC00-0xFFD0 為Bootloder

從0xFFE0-0xFFF0 為真實的中斷向量表

參考文獻

[1]. MSP430G2755 MSP430G2x55 混合信號微控制器數(shù)據(jù)手冊

[2]. MSP430G2553 MSP430G2x53混合信號微控制器數(shù)據(jù)手冊

[3]. MSP430x2xx Family User's Guide. (SLAU144J)

[4]. MSPBoot – Main Memory Bootloader for MSP430 Microcontrollers. (SLAA600B)

[5]. MSP430? Flash Device Bootloader (BSL). (SLAU319M)

下一篇: PLC、DCS、FCS三大控

上一篇: ADS8588S parallel by

推薦產(chǎn)品

更多
主站蜘蛛池模板: 日韩综合| 一级做a爰片性色毛片16 | 久久精品视频网站 | 成年人国产在线观看 | 天堂资源视频 | 一级做受毛片免费大片 | 国产999精品久久久 午夜天堂精品久久久久 | 欧美视频二区 | 日本亚洲一区 | 亚洲网在线 | 中文字幕久久精品 | 久久精品这里 | 久久久久久综合 | 久久久一区二区三区四区 | 国产一区二区在线视频 | 精品日韩一区 | 欧美久久一区二区 | www.日本精品 | 国产精品99久 | 欧美国产日韩一区二区三区 | 91电影 | 亚洲一区在线日韩在线深爱 | www日韩高清 | 国产色 | 天天干天天插天天 | 天堂在线网 | 国产成人久久av免费高清密臂 | 国产精品a久久久久 | 国产偷录视频叫床高潮对白 | 国产精久久久久久久妇剪断 | 精品久久久久久亚洲综合网站 | 免费骚视频 | 精品一二区 | 亚洲国产精品va在线看黑人 | 1000部精品久久久久久久久 | 4h影视| 久久国产高清 | 国产欧美日韩一区二区三区在线观看 | 国产精品亚洲成在人线 | 精品欧美一区二区中文字幕视频 | 成人av播放 |