網(wǎng)站建設(shè)信息介紹個人怎么接外貿(mào)訂單
目錄
- 1 BOOT引腳配置和下載說明
- 2 關(guān)于串口下載方式
- 3 關(guān)于一按復位就跑代碼
- 4 關(guān)于下載調(diào)試速度
- 5 關(guān)于三種啟動方式
- 5.1 FLASH啟動
- 5.2 系統(tǒng)存儲器器啟動
- 5.3 SRAM啟動
- 6 關(guān)于程序的三種下載方式
1 BOOT引腳配置和下載說明
BOOT0 | BOOT1 | 程序運行 | ST-Link下載 | 串口下載 | 啟動說明 |
---|---|---|---|---|---|
x | x | × | × | × | 無 |
0 | x | √ | √ | × | 用戶閃存存儲器,也就是FLASH啟動 |
1 | 0 | × | × | √ | 系統(tǒng)存儲器啟動,用于串口下載 |
1 | 1 | × | √1 | × | SRAM啟動,用于在SRAM中調(diào)試代碼 |
2 關(guān)于串口下載方式
一般情況下如果我們想用用串口下載代碼,則必須配置BOOT0為 1,BOOT1為 0。
3 關(guān)于一按復位就跑代碼
如果想讓 STM32 一按復位鍵就開始跑代碼,則需要配置BOOT0為 0,BOOT1為 x(即BOOT1 隨便設(shè)置)。
4 關(guān)于下載調(diào)試速度
如果USB數(shù)據(jù)線比較差,或者使用了杜邦線來連接單片機和下載器,那么可能會出問題,此時,可以通過降低這里的速率來試試。
5 關(guān)于三種啟動方式
//本章說明2
5.1 FLASH啟動
??就是不用出廠自帶的bootloader,直接運行flash里的程序,將flash分為兩部分,第一部分充當?shù)诙糠值腷ootloader,第一部分干嘛的呢?第一部分用來接收bin文件并將其寫到第二部分中,第二部分才是我們MCU真正要運行的代碼。
5.2 系統(tǒng)存儲器器啟動
??最常用的一種就是系統(tǒng)存儲器啟動,STM32芯片出廠的時候系統(tǒng)內(nèi)部存儲器自帶bootloader程序,負責下載程序的時候?qū)π酒瑑?nèi)部的flash進行擦除與編寫,ISP下載就是通過串口與bootloader將程序燒寫到flash中(科普:MCU的代碼是存儲在flash當中的,所以一般芯片說有多少k的flash就代表能存儲多少代碼)。
5.3 SRAM啟動
??SRAM叫做靜態(tài)隨機存取存儲器,SRAM啟動一般是編寫一些小程序用來掃描所有I/O口,然后再板上測量信號,借此檢測所有的焊接是否正常。這樣不必觸動Flash中的程序。有一個案例是說買了個板子用ISP下不了程序,發(fā)現(xiàn)flash鎖了,就使用SRAM啟動將flash解鎖。
如果還想更細致了解,可以參考這片博文;一探究竟STM32的三種啟動模式
6 關(guān)于程序的三種下載方式
//本章說明2
一般程序的下載有三種方法:ISP(In System Programing)、ICP(In Circuit Programing)、IAP(In applicating Programing)。
- ISP一般是通過串口(USB線)下載程序。
- ICP是通過SWD(幾根線)下載程序。
- IAP是讓你的MCU可以通過所有的MCU支持的通訊接口或者方式(TTL、RS232、RS485、I2C,SPI,CAN等等)下載程序。
該下載方式下,不可以勾選Reset and Run,參見上圖。 ??
該章節(jié)照抄了CSDN博主「CRUD搬磚黨的神」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)
原文鏈接:https://blog.csdn.net/weixin_43593698/article/details/108303376 ?? ??