在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

學(xué)技術(shù) | STM32F系列向G系列切換應(yīng)用總結(jié)—Boot mode及Option byte

大大通 ? 2022-12-19 15:31 ? 次閱讀

很多客戶在使用STM32G系列替代STM32F系列時(shí),我們經(jīng)常會(huì)收到客戶反饋如果使用串口下載程序?如何修改boot模式?如何將特殊IO復(fù)用成通用IO?等等問題;這是由于STM32G系列相對(duì)于STM32F系列Boot mode、Option byte發(fā)生了一些變化,本文會(huì)針對(duì)于此類問題做詳細(xì)的使用講解。

一. STM32G系列Boot mode

1.1 STM32F系列與G系列Boot mode對(duì)比

86d26a5e-7e66-11ed-b116-dac502259ad0.png

STM32F系列通用型及部分高性能(F0、F1、F2、F3、F4)MCU是通過外部Boot Pin來的IO輸入狀態(tài)來配置系統(tǒng)的啟動(dòng)方式,并在MCU上電后的第四個(gè)時(shí)鐘周期鎖存Boot Pin狀態(tài),啟動(dòng)方式分為三種1.Main Flash Mmemory啟動(dòng),從Flash存儲(chǔ)啟動(dòng),將0x08000000地址加載應(yīng)用程序;2.System Memory啟動(dòng),System Memory存儲(chǔ)是系統(tǒng)的自舉程序,無法篡改;3.Embedded SRAM啟動(dòng),當(dāng)設(shè)備從SRAM引導(dǎo)時(shí),在應(yīng)用程序初始化代碼中,必須使用NVIC異常表和偏移寄存器重新定位SRAM中的矢量表。

86ee3acc-7e66-11ed-b116-dac502259ad0.png

相對(duì)于STM32F系列來說,G系列在Boot modes方面最大的改變是增加Option byte與 Boot0 Pin混合配置,啟動(dòng)方式與F系列大致相同。

1.2 STM32G系列BOOT mode變換操作

本次操作流程硬件使用NUCLEO-G431RB開發(fā)板為例,軟件使用STM32CubePrg。

STM32G431RBT6默認(rèn)啟動(dòng)是以上圖中的第三種方式,即使用Option byte配置,將nBOOT0位配置為1,使用ST-Link連接,打開Option byte->User Configuration,如下圖:

870f7a8e-7e66-11ed-b116-dac502259ad0.png

此時(shí)我們可以通過修改Option byte,來改變系統(tǒng)的啟動(dòng)方式,比如從串口更新程序,需要將系統(tǒng)設(shè)置成System Memory啟動(dòng),運(yùn)行自舉程序,使用圖1.2的第七種配置方式,將nBOOT0位置0,nBOOT1位置1,nSWBOOT0位置0,并點(diǎn)擊Apply,系統(tǒng)復(fù)位之后即從System Memory啟動(dòng)。

872f639e-7e66-11ed-b116-dac502259ad0.png

1.3 ST-Link無法連接恢復(fù)操作

一些客戶在使用STM32G系列MCU過程中,會(huì)出現(xiàn)程序上電后立馬處于低功耗或者SWD接口被復(fù)用成IO的情況下,ST-Link會(huì)無法連接至MCU,導(dǎo)致無法擦除更新程序,在這種情況下可以通過SRAM啟動(dòng),然后擦除FALSH應(yīng)用程序;

如果在應(yīng)用中會(huì)有低功耗模式及SWD接口復(fù)用IO的情況下,建議客戶的啟動(dòng)方式采用圖1.2中第二種方式,將外部BOOT0 Pin拉低,nSWBOOT0位置1;當(dāng)在軟件調(diào)試過程中出現(xiàn)以上情況時(shí),可以外部直接將BOOT0拉高,使用SRAM啟動(dòng)后擦除異常程序。

二. STM32G系列Option byte

2.1 STM32G431RB Option byte描述

Option byte是由最終用戶根據(jù)應(yīng)用程序要求進(jìn)行配置,一共是用4 bytes與8 bytes補(bǔ)充構(gòu)成,通過配置FLASH_OPTR、FLASH_PCROP1SR、FLASH_PCROP1ER、FLASH_WRP1AR寄存器,可以完成軟件修改option byte;同時(shí)可以使用STM32CubePro修改option byte。

FLASH_OPTR寄存器可以進(jìn)行系統(tǒng)RDP level配置、系統(tǒng)復(fù)位相關(guān)配置如系統(tǒng)復(fù)位電壓級(jí)別、nRST引腳模式、低功耗復(fù)位、開門狗復(fù)位等;

