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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

引導加載程序是內置到MSP低功耗微控制器中的應用

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2022-01-14 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:TI工程師Stanford Li

引導加載程序 (BSL) 是內置到 MSP 低功耗微控制器 (MCU) 中的應用。借助該應用,用戶可以與 MCU 通信,以便從其存儲器中讀取數(shù)據(jù)或向其中寫入數(shù)據(jù)。該功能主要用于在原型設計、最終生產和服務期間對器件進行編程??梢愿鶕?jù)需要修改可編程存儲器(閃存或 FRAM)和數(shù)據(jù)存儲器 (RAM)。不同的 BSL 可提供與之通信的不同外設,例如 UART、I2C、SPI 或 USB。本文將對MSP430 FR2xx系列MCU與MSP432 P系列MCU的BSL進行總結性對比。

1 MSP BSL總覽

圖1為MSP430 FR2xx_4xx系列MCU與MSP432 P系列BSL的總覽。本文將以最新的FRAM系列MCU MSP430FR235x/215x與MSP432P401R為例,對這兩款MCU的BSL進行比較。

2 MSP430FR2xx與MSP432 P系列BSL比較

2.1 BSL 通用功能

2.1.1 BSL memory

對于MSP430FR235x/215x,其BSL代碼的memory存在于ROM中,大小為3kB,前2kB的地址區(qū)間為0x1000 - 0x17FF,后1kB地址區(qū)間為0xFFC00 - 0xFFFFF。因為該代碼存在于ROM中,所以用戶不能修改。對于MSP432P401R,其BSL代碼的memory存在于Flash中,大小為8kB,地址區(qū)間為0x00202000 - 0x00203FFF。

對于MSP430FR235x/215x,如果要實現(xiàn)定制化的BSL,則需要占用FRAM中的部分資源來實現(xiàn),MSP430FR2xxx的客制化BSL源代碼及工程文件見:MSP430FRBoot 1_01_00_00。MSP32的BSL代碼的起始地址可以通過Flash Mailbox中的BSL Start Address寄存器修改,見圖2。Flash中的代碼內容也是用戶可以自定義修改的,MSP432P401R的BSL源代碼及工程文件見:MSPBSL_CustomBSL432 1_01_00_00。

2.1.2 BSL 配置

對于MSP432P401R,其BSL外設默認端口引腳可以通過TLV進行配置,具體配置數(shù)據(jù)如圖3,

同時,MSP432P401R支持用戶自定義配置,如BSL功能使能,I2C slave address及BSL invocation引腳及狀態(tài)配置等,具體配置見圖4。這些自定義配置通過Boot override flash mailbox實現(xiàn)。

2.1.3 BSL串行接口

對于MSP430FR235x/215x,BSL串行接口支持UART和I2C接口,對于MSP432P401R,其不僅支持UART和I2C接口,還支持SPI接口。

2.2 BSL協(xié)議

MSP430FR235x/215x和MSP432P401R使用的都是“5xx, 6xx”系列的協(xié)議,它們的command基本是相同的,BSL數(shù)據(jù)包格式如圖5,詳細數(shù)據(jù)包格式見BSL用戶手冊。需要注意的是,由于MSP432P401R的flash更大,其具有32bit的尋址空間,所以它還具有32位地址操作的BSL協(xié)議指令。另外,MSP430FR235x/215x的mass erase命令是不需要BSL密碼的,而MSP432P401R的mass erase,Sector erase命令都受BSL密碼保護。

2.3 BSL進入方式

MSP430FR235x/215x和MSP432P401R BSL均有3中進入方式:1、空片自動進入BSL;2、軟件調用;3、硬件時序進入。

2.3.1 空片入口

指復位向量為全F時(MSP430FR235x/215x為0xFFFF,MSP432P401R為0xFFFFFFFF),BSL會被Bootcode自動喚醒。復位向量放置的是用戶程序的首地址,如果復位向量為全F,則該芯片沒有用戶程序。Bootcode在執(zhí)行過程中通過檢測復位向量中的內容確定該芯片是否為空片,如果為空片,則喚醒BSL。該功能可用于產品量產時,對芯片批量快速燒寫。

