国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

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

引導(dǎo)加載程序是內(nèi)置到MSP低功耗微控制器中的應(yīng)用

電子設(shè)計(jì) ? 來(lái)源:電子設(shè)計(jì) ? 作者:電子設(shè)計(jì) ? 2022-01-14 10:16 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

作者:TI工程師Stanford Li

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

1 MSP BSL總覽

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

2 MSP430FR2xx與MSP432 P系列BSL比較

2.1 BSL 通用功能

2.1.1 BSL memory

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

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

2.1.2 BSL 配置

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

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

2.1.3 BSL串行接口

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

2.2 BSL協(xié)議

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

2.3 BSL進(jìn)入方式

MSP430FR235x/215x和MSP432P401R BSL均有3中進(jìn)入方式:1、空片自動(dòng)進(jìn)入BSL;2、軟件調(diào)用;3、硬件時(shí)序進(jìn)入。

2.3.1 空片入口

指復(fù)位向量為全F時(shí)(MSP430FR235x/215x為0xFFFF,MSP432P401R為0xFFFFFFFF),BSL會(huì)被Bootcode自動(dòng)喚醒。復(fù)位向量放置的是用戶程序的首地址,如果復(fù)位向量為全F,則該芯片沒(méi)有用戶程序。Bootcode在執(zhí)行過(guò)程中通過(guò)檢測(cè)復(fù)位向量中的內(nèi)容確定該芯片是否為空片,如果為空片,則喚醒BSL。該功能可用于產(chǎn)品量產(chǎn)時(shí),對(duì)芯片批量快速燒寫(xiě)。

2.3.2 軟件調(diào)用

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

__disable_interrupt(); // disable interrupts

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

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

對(duì)于MSP432P401R,其BSL程序的入口地址默認(rèn)為0x00202000,同時(shí)其入口函數(shù)支持參數(shù)配置。需要注意的是,MSP432調(diào)用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硬件時(shí)序進(jìn)入

對(duì)于MSP430FR235x/215x,其通過(guò)RESET和TEST腳的固定時(shí)序喚醒BSL,如圖6。

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

2.4 BSL工具支持

2.4.1硬件工具

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

2.4.2 軟件工具

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

2.5 BSL安全性

2.5.1 BSL密碼

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

對(duì)于MSP432P401R,其提供256 Bytes的BSL密碼保護(hù),密碼所在地址為Flash中0x00到0x40的地址,該地址默認(rèn)也是中斷向量的地址。用戶在手動(dòng)修改時(shí)也需要注意和MSP430同樣的問(wèn)題。

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

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

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

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

審核編輯:何安

