本文主要講述STM32啟動模式中System memory的內(nèi)容,以及圍繞的相關(guān)內(nèi)容。
1寫在前面
STM32中內(nèi)嵌了一段自舉程序,可能很多人不知道。
那段自舉程序存放在System memory(系統(tǒng)存儲器)中,我們通過配置啟動,選擇啟動系統(tǒng)存儲器就可以運行這段程序。
2STM32啟動配置
STM32有三種啟動模式:
Main Flash memory:主FLASH
System memory:系統(tǒng)存儲器
Embedded SRAM:內(nèi)置SRAM
三種模式是通過不同配置來實現(xiàn),一般通過BOOT引腳和BOOT位來配置啟動模式。
不同的芯片配置有差異,有些芯片沒有BOOT1引腳,會結(jié)合BOOT位來實現(xiàn)。
F1啟動配置:
F0啟動配置:
復(fù)位后,在 SYSCLK 的第四個上升沿鎖存 BOOT 引腳的值。復(fù)位后,用戶可以通過設(shè)置BOOT1 和 BOOT0 引腳來選擇需要的啟動模式。
3內(nèi)嵌的自舉程序
STM32內(nèi)嵌的自舉程序存放在系統(tǒng)存儲區(qū),由ST在生產(chǎn)線上寫入,用戶不能修改。
我們選擇System memory(系統(tǒng)存儲器)啟動模式,就會進入系統(tǒng)存儲區(qū)執(zhí)行自舉程序。
內(nèi)嵌的自舉程序主要用于通過串行接口重新編程 Flash。
有哪些串行接口呢?
F103只支持的UART:
F4支持多種串行接口:
不同型號MCU支持的串行接口不一樣,具體請參看應(yīng)用筆記 AN2606。
4自舉程序中 USART 協(xié)議
通信就會牽涉到協(xié)議,這里也說一下自舉程序中 USART 協(xié)議。
1.協(xié)議序列
當(dāng)配置 STM32 微控制器為自舉啟動,系統(tǒng)將進入自舉程序模式。
2.USART 自舉程序命令集
3.命令流程
有命令就有相應(yīng)命令執(zhí)行流程,這里拿Get命令流程為例:
其他命令流程這里就不一一講述
5自舉程序上位機
自舉程序主要是針對STM32進行編程,說白了,自舉程序上位機就是FLASH編程工具。
自舉程序上位機工具大家都比較熟悉,這里簡單說一下。
1.STMFlashLoader
這個工具是相對叫老的工具,好像現(xiàn)在沒有維護更新了。
主要就是使用UART對STM32FLASH讀寫擦除等操作。
2.STM32CubeProgrammer
這個工具在2月底更新到了V2.0.0,新增OTA功能。
寫到這里,相信大家都更加明白這個工具的用途了吧?
-
微控制器
+關(guān)注
關(guān)注
48文章
7496瀏覽量
151083 -
STM32
+關(guān)注
關(guān)注
2266文章
10876瀏覽量
354922 -
OTA
+關(guān)注
關(guān)注
7文章
568瀏覽量
35152
發(fā)布評論請先 登錄
相關(guān)推薦
評論