chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于MS430G2755為目標(biāo)升級對象

電子設(shè)計 ? 來源:電子設(shè)計 ? 作者:電子設(shè)計 ? 2022-01-15 17:23 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要

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

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

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

Figure1. MSPBoot軟件框架路

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。

2.MSPBoot的代碼移植流程

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

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

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

<0x8000 > = Start address of Flash/FRAM

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

<0xFFE0 > = Address of interrupt vector table

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

<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的起始地址也需要修改為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一致,無需修改

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

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

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

Figure1.MSP430G2755中斷向量


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

注意在這里的809C 和80E2 就對應(yīng)MSP430G2755應(yīng)用程序中的P1_Isr 和Timer_A,GPIO中斷和定時器中斷。下圖會看到在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文件

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

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

Figure5.Host MCU添加升級程序

2.4寫入CRC校驗地址信息

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

Figure6. MSP430G2553添加CRC地址信息

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

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

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

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

Figure8. MSP430G2755 UART口修改

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

3.小結(jié)

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

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

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

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

從0xFC00-0xFFD0 為Bootloder

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

審核編輯:何安

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

    關(guān)注

    0

    文章

    341

    瀏覽量

    10459
  • uart
    +關(guān)注

    關(guān)注

    22

    文章

    1304

    瀏覽量

    106148
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    使用 g430 的 CAN 功能進行組網(wǎng)

    大佬們,請教一下一個問題。使用 g430 的 CAN 功能進行組網(wǎng),總線上四個設(shè)備 id 都不一樣,都配置自動離線、自動喚醒、自動重傳功能。使用 pcan 軟件單個測試發(fā)送任何指令都可以正常接收
    發(fā)表于 12-11 18:04

    一般想要實現(xiàn)OTA的話使用藍牙升級好還是4G這種方式實現(xiàn)升級

    一般想要實現(xiàn)OTA的話,使用藍牙升級好還是4G這種方式實現(xiàn)升級
    發(fā)表于 12-09 06:01

    5G與6G:從“萬物互聯(lián)“到“智能無界“的跨越

    頂尖學(xué)府課堂,實現(xiàn)真正的\"無邊界教育\"。 醫(yī)療突破:遠程手術(shù)將更加精準(zhǔn),醫(yī)生能通過6G網(wǎng)絡(luò)實時操控手術(shù)機器人,偏遠地區(qū)患者提供頂級醫(yī)療服務(wù)。 工業(yè)升級:工業(yè)元宇宙將使制造業(yè)
    發(fā)表于 10-10 13:59

    canopen如何通過對象字典控制外設(shè)?

    各位大佬好,我在移植canopen的時候碰到一個疑問。比如我修改對象字典2000,子索引為0這個目錄下的值,如何這個對象映射的是某個led燈的亮滅,輸入1亮,0滅。 問題就是我發(fā)送
    發(fā)表于 09-11 06:04

    ?LM2755電荷泵LED驅(qū)動器技術(shù)文檔總結(jié)

    LM2755 是一款基于電荷泵的恒流 LED 驅(qū)動器,能夠驅(qū)動 3 個 LED 總輸出電流高達 90mA。每個LED的二極管電流波形可以是梯形的 具有時序和電平參數(shù)(上升時間、下降時間、高電平
    的頭像 發(fā)表于 09-05 11:42 ?712次閱讀
    ?LM<b class='flag-5'>2755</b>電荷泵LED驅(qū)動器技術(shù)文檔總結(jié)

    圣邦微電子推出高度集成旋轉(zhuǎn)磁編碼器芯片VCE2755

    圣邦微電子推出 VCE2755,一款基于各向異性磁阻(AMR)技術(shù)的高度集成旋轉(zhuǎn)磁編碼器芯片。該器件可應(yīng)用于各種典型的需要角度位置反饋和速度檢測的應(yīng)用場景。
    的頭像 發(fā)表于 08-21 11:51 ?1248次閱讀
    圣邦微電子推出高度集成旋轉(zhuǎn)磁編碼器芯片VCE<b class='flag-5'>2755</b>

    睿海光電800G光模塊助力全球AI基建升級

    測試。 四、合作案例:賦能全球頭部客戶AI與云計算升級 睿海光電的解決方案已深入多個行業(yè)標(biāo)桿場景: 數(shù)據(jù)中心互聯(lián):東南亞某頂級IDC服務(wù)商部署800G SR8硅光模塊,單機架帶寬提升4倍,功耗降低
    發(fā)表于 08-13 19:05

    基于LockAI視覺識別模塊:C++目標(biāo)檢測

    檢測是計算機視覺領(lǐng)域中的一個關(guān)鍵任務(wù),它不僅需要識別圖像中存在哪些對象,還需要定位這些對象的位置。具體來說,目標(biāo)檢測算法會輸出每個檢測到的對象的邊界框(Bounding Box)以及其
    發(fā)表于 06-06 14:43

    TI MSP430G2開發(fā)例程

    TI MSP430G2 開發(fā)例程
    發(fā)表于 05-08 14:58 ?0次下載

    HMC438MS8G/438MS8GE SMT GaAs HBT MMIC技術(shù)手冊

    HMC438MS8G 和 HMC438MS8GE 是低噪聲的 5 分頻靜態(tài)分頻器,運用 InGaP GaAs HBT 技術(shù),并采用低成本的 8 引腳表面貼裝塑料封裝。該器件以 +5V 直流單電源供電
    的頭像 發(fā)表于 04-17 15:29 ?704次閱讀
    HMC438<b class='flag-5'>MS8G</b>/438<b class='flag-5'>MS</b>8GE SMT GaAs HBT MMIC技術(shù)手冊

    對象存儲是什么結(jié)構(gòu)類型?

    對象存儲屬于非結(jié)構(gòu)化數(shù)據(jù)存儲架構(gòu),采用扁平化命名空間結(jié)構(gòu)。其核心通過唯一標(biāo)識符(ObjectID)定位數(shù)據(jù)對象,突破傳統(tǒng)文件系統(tǒng)的層級目錄限制,形成"桶-對象"兩級邏輯模型。數(shù)據(jù)以獨立對象
    的頭像 發(fā)表于 02-10 11:14 ?703次閱讀

    MSP430G2553如何解決.out文件的問題?

    用的是MSP430G2553,為了測試LED程序。燒錄過程中發(fā)現(xiàn)無法實現(xiàn),由于對話框中所示:.out couldn\'t open. 請問各位: 1,如何解決.out文件的問題 2,.ccxml
    發(fā)表于 02-05 09:28

    請問有沒有辦法對MSP430的固件升級?

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

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

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

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

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