STM32程序下载电路分析
一、STM32程序下載有哪些方式
(1)STM32程序的下載一般通過JLINK這樣的調(diào)試器;
(2)STM32程序的下載還可以通過ISP方式下載。
(3)這里只介紹ISP方式下載電路。
二、ISP下載原理
第1步:先設(shè)置BOOT1和BOOT0從系統(tǒng)區(qū)啟動,執(zhí)行系統(tǒng)中預(yù)設(shè)的程序
第2步:主機通過串口發(fā)送要下載的hex文件給STM32
第3步:系統(tǒng)預(yù)設(shè)的程序接收到hex后將其燒錄到用戶區(qū)flash中
第4步:設(shè)置BOOT1和BOOT0為從用戶區(qū)啟動,然后復(fù)位重啟(復(fù)位)執(zhí)行剛才下載的hex即可。
三、STM32的BOOT1和BOOT0與啟動區(qū)的關(guān)系
?以上表格顯得過于復(fù)雜,了解就行。只需要知道2個BOOT引腳設(shè)置如下:
(1)BOOT1始終為0
(2)BOOT0在ISP時要先為1,就是從系統(tǒng)存儲區(qū)啟動,也就是程序下載。
然后BOOT0為0,就是從主閃存存儲器運行,也就是程序運行。
四、CH340下載電路的分析
1、綜上分析,要實現(xiàn)一鍵下載,需要BOOT0先等于1,然后等于0。
2、主要通過CH340芯片的RTS和DTR引腳來改變BOOT0。而RTS和DTR引腳又是由PC端程序下載軟件來實現(xiàn)。
3、實現(xiàn)BOOT0等于1。(這里最好把上述原理圖和文章分頻顯示閱讀更為方便)
3.1、首先要實現(xiàn)Q11三極管導(dǎo)通,由于R59是1K歐姆,R62是10KΩ。根據(jù)串聯(lián)分壓可知,Q11三極管導(dǎo)通時BOOT0引腳為高電平。(需要Q11三級管導(dǎo)通)
3.2、Q11三級管是PNP 三極管,1號引腳是基極,2號引腳是發(fā)射極,3號引腳是集電極。
PNP基極電壓很高。集電極對發(fā)射極開路,也就是說,它不起作用。如果將基極施加到低電位,則集電極和發(fā)射極會短路。總結(jié):Q11的1號引腳為低電平時,BOOT0引腳為高電平。(Q11的1號引腳為低電平)
3.3、繼續(xù)往前推到,有兩條路,一條是走RTS,一條是走Q10。 一看走RTS這條路比較好分析,所以先分析這條路。
走RST這條時,RTS為低電平便可使BOOT0為1。
3.4、當(dāng)走Q10這條路時,Q10是NPN三極管,1號引腳是基極,2號引腳是發(fā)射極,3號引腳是集電極。因為RTS為低電平,所以Q10的發(fā)射極為低。
NPN基極電壓高,集電極與發(fā)射極短路。低壓,集電極和發(fā)射極開路。
(1)當(dāng)Q10基極為高電平,即DTR為高電平時,Q10的集電極和發(fā)射極導(dǎo)通。所以D9這個二極管的陰極為低電平。當(dāng)RESET引腳原先為高電平,此時RESET引腳電平就被拉低。
(2)當(dāng)Q10基極為低電平時,Q10的發(fā)射極和集電集和發(fā)射極不會導(dǎo)通。D9這個二極管的陰極為高電平。(串聯(lián)分壓的話,R51為10KΩ,D9為無窮,所以二極管陰極相當(dāng)于高)。當(dāng)RESET引腳原先為高電平平,此時RESET引腳電平還是高電平,沒有變化。
4、當(dāng)使用FlayMcu工具的ISP方式下載軟件時,需要注意以下幾點:
(1)回顧程序自動下載運行的方式,先讓BOOT0為1,然后BOOT0為0(或者讓程序復(fù)位)
(2)所以選擇首先要保證RTS為低電平,這使BOOT0為1,下載進程序。(但選擇了也下不了)
(3)然后使DTR為高電平,產(chǎn)生一個復(fù)位。
(4)這里有一個非常需要注意的問題:你需要RTS為低電平,在FlayMcu軟件中就需要選擇RTS為高電平。DTR同理。這是因為FlayMcu軟件輸出的是RS232電平,而CH340這邊是TTL電平。這兩種電平剛好是相反的,所以這里需要選擇RTS高電平。
(4)這就實現(xiàn)了程序的一鍵下載且自動運行。
五、一些零碎問題的補充
1、程序下載軟件FlyMcu軟件下載的官網(wǎng):www.mcuisp.com
2、有些時候勾選了編程后執(zhí)行,但由于選擇下載的方式不同(RTS和DTR的方式),會導(dǎo)致有些情況程序可以下載但不能自動運行。
3、TTL高電平為邏輯“1”,低電平為邏輯符“0”;RS232高電平為邏輯“0”,低電平為邏輯“1”。
4、在下載STM32芯片的程序時不能勾選“編程到Flash時寫選項字節(jié)”;下載GD時需要勾選。
總結(jié)
以上是生活随笔為你收集整理的STM32程序下载电路分析的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: flacs 安装教程_绍兴拖拽式撬装加油
- 下一篇: [Vue CLI 3] 源码系列之use