2.3.2 軟件調用

對于MSP430FR235x/215x,其BSL程序的入口地址為0x1000,將PC指針指向0x1000即可喚醒BSL。例程代碼如下:

__disable_interrupt(); // disable interrupts

((void (*)())0x1000)(); // jump to BSL

對于FRAM系列的MCU,這里有3點額外的注意事項:1、喚醒BSL前需要禁用總中斷;2、由于FRAM最高支持8MHz的時鐘頻率,在喚醒BSL前需要將MCLK的頻率設定為小于等于8MHz;3、BSL默認使用的定時器Timer模塊如果在應用程序中被調用,且沒有復位就進入BSL喚醒程序,這樣就會影響B(tài)SL程序的執(zhí)行,所以需要在BSL喚醒前對該Timer進行復位。

對于MSP432P401R,其BSL程序的入口地址默認為0x00202000,同時其入口函數(shù)支持參數(shù)配置。需要注意的是,MSP432調用BSL程序前,也需要禁用總中斷。例程代碼如下:

#define BSL_PARAM 0xFC48FFFF // I2C slave address = 0x48, Interface selection = Auto

#define BSL_API_TABLE_ADDR 0x00202000 // Address of BSL API table

#define BSL_ENTRY_FUNCTION (*((uint32_t *)BSL_API_TABLE_ADDR))

MAP_Interrupt_disableMaster();

NVIC->ICER[0] = 0xFFFF;

NVIC->ICPR[0] = 0xFFFF;

NVIC->ICER[1] = 0xFFFF;

NVIC->ICPR[1] = 0xFFFF;

((void (*)())BSL_ENTRY_FUNCTION)((uint32_t)BSL_PARAM); // Call the BSL with given BSL parameters

2.3.3硬件時序進入

對于MSP430FR235x/215x,其通過RESET和TEST腳的固定時序喚醒BSL,如圖6。

對于MSP432P401R,其可以通過啟動階段用戶指定的IO的電平狀態(tài)來喚醒BSL。需要用戶提前對mailbox進行配置。以P1.0腳高電平喚醒為例,其時序圖如圖7。

2.4 BSL工具支持

2.4.1硬件工具

BSL的官方硬件工具有MSP-BSL ‘Rocket’和MSP-FET,其主要是給MSP430FR235x/215x在非空片狀態(tài)下提供RST腳和TEST腳的硬件時序,來喚醒BSL。對于空片BSL喚醒,軟件BSL喚醒及MSP432的硬件輸入順序喚醒來說,其只需要一個UART就可以實現(xiàn)BSL下載。

2.4.2 軟件工具

BSL的官方軟件工具為BSL Scripter,其將用戶的命令及TXT格式的用戶代碼按照BSL協(xié)議的封包格式通過串行接口發(fā)送給芯片,或者將芯片中memory中的數(shù)據(jù)讀回。腳本文件中通過指令MODE FRxx或者MODE P4xx區(qū)分MSP430 FRAM系列或者MSP432系列的MCU,其余命令部分可以通用。

2.5 BSL安全性

2.5.1 BSL密碼

對于MSP430FR235x/215x,其提供32 Bytes的BSL密碼保護,即當BSL密碼正確時,才會執(zhí)行密碼保護的BSL命令。密碼所在地址為FRAM中0xFFE0到0xFFFF的地址,該地址區(qū)域也是硬件中斷的地址區(qū)域。一般情況下,編譯器會將中斷服務程序的首地址存放在中斷向量表中,而沒有用到的中斷向量,編譯器一般也會自動映射到硬件錯誤函數(shù)。所以,用戶在手動修改BSL密碼時,需要注意不能修改程序中已經使用到的中斷向量地址中的內容。