FLASH_PCROP1SR寄存器用于配置PCROP起始地址;

FLASH_PCROP1ER寄存器用于配置PCROP結(jié)束地址;(PCROP區(qū)域只能用于CPU取值,Debug、CPU取數(shù)據(jù)、DMA功能全部禁止)

FLASH_WRP1AR寄存器用于配置寫保護(hù)A區(qū)域的起始地址和結(jié)束地址;

FLASH_WRP1BR寄存器用于配置寫保護(hù)B區(qū)域的起始地址和結(jié)束地址;(寫保護(hù)允許有兩個(gè)非連續(xù)區(qū)域,寫保護(hù)區(qū)域無法進(jìn)行mass erase和下載程序)

FLASH_SEC1R寄存器用于配置用戶代碼安全區(qū)域,起始地址是0x0800 0000及LOCK_B00T位配置;

所有的寄存器操作完成后,可以將FLASH_CR寄存器OBL_LAUNCH( Force the option byte loading)位置1,即可對(duì)所有的配置立即生效,否則需要系統(tǒng)復(fù)位才能生效;

所有的寄存器配置詳細(xì)可查閱參考手冊(cè)RM0440.

2.2 軟件修改Option byte流程

當(dāng)需要使用軟件修改Option bytes時(shí),建議使用以下步驟:

檢查FLASH_SR寄存器的BSY位,當(dāng)BSY為0時(shí),表示沒有其他正在進(jìn)行的閃存操作,否則需要等待;

解鎖FLASH_CR寄存器,向FLASH_KEYR寄存器寫入KEY值;

解鎖FLASH_OPTR寄存器,向FLASH_ OPTKEYR寄存器寫入KEY值;

將FLASH_CR寄存器OPTSTRT置1,表示開始修改Option byte;

修改需要使用的選項(xiàng)字節(jié);

檢查FLASH_SR寄存器的BSY位,當(dāng)BSY為0時(shí),表示修改完成;

如果需要對(duì)選項(xiàng)字節(jié)立即生效,將FLASH_CR寄存器OBL_LAUNCH位置1,否則需要復(fù)位后才能生效;

鎖住FLASH_OPTR寄存器;

鎖住FLASH_CR寄存器;

斷電、上電系統(tǒng)復(fù)位,Option bytes修改生效。

2.3 STM32CubePro修改Option byte流程

STM32CubePro可以通過使用ST-Link或者在系統(tǒng)存儲(chǔ)運(yùn)行下連接至MCU,打開菜單欄中的Option bytes,修改需要的內(nèi)容,并點(diǎn)擊Apply,點(diǎn)擊Apply后修改的Option bytes會(huì)立即生效。

