女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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
    +關注

    關注

    2290

    文章

    11017

    瀏覽量

    362461
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    STM32F3系列STM32F4系列STM32L4系列STM32L4+系列Cortex-M4編程手冊

    電子發燒友網站提供《STM32F3系列STM32F4系列STM32L4系列
    發表于 06-06 17:06 ?4次下載

    零知開源——STM32F4驅動MAX31865實現PT100高精度測溫

    STM32F
    PCB56242069
    發布于 :2025年05月26日 18:25:17

    STM32F103×8/STM32F103×B MCU手冊

    本文提供了STM32F103x8和STM32F103xB中密度高性能系列微控制器的訂購信息和機械器件特性。有關整個STMicroelectronics STM32F103xx
    發表于 03-18 16:37 ?0次下載

    STM32G4 option配置和SWD配置導致無法連接STLINK怎么解決?

    0 from option bit),使得默認從Flash啟動; * CubeMX配置了SWD為GPIO功能,生成的Keil工程,直接進行編譯后燒錄; * ## 結果 * MCU直接從Flash啟動,并立即將SWD引腳配置為GPIO。并且無法通過BOOT0引腳改變啟動
    發表于 03-14 06:48

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

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

    【GD32 MCU 移植教程】8、從 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm? Cortex?-M4 處理器的 32 位通用微控制器,與 STM32F4xx系列 MCU 保持高度兼容。本文主要從以下三個方面進行介紹
    的頭像 發表于 09-06 09:40 ?2378次閱讀
    【GD32 MCU 移植教程】8、從 <b class='flag-5'>STM32F</b>4xx <b class='flag-5'>系列</b>移植到 GD32<b class='flag-5'>F</b>4xx 系

    stm32gstm32h的區別

    STM32GSTM32H是STMicroelectronics(意法半導體)推出的兩個不同的微控制器系列,它們都屬于STM32的廣泛產品線。STM
    的頭像 發表于 09-04 09:15 ?1548次閱讀

    stm32h系列f系列區別是什么

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

    stm32讀取boot引腳狀態

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

    STM32引腳中的BOOT1在哪里

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

    stm32boot0和boot1對應哪個p引腳

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

    19.3-星曈科技 openmv Hopenmv發送五個uchar Openmv+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程

    19.3-【星曈科技】openmv Hopenmv發送五個uchar Openmv+STM32F103C8T6視覺巡線小車 STM32循跡小車系列教程 使用OpenMV循跡 openMV尋跡與小車控制
    的頭像 發表于 08-20 11:32 ?1504次閱讀
    19.3-星曈科技 openmv Hopenmv發送五個uchar Openmv+<b class='flag-5'>STM32F</b>103C8T6視覺巡線小車 <b class='flag-5'>STM32</b>循跡小車<b class='flag-5'>系列</b>教程

    課程上線 | STM32單片機入門教程(1)基于HAL庫的多核心開發(F1/F4/G0/U5)

    STM32F103、STM32F405、STM32G070、STM32U575全系列課程體系①STM32
    的頭像 發表于 08-08 16:42 ?683次閱讀
    課程上線 | <b class='flag-5'>STM32</b>單片機入門教程(1)基于HAL庫的多核心開發(<b class='flag-5'>F</b>1/<b class='flag-5'>F</b>4/<b class='flag-5'>G</b>0/U5)

    STM32F40xxx、STM32F41xxx、STM32F42xxx、STM32F43xxx中文手冊

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

    STM32G4系列到底支不支持位帶操作

    印象中不止一次有人詢問STM32G4系列到底支不支持位帶操作。
    的頭像 發表于 07-29 09:45 ?2116次閱讀
    <b class='flag-5'>STM32G</b>4<b class='flag-5'>系列</b>到底支不支持位帶操作