色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

學技術 | STM32F系列向G系列切換應用總結—Boot mode及Option byte

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

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

一. STM32G系列Boot mode

1.1 STM32F系列與G系列Boot mode對比

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

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

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

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

1.2 STM32G系列BOOT mode變換操作

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

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

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

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

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

1.3 ST-Link無法連接恢復操作

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

如果在應用中會有低功耗模式及SWD接口復用IO的情況下,建議客戶的啟動方式采用圖1.2中第二種方式,將外部BOOT0 Pin拉低,nSWBOOT0位置1;當在軟件調試過程中出現以上情況時,可以外部直接將BOOT0拉高,使用SRAM啟動后擦除異常程序。

二. STM32G系列Option byte

2.1 STM32G431RB Option byte描述

Option byte是由最終用戶根據應用程序要求進行配置,一共是用4 bytes與8 bytes補充構成,通過配置FLASH_OPTR、FLASH_PCROP1SR、FLASH_PCROP1ER、FLASH_WRP1AR寄存器,可以完成軟件修改option byte;同時可以使用STM32CubePro修改option byte。

FLASH_OPTR寄存器可以進行系統RDP level配置、系統復位相關配置如系統復位電壓級別、nRST引腳模式、低功耗復位、開門狗復位等;

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

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

FLASH_WRP1AR寄存器用于配置寫保護A區域的起始地址和結束地址;

FLASH_WRP1BR寄存器用于配置寫保護B區域的起始地址和結束地址;(寫保護允許有兩個非連續區域,寫保護區域無法進行mass erase和下載程序)

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

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

所有的寄存器配置詳細可查閱參考手冊RM0440.

2.2 軟件修改Option byte流程

當需要使用軟件修改Option bytes時,建議使用以下步驟:

檢查FLASH_SR寄存器的BSY位,當BSY為0時,表示沒有其他正在進行的閃存操作,否則需要等待;

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

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

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

修改需要使用的選項字節;

檢查FLASH_SR寄存器的BSY位,當BSY為0時,表示修改完成;

如果需要對選項字節立即生效,將FLASH_CR寄存器OBL_LAUNCH位置1,否則需要復位后才能生效;

鎖住FLASH_OPTR寄存器;

鎖住FLASH_CR寄存器;

斷電、上電系統復位,Option bytes修改生效。

2.3 STM32CubePro修改Option byte流程

STM32CubePro可以通過使用ST-Link或者在系統存儲運行下連接至MCU,打開菜單欄中的Option bytes,修改需要的內容,并點擊Apply,點擊Apply后修改的Option bytes會立即生效。

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

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

    關注

    2270

    文章

    10906

    瀏覽量

    356530
收藏 人收藏

    評論

    相關推薦

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

    GD32F30x 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F10x 系列 MCU 保持高度兼容。本文主要從以下三個方面進行介
    的頭像 發表于 09-07 09:57 ?794次閱讀
    【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系列區別是什么

    STM32是意法半導體(STMicroelectronics)推出的一系列32位微控制器,廣泛應用于嵌入式系統和物聯網設備中。STM32H系列ST
    的頭像 發表于 09-04 09:13 ?1929次閱讀

    stm32讀取boot引腳狀態

    STM32微控制器中,Boot引腳(通常指的是BOOT0和BOOT1引腳)的狀態決定了設備啟動時的引導模式。這些引腳的狀態在復位時被讀取,并據此選擇啟動哪塊存儲器。比如,
    的頭像 發表于 08-22 09:48 ?1433次閱讀

    STM32引腳中的BOOT1在哪里

    STM32是STMicroelectronics(意法半導體)推出的一系列32位微控制器,廣泛應用于嵌入式系統設計。關于STM32BOOT1引腳,它主要與系統的啟動模式有關。
    的頭像 發表于 08-22 09:43 ?2069次閱讀

    stm32boot0和boot1對應哪個p引腳

    STM32系列微控制器是一種廣泛應用于嵌入式系統領域的32位微控制器。在STM32系列微控制器中,BOOT0和
    的頭像 發表于 08-22 09:40 ?3308次閱讀

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊

    STM32F4系列單片機中文手冊
    發表于 08-08 14:32 ?2次下載

    求助,關于STM32F746G-EVAL開發板上NorFlash的問題求解

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

    請問STM32F中空閑線及地址標記喚醒功能怎么實現的?

    STM32F中空閑線及地址標記喚醒功能怎么實現的? 越細越好
    發表于 05-11 08:10

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

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

    請問STM32G070的boot mode怎么選的?

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

    求助,關于STM32F3系列啟動時SWD的配置問題求解

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

    stm32f4讀保護等級降級的時候,flash中的option byte會被擦除嗎?

    stm32f4里面,當保護等級從1變為0的時候,會有mass erase,這個mass erase 會擦除option byte 或者OTP嗎?
    發表于 04-02 07:09

    STM32G可以替代STM32F嗎?

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

    STM32F芯片標識上圓圈里有e3/e4是什么意思?

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

    ARM系列STM32F103芯片的解密方法

    本文介紹ARM系列STM32F103芯片的解密方法,其內核是Cortex-M3,內存從16K-512K都有。
    發表于 02-28 11:20 ?1740次閱讀
    主站蜘蛛池模板: 有人有片的观看免费视频| 最近在线视频观看2018免费| 日本在线免费| 日韩免费一区| 无码欧美XXXXX在线观看裸| 息与子在线交尾中文字幕| 手机在线观看毛片| 亚洲m男在线中文字幕| 亚洲综合网国产精品一区| 一亲二脱三插| 777久久人妻少妇嫩草AV| xxnx日本| 国产精品伊人| 久久久国产精品免费A片蜜臀| 毛片免费在线播放| 欧美の无码国产の无码影院| 色WWW永久免费视频首页| 星空无限传媒视频在线观看视频| 亚洲日韩欧美国产中文在线| 5g天天奭视频| 成人毛片免费播放| 国产日韩在线欧美视频| 久久受www免费人成_看片中文| 蜜柚在线观看免费高清官网视频 | mxgs-877痉挛媚药按摩| 国产福利一区二区精品| 精品高清国产a毛片| 嫩草欧美曰韩国产大片| 天天插天天舔| 在线亚洲精品福利网址导航| 朝鲜女人性猛交| 果冻传媒在线观看网站| 嗯别插太快好深再深点| 小p孩玩成年女性啪啪资源| 在线日本高清日本免费| 耻辱诊察室1一4集动漫在线观看| 国产原创剧情麻豆在线| 挠黑色超薄丝袜脚心vk40分钟| 午夜理论片YY4399影院| 91精品国产品国语在线不卡| 国产精品99久久久久久AV|