本文主要講述STM32啟動模式中System memory的內容,以及圍繞的相關內容。
1寫在前面
STM32中內嵌了一段自舉程序,可能很多人不知道。
那段自舉程序存放在System memory(系統存儲器)中,我們通過配置啟動,選擇啟動系統存儲器就可以運行這段程序。
2STM32啟動配置
STM32有三種啟動模式:
Main Flash memory:主FLASH
System memory:系統存儲器
Embedded SRAM:內置SRAM
三種模式是通過不同配置來實現,一般通過BOOT引腳和BOOT位來配置啟動模式。
不同的芯片配置有差異,有些芯片沒有BOOT1引腳,會結合BOOT位來實現。
F1啟動配置:

F0啟動配置:

復位后,在 SYSCLK 的第四個上升沿鎖存 BOOT 引腳的值。復位后,用戶可以通過設置BOOT1 和 BOOT0 引腳來選擇需要的啟動模式。
3內嵌的自舉程序
STM32內嵌的自舉程序存放在系統存儲區,由ST在生產線上寫入,用戶不能修改。
我們選擇System memory(系統存儲器)啟動模式,就會進入系統存儲區執行自舉程序。
有哪些串行接口呢?
F103只支持的UART:

F4支持多種串行接口:

不同型號MCU支持的串行接口不一樣,具體請參看應用筆記 AN2606。
4自舉程序中 USART 協議
通信就會牽涉到協議,這里也說一下自舉程序中 USART 協議。
1.協議序列

當配置 STM32 微控制器為自舉啟動,系統將進入自舉程序模式。
2.USART 自舉程序命令集

3.命令流程
有命令就有相應命令執行流程,這里拿Get命令流程為例:

其他命令流程這里就不一一講述
5自舉程序上位機
自舉程序主要是針對STM32進行編程,說白了,自舉程序上位機就是FLASH編程工具。
自舉程序上位機工具大家都比較熟悉,這里簡單說一下。
1.STMFlashLoader
這個工具是相對叫老的工具,好像現在沒有維護更新了。


主要就是使用UART對STM32FLASH讀寫擦除等操作。
2.STM32CubeProgrammer
這個工具在2月底更新到了V2.0.0,新增OTA功能。

寫到這里,相信大家都更加明白這個工具的用途了吧?
-
微控制器
+關注
關注
48文章
8375瀏覽量
164558 -
STM32
+關注
關注
2309文章
11162瀏覽量
373417 -
OTA
+關注
關注
7文章
628瀏覽量
38286
發布評論請先 登錄
高壓半橋驅動優選:SLM21814CJ-DG 600V高低邊驅動器,集成自舉供電設計
LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決
AN2606_STM32單片機系統內存啟動方式應用筆記
SiLM2206CJ 集成自舉二極管的600V半橋驅動器
網絡接口:數字世界的“門鈴”,你了解多少?
Linux 下交叉編譯實戰:跑起來你的第一個 STM32 程序
實地架構降壓恒壓芯片H8012A 自舉供電耐壓100V120V140V降壓12V 5V/2A恒壓電源IC
科普|關于GPS和GNSS,你了解多少?
使用USB轉TTL串口板和ST-LINK調試下載器給STM32單片機下載程序
充電接口你真的了解嗎?
什么是超級電容?你對超級電容了解多少?
STM32工作的自舉程序 你了解多少?
評論