天天看點

stm32f407 discovery ISP

今天調了一天的ISP程式,把測試經曆記錄下來吧。

首先下載下傳了ST官網的flash loader demonstrator.exe 但是總是提示“no response from target...”。網上有很多自己寫的程式,但是還是覺得官網的更靠譜。

免費下載下傳位址:http://www.st.com/web/en/catalog/tools/PF257525

stm32f407 discovery ISP

在網上找了一天,總結下來:

1.boot0是否接到了高電平(3v 可以)

2.連接配接的目标闆的序列槽是否在reference manual中支援的, 比如stm32f407 支援usart1,usart3, 而stm32f373支援usart1,usart2,我當時就是這裡有問題,在stm32f407上連接配接  usart2了當然下載下傳不了啦

3.如果是開發闆需要确認是否下載下傳的usart沒有被複用,尤其是被其他晶片的output引腳使用,如stm32f407 discovery 的usart1 就是被U6 的pin1複用,是以通過flash loader下載下傳時必然會出現“目标裝置沒有應答”問題。

4.運作連接配接的端口以外的輸入端口應為固定電平,不應為floating,因為system loader會同時監視多個端口,當有floating引腳輸入信号時,也會作為ISP command,進而時傳輸混亂。以stm32f407為例:如果指定usart 1為ISP傳輸端口,則suart3 的輸入端口(PB11,PC11)應該為固定電平。否則可能引起無法識别裝置。

stm32f407 discovery ISP

5.網上說flash loader選擇序列槽是校驗方式要選擇為“偶校驗”,我實驗過其他模式也可以,這個可能和開發機的序列槽支援有關系吧。并且如果第四點有floating引腳,強烈建議有設定為有檢驗的方式。我測試過,當有floating引腳,并且設定為“無校驗”,會經常出現無法識别裝置或無法設别command.

6.reset裝置

總結起來就是,看手冊,如果有問題一定要從硬體查起。我就是通過序列槽發送固定資料,發現發送的資料不正确的。

繼續閱讀