在測試stm32的時候發現最簡單的串列埠列印demo都無法執行,而且現象特別奇怪:
2 除錯的時候要點三次full speed才能進入c**, 前兩次看到都是在反彙編**的視窗中執行, 進入c**之後可以正常列印.
排查可疑點:
1 boot0與boot1設定是否正確, 如果boot引腳設定錯誤就會引起無法啟動
2 設定介面的run to main是否勾選
3 上邊描述的現象2原因是因為使用了未實現的 printf() 函式導致。
本來根據微雪的uart教程更改了uart.c檔案, 結果在設定介面忘記選擇微庫導致該現象.
4 一定要注意vcap引腳,這個腳處理不好程式會出非常奇怪的現象, 如果你的程式執行異常一定要排查這個引腳
stm32如何執行軟復位 STM32啟動檔案
我們日常使用的嵌入式應用程式開發中都是編寫c c 語言,我們平時編輯乙個工程的話,只用從main函式開始編輯,微控制器程式也是從這個函式開始進行執行的。但是微控制器上電後是如何尋找到並執行main函式的呢?我們其實都會在心裡有乙個答案 啟動檔案 還記得我們當初配置第乙個stm32工程的時候在工程中新...
STM32啟動模式及API
boot1 x boot0 0 從使用者快閃儲存器啟動,這是正常的工作模式。boot1 0 boot0 1 從系統儲存器啟動,這種模式啟動的程式功能由廠家設定。用於串列埠isp boot1 1 boot0 1 從內建sram啟動,這種模式可以用於除錯。在晶元上電復位時,boot0和boot1兩個管腳...
STM32啟動模式及API
我們也可以在開發stm32時,在記憶體中除錯程式。經多次確認,boot0和boot1狀態與記憶體中除錯無直接聯絡 2.然後,我們需要在 中設定正確的中斷向量表位置。中斷向量表通常被放置在使用者程式的開始,所以flash中執行時,向量表位於0x08000000處,而當 被放置在sram中執行時,他的位...