標籤:bootloader 下載方式 stm32單片機程式 flash 穩定性
一、串口下載:
1.MCUISP串口軟體一鍵下載設定:
DTR低電平複位,RTS高電平進入bootload串口下載 在ch340晶片對應DTR和RTS輸出電平與電腦軟體佈建的電平相反。一鍵下載電路根據ch340晶片對應引腳的控制訊號完成對應功能具體實現過程如下:
2.單片機啟動設定單片機低電平複位 Boot0=0,boot1=x,從使用者區flash啟動Boot0=1,boot1=0,進入串口下載區Boot0=1,boot1=1,從SRAM啟動改變boot0電平就可以從不同地區啟動
3.一鍵下載電路如下:
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M01/8A/23/wKioL1gpJGXS5sjsAAC0Aoyj9OM109.jpg-wh_500x0-wm_3-wmp_4-s_1188520636.jpg" title="1.jpg" alt="wKioL1gpJGXS5sjsAAC0Aoyj9OM109.jpg-wh_50" />
usb轉串口
USB轉串口,我們選擇的是CH340G,穩定性經測試還不錯。
圖中 Q2 和 Q3的組合構成了一鍵下載電路,只需要在 mcuisp 軟體佈建: DTR 的低電平複位,RTS 高電平進BootLoader。就可以一鍵下載代碼了,而不需要手動設定 B0 和 按複位了。其中,RESET 是開發板的複位訊號,BOOT0則是啟動模式的 B0 訊號。USB_232 是一個 MiniUSB 座,提供 CH340G和電腦通訊的介面,同時可以給電路板供電,VUSB 就是來自電腦 USB 的電源,USB_232是開發板的主要供電口。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/8A/27/wKiom1gpKIPS4D0zAAFPac8XzWs978.jpg" title="stm32串口引腳.jpg" alt="wKiom1gpKIPS4D0zAAFPac8XzWs978.jpg" />
串口對應引腳圖
650) this.width=650;" src="http://s4.51cto.com/wyfs02/M02/8A/23/wKioL1gpJMGRQFF9AACCAjp4RmA458.jpg-wh_500x0-wm_3-wmp_4-s_3521911371.jpg" title="1.jpg" alt="wKioL1gpJMGRQFF9AACCAjp4RmA458.jpg-wh_50" />
必須選擇單片機串口1下載
圖中 TXD/RXD 是相對 CH340G 來說的,也就是 USB串口的發送和接收腳。USART1_RX 和 USART1_TX 則是相對於 STM32F103ZET6來說的。這樣,通過對接就可以實現 USB 串口 和 STM32F103ZET6 的串口通訊了。同時,P6 是 PA9 和PA10的引出口。
這樣設計的好處就是使用上非常靈活。比如需要到外部 TTL 串口和 STM32通訊的時候, 只需要拔了跳線帽,通過杜邦串連外部 TTL 串口,就可以實現和外部裝置的通訊了;又比如我有個板子需要和電腦通訊,但是電腦沒有串口,那麼你就可以使用開發的 RXD 和 TXD 來串連你的裝置,把開發板當成 USB串口用了。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8A/26/wKiom1gpJUuiIPxrAABSAlrexbg185.jpg-wh_500x0-wm_3-wmp_4-s_858405236.jpg" title="1.jpg" alt="wKiom1gpJUuiIPxrAABSAlrexbg185.jpg-wh_50" />
系統版啟動模式電路
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/8A/26/wKiom1gpJbOwIeZVAACAAubh7Gw166.jpg" title="1.jpg" alt="wKiom1gpJbOwIeZVAACAAubh7Gw166.jpg" />
BOOT0、BOOT1啟動模式表(硬體串連)
一鍵下載電路,通過串口的 DTR 和 RTS訊號,來自動設定 BOOT0 和RESET 訊號 ,因此不需要使用者來手動切換他們的狀態,直接串口下載軟體自動控制,可以非常方便的下載代碼。事先設定好也是可以的。
650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/8A/23/wKioL1gpJjbR6staAABkAoFuUdc283.jpg-wh_500x0-wm_3-wmp_4-s_3156083599.jpg" title="1.jpg" alt="wKioL1gpJjbR6staAABkAoFuUdc283.jpg-wh_50" />
mcuisp軟體介面
開啟 MCUISP,點擊搜尋串口,將自動找到電路板的板載串口,在bps中預設傳輸速率為460800,為了穩定下載可選擇較低的傳輸速率,左下角選擇:DTR的低電平複位,RTS 高電平進 BootLoader。再載入燒寫檔案。
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/8A/27/wKiom1gpJ2eAuWRfAAI6syBQ3xw230.jpg-wh_500x0-wm_3-wmp_4-s_2006164954.jpg" title="1.jpg" alt="wKiom1gpJ2eAuWRfAAI6syBQ3xw230.jpg-wh_50" />
讀器件資訊
在燒寫程式以前,點擊讀器件資訊將出現右邊框圖的資訊,說明電路板串口串連成功。
650) this.width=650;" src="http://s5.51cto.com/wyfs02/M01/8A/27/wKiom1gpJ9iibRcWAAIqsAFH264535.jpg-wh_500x0-wm_3-wmp_4-s_4181098831.jpg" title="1.jpg" alt="wKiom1gpJ9iibRcWAAIqsAFH264535.jpg-wh_50" />
點擊開始編程,程式開始燒寫,燒寫成功後會出現右邊框圖所示的資訊,表明程式燒寫成功。
本文出自 “stm32單片機” 部落格,請務必保留此出處http://stm32.blog.51cto.com/8583230/1872550
STM32單片機程式下載方式匯總