2016-01-23 48 views
0

我需要你的幫助,因爲我正在使用單片機STM32f439ZI和IAR IDE 7.40,並且正在從下面的鏈接下載USB OTG引導加載程序。如何使用USB DFU引導加載程序而不使用VBUS和ID ilne來實現STM32F4xx?

https://github.com/mechoid9/STM32F4/tree/master/STM32F4-Discovery_FW_V1.1.0/Project/FW_upgrade

我已經測試與工作完全正常STM32F407發現這板引導加載程序。

但這同樣的引導裝載程序是不是與我的定製電路板工作,

從發現板的原理所需要的VBUS電源,其正通過切換機制PC0觸發PA9引腳可以看出。

現在,在我的情況下PA9銷與其它接口連接,我有趣外部(5 V)電源(使用PC和與mycustom板製成公共接地)也ID銷不會在任何位置連接。

我也參考了數據表並嘗試使用OTG_FS_GCCFG的「NOVBUSSENS」位,但它無法識別USB連接/斷開,即使我試圖刪除這些功能(檢測USB插件事件),因爲我發現連接/斷開連接的事件可以被VBUS的狀態識別,但是它不起作用。

所以現在我的奎雷斯是按照下文,

1)我強制需要有連接到從PA0/PB13提供VBUS的開關(按數據表)?

2)是NOVBUSSENS工作在這種情況下或有任何其他方式運行,不會PA9和VBUS連接這上面引導加載程序?

3)如果上述爲真,那麼沒有任何指導或文件是否可用?

請讓我知道如果我可以提供更多的細節。 對此的任何幫助將非常可觀。

感謝&問候, RUTVIJ

回答

0

使用內置DFU

許多ST ARM芯片已經內置了DFU utilitys。要使用它,你需要提高BOOT0和插上。全文檔可從ST獲得。 AN3156該代碼目前是here,雖然它可能會不時在ST網站上尋找DFUSE。有一個視頻on You tube

使用VBUS爲正常USB

1)USB或者編譯爲或不依賴於立方設置一個標誌VBUS信令。

2)ST提供一切必要的文檔和軟件有關他們的產品頁面DFU和USB。他們也提供工作的DFU。您需要根據您的設備提高BOOT0和BOOT1。

3)您可以編寫自己的DFU,它不是魔術,它是所有尋求在USB特定文件名,寫的內容非易失性存儲器。

查看您擁有的引導加載程序代碼(或ST),並查看它們如何觸發(如果需要特定操作),例如工作設備的實時更新。

有可能在閃存加載固件的多個副本,然後選擇通過設置引腳或通過寫入引導地址

+0

嘿感謝您的答覆要運行的一個。 我已經通過你的回答並閱讀了一些文檔,發現所有的STM MCU都有系統ROM中的內部DFU bootlaoder,可以通過硬件進行配置,使Boot0引腳上拉將讓我們進入該引導加載程序, 在這種情況下,它會將USB檢測到設備管理器中,並且可以在將常規二進制文件轉換爲.dfu格式後,使用ST自己提供的DFUse實用程序上傳我們的二進制文件。 – user3405841

+0

@ user3405841 - 我以爲是這樣,但沒有檢查。感謝您回來並簡潔地解釋。我會在你的發現中更新我的答案。我很高興爲自己知道 - 必須嘗試一下。 – ChrisR

相關問題