很很多單片機(jī)都有自舉程序,像支持STC單片機(jī)使用串口下載,這種其實(shí)也是單片機(jī)內(nèi)部集成了一段自舉程序。
那你,你了解自舉程序嗎?下面結(jié)合STM32給大家分享一下關(guān)于自舉程序的知識(shí)。
1關(guān)于自舉程序
STM32中內(nèi)嵌了一段自舉程序,可能很多人不知道。
那段自舉程序存放在System memory(系統(tǒng)存儲(chǔ)器)中,我們通過(guò)配置啟動(dòng),選擇啟動(dòng)系統(tǒng)存儲(chǔ)器就可以運(yùn)行這段程序。
2STM32啟動(dòng)配置
STM32有三種啟動(dòng)模式:
Main Flash memory:主FLASH
System memory:系統(tǒng)存儲(chǔ)器
Embedded SRAM:內(nèi)置SRAM
三種模式是通過(guò)不同配置來(lái)實(shí)現(xiàn),一般通過(guò)BOOT引腳和BOOT位來(lái)配置啟動(dòng)模式。
不同的芯片配置有差異,有些芯片沒(méi)有BOOT1引腳,會(huì)結(jié)合BOOT位來(lái)實(shí)現(xiàn)。
F1啟動(dòng)配置:
F0啟動(dòng)配置:
復(fù)位后,在 SYSCLK 的第四個(gè)上升沿鎖存 BOOT 引腳的值。復(fù)位后,用戶(hù)可以通過(guò)設(shè)置BOOT1 和 BOOT0 引腳來(lái)選擇需要的啟動(dòng)模式。
3內(nèi)嵌的自舉程序
STM32內(nèi)嵌的自舉程序存放在系統(tǒng)存儲(chǔ)區(qū),由ST在生產(chǎn)線(xiàn)上寫(xiě)入,用戶(hù)不能修改。
我們選擇System memory(系統(tǒng)存儲(chǔ)器)啟動(dòng)模式,就會(huì)進(jìn)入系統(tǒng)存儲(chǔ)區(qū)執(zhí)行自舉程序。
內(nèi)嵌的自舉程序主要用于通過(guò)串行接口重新編程 Flash。
有哪些串行接口呢?
F103只支持的UART:
F4支持多種串行接口:
不同型號(hào)MCU支持的串行接口不一樣,具體請(qǐng)參看應(yīng)用筆記 AN2606。
4自舉程序中 USART 協(xié)議
通信就會(huì)牽涉到協(xié)議,這里也說(shuō)一下自舉程序中 USART 協(xié)議。
1.協(xié)議序列
當(dāng)配置 STM32 微控制器為自舉啟動(dòng),系統(tǒng)將進(jìn)入自舉程序模式。
2.USART 自舉程序命令集
3.命令流程
有命令就有相應(yīng)命令執(zhí)行流程,這里拿Get 命令流程為例:
其他命令流程這里就不一一講述,請(qǐng)參看官方文檔AN3155。
5自舉程序上位機(jī)
自舉程序主要是針對(duì)STM32進(jìn)行編程,說(shuō)白了,自舉程序上位機(jī)就是FLASH編程工具。
自舉程序上位機(jī)工具大家都比較熟悉,這里簡(jiǎn)單說(shuō)一下。
1.STMFlashLoader
這個(gè)工具是相對(duì)叫老的工具,好像現(xiàn)在沒(méi)有維護(hù)更新了。
主要就是使用UART對(duì)STM32FLASH讀寫(xiě)擦除等操作。
2.STM32CubeProgrammer
這個(gè)工具在2月底更新到了V2.0.0,新增OTA功能。
寫(xiě)到這里,相信大家都更加明白這個(gè)工具的用途了吧?
編輯:lyn
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650554 -
存儲(chǔ)器
+關(guān)注
關(guān)注
38文章
7653瀏覽量
167422 -
STM32
+關(guān)注
關(guān)注
2293文章
11032瀏覽量
365026
原文標(biāo)題:STM32自舉程序原理和使用
文章出處:【微信號(hào):strongerHuang,微信公眾號(hào):strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
使用USB轉(zhuǎn)TTL串口板和ST-LINK調(diào)試下載器給STM32單片機(jī)下載程序

自舉電路的電容大小該怎么選?
國(guó)外物理服務(wù)器詳細(xì)解析
硅谷云平臺(tái)詳細(xì)解析
【教程】DNS域名解析服務(wù)systemd-resolved使用指南

STM32C011開(kāi)發(fā)(2)----nBOOT_SEL設(shè)置

STM32WB55RG開(kāi)發(fā)(2)----STM32CubeProgrammer燒錄

STM32H503開(kāi)發(fā)(2)----STM32CubeProgrammer燒錄

評(píng)論