聲明:本文內(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)注

    114

    文章

    17788

    瀏覽量

    193106
  • 嵌入式處理
    +關(guān)注

    關(guān)注

    0

    文章

    341

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    MSP430FR572x系列微控制器低功耗設(shè)計(jì)的理想之選

    MSP430FR572x系列微控制器低功耗設(shè)計(jì)的理想之選 在電子工程師的日常工作,選擇一款合適的微控制器對(duì)于項(xiàng)目的成功至關(guān)重要。今天,我
    的頭像 發(fā)表于 03-02 16:45 ?140次閱讀

    深入解析MSP430G2x44系列混合信號(hào)微控制器

    深入解析MSP430G2x44系列混合信號(hào)微控制器 在電子設(shè)計(jì)領(lǐng)域,低功耗、高性能的微控制器一直是工程師們追求的目標(biāo)。德州儀器(Texas Instruments)的
    的頭像 發(fā)表于 03-02 16:25 ?59次閱讀

    探索MSP430FR572x系列:超低功耗混合信號(hào)微控制器的卓越之選

    探索MSP430FR572x系列:超低功耗混合信號(hào)微控制器的卓越之選 在電子工程師的工具箱,尋找一款性能卓越、功耗極低的
    的頭像 發(fā)表于 02-28 16:10 ?82次閱讀

    Atmel XMEGA B3微控制器:高性能與低功耗的完美結(jié)合

    Atmel XMEGA B3微控制器:高性能與低功耗的完美結(jié)合 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,高性能、低功耗微控制器是眾多工程師的追求。Atmel XMEGA B3系列
    的頭像 發(fā)表于 02-28 14:10 ?96次閱讀

    STM32L072xx系列微控制器低功耗設(shè)計(jì)的優(yōu)選之選

    STM32L072xx系列微控制器低功耗設(shè)計(jì)的優(yōu)選之選 在當(dāng)今的電子設(shè)備設(shè)計(jì),低功耗、高性能的微控制器是眾多工程師追求的目標(biāo)。STMic
    的頭像 發(fā)表于 02-28 11:35 ?243次閱讀

    EFM32TG微控制器低功耗高性能的理想之選

    EFM32TG微控制器低功耗高性能的理想之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,低功耗和高性能是兩個(gè)至關(guān)重要的指標(biāo)。而SILICON LABS的EFM32 Gecko Family EFM32TG微控制
    的頭像 發(fā)表于 02-10 15:35 ?141次閱讀

    請(qǐng)問(wèn)CW32低功耗32位微控制器采用的是什么內(nèi)核?

    CW32低功耗32位微控制器采用的是什么內(nèi)核?
    發(fā)表于 01-14 07:52

    請(qǐng)問(wèn)CW32低功耗32位微控制器可以應(yīng)用在哪些領(lǐng)域了?

    CW32低功耗32位微控制器可以應(yīng)用在哪些領(lǐng)域了?
    發(fā)表于 01-14 06:30

    RA0E2微控制器低功耗設(shè)計(jì)的理想之選

    RA0E2微控制器低功耗設(shè)計(jì)的理想之選 在當(dāng)今的電子設(shè)計(jì)領(lǐng)域,低功耗、高性能的微控制器需求日益增長(zhǎng)。Renesas的RA0E2系列微控制器
    的頭像 發(fā)表于 12-26 17:30 ?701次閱讀

    NXP MCX C系列微控制器:入門(mén)級(jí)低功耗解決方案

    NXP MCX C系列微控制器:入門(mén)級(jí)低功耗解決方案 在電子設(shè)計(jì)領(lǐng)域,尋找一款既經(jīng)濟(jì)實(shí)惠又具備低功耗特性的微控制器是許多工程師的目標(biāo)。NXP的MCX C系列
    的頭像 發(fā)表于 12-24 14:00 ?466次閱讀

    MSP430G2553IPW0RQ1 超低功耗 16 位微控制器

    MSP430G2553IPW0RQ1超低功耗16位微控制器產(chǎn)品型號(hào):MSP430G2553IPW0RQ1產(chǎn)品品牌:TI/德州儀器產(chǎn)品封裝:TSSOP20產(chǎn)品功能:超
    的頭像 發(fā)表于 12-16 11:34 ?322次閱讀
    <b class='flag-5'>MSP</b>430G2553IPW0RQ1   超<b class='flag-5'>低功耗</b> 16 位<b class='flag-5'>微控制器</b>

    在進(jìn)行低功耗設(shè)計(jì)時(shí)如何優(yōu)化CW32L083系列微控制器功耗?

    在進(jìn)行低功耗設(shè)計(jì)時(shí),如何優(yōu)化CW32L083系列微控制器功耗?
    發(fā)表于 12-16 06:03

    如何在 RTOS 處理微控制器低功耗特性

    基于 RTOS 的低功耗設(shè)計(jì)思路。 越來(lái)越多的嵌入式產(chǎn)品基于 RTOS 作為軟件平臺(tái), 有些產(chǎn)品對(duì)低功耗的要求也越來(lái)越高, 本文討論一下如何在 RTOS 處理微控制器
    發(fā)表于 12-12 07:07

    MSP430G2001IPW14R 超低功耗 16 位微控制器

    該芯片是 TI 針對(duì)低成本、低功耗嵌入式場(chǎng)景推出的入門(mén)級(jí)微控制器,屬于 MSP430G2x01 系列。其核心設(shè)計(jì)理念是在精簡(jiǎn)封裝和外設(shè)的基礎(chǔ)上,最大化降低功耗,同時(shí)保留足夠的運(yùn)算與
    的頭像 發(fā)表于 12-09 11:40 ?310次閱讀
    <b class='flag-5'>MSP</b>430G2001IPW14R    超<b class='flag-5'>低功耗</b> 16 位<b class='flag-5'>微控制器</b>

    MSP430FR5721IDAR 超低功耗的 16 位微控制器

    MSP430FR5721IDAR超低功耗的16位微控制器產(chǎn)品型號(hào):MSP430FR5721IDAR產(chǎn)品品牌:TI/德州儀器產(chǎn)品封裝:TSSOP38產(chǎn)品功能:16位
    的頭像 發(fā)表于 11-28 11:13 ?339次閱讀
    <b class='flag-5'>MSP</b>430FR5721IDAR   超<b class='flag-5'>低功耗</b>的 16 位<b class='flag-5'>微控制器</b>