對于MSP432P401R,其提供256 Bytes的BSL密碼保護,密碼所在地址為Flash中0x00到0x40的地址,該地址默認也是中斷向量的地址。用戶在手動修改時也需要注意和MSP430同樣的問題。

2.5.2 密碼錯誤時執(zhí)行Mass erase

MSP430和MSP432均具有當BSL密碼錯誤時執(zhí)行Mass erase的功能。該功能增加了用戶調試的方便性,只需要發(fā)送一次錯誤密碼,就能夠讓芯片自動擦除memory,下次執(zhí)行BSL命令只需要發(fā)送默認密碼(全F)即可。

在MSP430 FRAM系列MCU中,該功能的使能和禁用通過BSL signature配置,F(xiàn)RAM中地址區(qū)間為FF84h - FF87h。當數(shù)據(jù)為全5時,BSL功能被禁用;當為全A時,BSL受密碼保護,密碼錯誤時的Mass erase功能被禁用,用戶在量產時可以使能該功能;當為其他的值時,密碼錯誤時的Mass erase功能被使能。

MSP432中,該功能是由BSL代碼實現(xiàn)的,如果要禁用該功能,需要用戶修改BSL源代碼。另外補充一點,MSP432 BSL支持payload加密功能。

審核編輯:何安

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

    關注

    114

    文章

    17503

    瀏覽量

    188579
  • 嵌入式處理
    +關注

    關注

    0

    文章

    341

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    Microchip AVR64EA28/32/48微控制器:高性能與低功耗的完美融合

    和512字節(jié)EEPROM。該微控制器采用28、32和48引腳封裝。AVR EA系列采用Microchip的現(xiàn)有技術,具有靈活的低功耗架構,包括Event System、智能模擬功能和高級數(shù)字外設。
    的頭像 發(fā)表于 10-11 14:50 ?139次閱讀
    Microchip AVR64EA28/32/48<b class='flag-5'>微控制器</b>:高性能與<b class='flag-5'>低功耗</b>的完美融合

    雅特力AT32L021系列低功耗ARM?Cortex?-M0+微控制器

    雅特力AT32L021系列低功耗ARM?Cortex?-M0+微控制器AT32L021系列是雅特力科技推出的一款高性能、低功耗的 ARM? Cortex?-M0+ 內核微控制器,專為滿
    發(fā)表于 06-05 08:58

    MAX28200 16位微控制器,帶有ADC和I2C技術手冊

    MAX28200是一款低功耗、16位MAXQ?微控制器(μC),設計用于智能電話和消費類電子等低功耗應用。器件結合了強大的16位RISC微控制器和一個10位93.75ksps ADC,
    的頭像 發(fā)表于 05-08 14:40 ?492次閱讀
    MAX28200 16位<b class='flag-5'>微控制器</b>,帶有ADC和I2C技術手冊

    MAX32670高可靠性、超低功耗微控制器技術手冊

    在Darwin家族,MAX32670是一款超低功耗、高性價比、高可靠性的32位微控制器,在實現(xiàn)復雜的傳感處理設計的同時不會影響電池壽命。器件集成了高度靈活性的多功能電源管理單元與功
    的頭像 發(fā)表于 05-08 11:48 ?598次閱讀
    MAX32670高可靠性、超<b class='flag-5'>低功耗</b><b class='flag-5'>微控制器</b>技術手冊

    家用電器開發(fā)微控制器的選型要點

    ROHM提供融入自有低功耗技術優(yōu)勢的豐富的低功耗微控制器產品。通過供應微控制器產品,為從事電池供電的小型設備、家用電器、工業(yè)設備、社會基礎設施、車載設備等各種系統(tǒng)開發(fā)的
    的頭像 發(fā)表于 04-24 10:26 ?805次閱讀
    家用電器開發(fā)<b class='flag-5'>中</b><b class='flag-5'>微控制器</b>的選型要點

    小華半導體推出新一代超低功耗微控制器HC32L021

    在國內集成電路產業(yè)發(fā)展的進程,小華半導體作為率先投身超低功耗控制單元(MCU)領域的先鋒企業(yè),一直以來都在積極推動技術創(chuàng)新與產品革新。近期,小華半導體正式推出極具競爭力的新一代超低功耗
    的頭像 發(fā)表于 04-16 16:46 ?1457次閱讀
    小華半導體推出新一代超<b class='flag-5'>低功耗</b><b class='flag-5'>微控制器</b>HC32L021

    ADuCM360/ADuCM361低功耗、精密模擬微控制器中文手冊

    電子發(fā)燒友網(wǎng)站提供《ADuCM360/ADuCM361低功耗、精密模擬微控制器中文手冊.pdf》資料免費下載
    發(fā)表于 04-09 17:14 ?0次下載

    低功耗KOF01采用高性能的ARM?Cortex?-M0+的32位微控制器

    。 KOF01還具有出色的低功耗性能,支持睡眠和深度睡眠兩種低功耗模式,設計靈活。其運行功耗為 70uA/MHz@64MHz,在部分掉電的深度睡眠模式下功耗僅10uA。 KOF01
    發(fā)表于 03-31 10:35

    STM32H753IIT6 一款32位微控制器MCU/MSP430F5325IPNR一款16位MCU

    ?MSP430F5325IPNR?是一款16位低功耗微控制器,屬于MSP430系列。該微控制器具有以下主要特點和功能: 1、
    發(fā)表于 02-21 14:59

    利用低功耗微控制器產品組合簡化醫(yī)療保健和工業(yè)物聯(lián)網(wǎng)設計

    作者:Stephen Evanczuk 投稿人:DigiKey 北美編輯 工業(yè)、醫(yī)療保健和各種物聯(lián)網(wǎng) (IoT) 應用的低功耗設計開發(fā)人員面臨著對基于微控制器的解決方案的持續(xù)需求,這些解決方案既要
    的頭像 發(fā)表于 01-26 21:10 ?788次閱讀
    利用<b class='flag-5'>低功耗</b><b class='flag-5'>微控制器</b>產品組合簡化醫(yī)療保健和工業(yè)物聯(lián)網(wǎng)設計

    Stellaris引導加載程序用戶指南

    電子發(fā)燒友網(wǎng)站提供《Stellaris引導加載程序用戶指南.pdf》資料免費下載
    發(fā)表于 12-23 16:24 ?0次下載
    Stellaris<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>用戶指南

    適用于MSP430和Simplelink? MSP432?? MCU的MSP-BSL引導加載程序

    電子發(fā)燒友網(wǎng)站提供《適用于MSP430和Simplelink? MSP432?? MCU的MSP-BSL引導加載
    發(fā)表于 12-05 14:37 ?0次下載
    適用于<b class='flag-5'>MSP</b>430和Simplelink? <b class='flag-5'>MSP</b>432?? MCU的<b class='flag-5'>MSP</b>-BSL<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>

    MSP430?閃存器件引導加載程序(BSL)

    電子發(fā)燒友網(wǎng)站提供《MSP430?閃存器件引導加載程序(BSL).pdf》資料免費下載
    發(fā)表于 11-18 14:40 ?2次下載
    <b class='flag-5'>MSP</b>430?閃存器件<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>(BSL)

    MSP430? FRAM器件引導加載程序(BSL)

    電子發(fā)燒友網(wǎng)站提供《MSP430? FRAM器件引導加載程序(BSL).pdf》資料免費下載
    發(fā)表于 11-07 09:28 ?2次下載
    <b class='flag-5'>MSP</b>430? FRAM器件<b class='flag-5'>引導</b><b class='flag-5'>加載</b><b class='flag-5'>程序</b>(BSL)

    使用MSP430微控制器的USB鍵盤

    電子發(fā)燒友網(wǎng)站提供《使用MSP430微控制器的USB鍵盤.pdf》資料免費下載
    發(fā)表于 10-18 10:35 ?0次下載
    使用<b class='flag-5'>MSP</b>430<b class='flag-5'>微控制器</b>的USB鍵盤