875a0f68-7e66-11ed-b116-dac502259ad0.png

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

    關(guān)注

    2271

    文章

    10923

    瀏覽量

    357223
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    【GD32 MCU 移植教程】9、從 STM32F10x 系列移植到 GD32F30x 系列

    GD32F30x 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F10x 系列 MCU 保持高度兼容。本文主要從以下三個(gè)方面進(jìn)行介
    的頭像 發(fā)表于 09-07 09:57 ?967次閱讀
    【GD32 MCU 移植教程】9、從 <b class='flag-5'>STM32F</b>10x <b class='flag-5'>系列</b>移植到 GD32<b class='flag-5'>F</b>30x <b class='flag-5'>系列</b>

    stm32h系列f系列區(qū)別是什么

    STM32是意法半導(dǎo)體(STMicroelectronics)推出的一系列32位微控制器,廣泛應(yīng)用于嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。STM32H系列ST
    的頭像 發(fā)表于 09-04 09:13 ?2158次閱讀

    stm32讀取boot引腳狀態(tài)

    STM32微控制器中,Boot引腳(通常指的是BOOT0和BOOT1引腳)的狀態(tài)決定了設(shè)備啟動(dòng)時(shí)的引導(dǎo)模式。這些引腳的狀態(tài)在復(fù)位時(shí)被讀取,并據(jù)此選擇啟動(dòng)哪塊存儲(chǔ)器。比如,
    的頭像 發(fā)表于 08-22 09:48 ?1564次閱讀

    STM32引腳中的BOOT1在哪里

    STM32是STMicroelectronics(意法半導(dǎo)體)推出的一系列32位微控制器,廣泛應(yīng)用于嵌入式系統(tǒng)設(shè)計(jì)。關(guān)于STM32BOOT1引腳,它主要與系統(tǒng)的啟動(dòng)模式有關(guān)。
    的頭像 發(fā)表于 08-22 09:43 ?2312次閱讀

    stm32boot0和boot1對(duì)應(yīng)哪個(gè)p引腳

    STM32系列微控制器是一種廣泛應(yīng)用于嵌入式系統(tǒng)領(lǐng)域的32位微控制器。在STM32系列微控制器中,BOOT0和
    的頭像 發(fā)表于 08-22 09:40 ?3638次閱讀

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊(cè)

    STM32F4系列單片機(jī)中文手冊(cè)
    發(fā)表于 08-08 14:32 ?2次下載

    求助,關(guān)于STM32F746G-EVAL開發(fā)板上NorFlash的問題求解

    STM32F746G-EVAL開發(fā)板上外接PC28F128M29EWLA的NorFlash芯片,根據(jù)官方的原理圖F7管腳(/BYTE)接上拉電阻,B
    發(fā)表于 05-13 08:47

    請(qǐng)問STM32F中空閑線及地址標(biāo)記喚醒功能怎么實(shí)現(xiàn)的?

    STM32F中空閑線及地址標(biāo)記喚醒功能怎么實(shí)現(xiàn)的? 越細(xì)越好
    發(fā)表于 05-11 08:10

    現(xiàn)在多數(shù)STM32F系列芯片都被解密了,唯一ID只能讀取不能被修改是嗎?

    現(xiàn)在多數(shù)STM32F系列芯片都被解密了。唯一ID 只能讀取不能被修改是嗎?
    發(fā)表于 04-11 06:18

    請(qǐng)問STM32G070的boot mode怎么選的?

    手冊(cè)上寫了三個(gè)boot mode,但boot引腳只有一個(gè),這個(gè)怎么選的?
    發(fā)表于 04-09 06:33

    求助,關(guān)于STM32F3系列啟動(dòng)時(shí)SWD的配置問題求解

    |= SWJ_Mode; ////} 這樣可以通過SWDJ的模式切換來釋放SWD模式外的3個(gè)IO腳 但在STM32F373中,沒有AFIO_MAPR這個(gè)寄存器,GPIO的復(fù)位是通過模式寄存器設(shè)置。 如果我在時(shí)鐘
    發(fā)表于 04-09 06:12

    stm32f4讀保護(hù)等級(jí)降級(jí)的時(shí)候,flash中的option byte會(huì)被擦除嗎?

    stm32f4里面,當(dāng)保護(hù)等級(jí)從1變?yōu)?的時(shí)候,會(huì)有mass erase,這個(gè)mass erase 會(huì)擦除option byte 或者OTP嗎?
    發(fā)表于 04-02 07:09

    STM32G可以替代STM32F嗎?

    STM32G可以替代STM32F嗎,如果不可以,為什么
    發(fā)表于 03-28 09:06

    STM32F芯片標(biāo)識(shí)上圓圈里有e3/e4是什么意思?

    STM32F芯片上標(biāo)識(shí)(marking)上圓圈里有e3e4,是什么意思?
    發(fā)表于 03-22 07:56

    ARM系列STM32F103芯片的解密方法

    本文介紹ARM系列STM32F103芯片的解密方法,其內(nèi)核是Cortex-M3,內(nèi)存從16K-512K都有。
    發(fā)表于 02-28 11:20 ?1807次閱讀
    主站蜘蛛池模板: 人人看人人澡 | 免费高清特黄a 大片 | 免费看久久 | 嫩草黄色影院 | 四虎永久免费最新在线 | 亚洲黄色在线网站 | 亚洲午夜久久久久久噜噜噜 | 一级全免费视频播放 | 国产三级在线观看免费 | 性久久久久| 久久伊人精品青青草原高清 | 天堂在线观看 | www.色天使| 视频精品一区二区三区 | 久久久久国产一级毛片高清片 | 日韩三级 | 中国一级特黄特色真人毛片 | 牛仔裤美女国产精品毛片 | 五月激情六月婷婷 | 四虎永久在线精品免费观看地址 | 一级特黄aa毛片免费观看 | 亚洲一区视频 | 亚洲欧美视频在线 | 免费一级特黄 欧美大片 | 日本成人免费在线视频 | 美女无遮挡拍拍拍免费视频 | 色综合色综合色综合色综合 | 老湿成人影院 | 亚洲国产丝袜精品一区杨幂 | 日本视频三区 | 色四月婷婷 | 久久国产高清视频 | 欧美女人天堂 | 一级毛片日韩 | 国内自拍露脸普通话对白在线 | 天天色天天看 | 直接在线观看的三级网址 | 天天干天天爽天天操 | a级网站| 免费看男女下面日出水视频 | 免费视频网站在线观看 |