關於STM32F030的ISP下載問題

   第一次在CSDN寫博客,從事嵌入式開發工作的三年時間來也經常在CSDN上瀏覽各類技術博文,這些優秀的文章很大程度的提升了我的個人能力或者有效的解決了工作的遇到的各類問題,所以在此要向所有無私奉獻的CSDN博主們表示誠摯的謝意。現在我也將踏着前人的腳步,本着傳遞知識相互學習的目的開通了自己的博客。希望在這個自由開放的網絡平臺上與大家一起學習提高。

    說實話第一篇博文我並不知道怎麼寫也不知道該寫些什麼內容,前後思考了一段時間我認爲還是先從工作學習中遇到的一些小問題開始吧,這類問題並不是什麼高深複雜的技術問題,而是一些易錯的細節問題,本文就將簡單聊聊在工作中遇到的STM32F030系列微控制器無法進行ISP下載的問題。

    區別於SWD調試下載功能,ISP下載是指在微控制器啓動時啓動一段廠商定義的啓動代碼段,該代碼段可以用來對片內FLASH進行讀寫。所以利用此功能我們可以快捷的更新片內程序。ISP代碼的性質就像嵌入式linux系統常用於引導啓動系統的UBOOT,只是相對於UBOOT,MCU中的bootloader更加簡化而已。對於ISP功能常用的通訊端口爲串行接口,即通過串口就可快速的更新片內程序。

    那麼本文中對於STM32F030系列微控制器的ISP下載爲何會失敗呢?其實說到底還是沒有認真的閱讀ST官方的用戶指南。首先我們看一看在啓用串口ISP下載程序是需要具備哪些條件。

(1)正確的啓動模式

上圖可以看到,我們希望微控制器啓用ISP下載功能,應當使BOOT1位爲0,BOOT0位爲1,關於BOOT1引腳其實是在OptionByte中進行設置的,並沒有相應的物理引腳。而對於BOOT0其外部引腳此時應當接VCC電平。這樣我們就滿足的ISP的啓動條件。

(2)正確的啓動端口

    從應用筆記AN2606中我們可以看到,STM32F030系列進行ISP下載時默認的啓動端口是PA10和PA9,而STM32微控制器有許多引腳的功能是複用的,所以在使用串口引腳時博主其實是使用了錯誤的引腳PA2和PA3,在ISP程序啓動的過程中並不會將串口的TX、RX功能映射到這兩個引腳。默認的啓動過程中映射的是PA9和PA10引腳。最後在切換回正確的引腳後ISP功能終於使用正常。

最後就是使用FlashLoader軟件下載程序了。



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