STM32系列單片機USB下載程序(ISP編程)

一. 準備

    1. FlyMcu 軟件,選擇DTR高電平復位,RTS低電平進入BootLoader

    2. 原理圖增加USB轉串口芯片(CH340G)

 二.說明

   

 

STM32三種啓動模式對應的存儲介質均是芯片內置的,它們是:
1)主閃存存儲器 = 芯片內置的Flash。
2)系統存儲器 = 芯片內部一塊特定的區域,芯片出廠時在這個區域預置了一段Bootloader,就是通常說的ISP程序。這個區域的內容在芯片出廠後沒有人能夠修改或擦除,即它是一個ROM區。
3)內置SRAM = 芯片內置的RAM區,就是內存啦。

一般情況,BOOT0爲0,MCU從flash啓動。
ISP模式下,先使BOOT0爲1,BOOT1爲0,再給MCU一個復位信號,四個clk週期後,MCU鎖存BOOT0引腳的狀態,此時MCU將從系統存儲器啓動,通過執行MCU內部固化的ISP下載引導程序,實現串口在線編程(必須通過USART1接收數據)。

三. CH340G時序

   1.  DTR #和 RTS#電平,使用萬用表測量,在默認狀態,DTR#和RTS#引腳均輸出高電平,由上面的電路圖可知,此時Q1截止,Q2截止,因此BOOT0爲0,RST#爲高電平,MCU可正常從系統存儲器(主flash)啓動。

   2. 啓動下載時,DTR#維持高,RST#拉低,此時Q1導通,Q2導通,此時BOOT0爲1,MCU復位腳拉低(有效),使MCU復位;
   3. 100毫秒後,DTR拉低,釋放復位,MCU將從系統存儲器啓動,自動進入ISP模式,執行MCU內部ISP引導程序,MCU和MCUISP上位機下載軟件進行通信(代碼下載);
   4. 等到代碼下載結束時,RST#先變成高電平,DTR再變成高電平,Q1截止、Q2截止,下載結束。
   5. 如果在MCUISP軟件上選擇“編程後執行”,DTR先變成高電平,使MCU的RST腳變低(復位),RST#再變成高電平,使MCU的RST腳拉高(釋放復位),BOOT0爲0,此時MCU復位後執行主flash程序,實現“編程後執行”步驟。

附CH340G引腳說明

    

 

 

    

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章