STM32程序無法進入main函數的解決方法
很多人在基于STM32單片機項目開發過程中,會遇到STM32程序無法進入main的現象,在這篇文將分享STM32程序無法進入main函數的解決方法,希望對用戶有所幫助。
1.printf等函數采用了半主機模式
解決方法:關掉半主機模式,將輸入輸出端重定向到ARM器件上,重寫fputc和fgetc函數。
2.系統滴答systick中斷導致無法進入main函數
解決方法有兩種:
1)在bootloader程序跳轉到app層時就關閉系統滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
2)在SystemInit函數關閉系統滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
3.選擇運行程序方式的問題
解決方法:把芯片上的boot0引腳拉低即可
附:
BOOT1=x BOOT0=0 從用戶閃存啟動
BOOT1=0 BOOT0=1 從系統存儲器啟動
BOOT1=1 BOOT0=1 從內置SRAM 啟動
以上是STM32程序無法進入main函數的解決方法。
本文整合自CSDN、博客園
責編AJX
-
STM32
+關注
關注
2290文章
11018瀏覽量
362694 -
函數
+關注
關注
3文章
4372瀏覽量
64302
發布評論請先 登錄
STM32C031C6在按鍵中斷處理程序中使用HAL_Delay()延時函數,程序則無法運行怎么解決?
GD-LINK無法在KEIL上調試怎么解決?
變頻器無法進行調速的原因和解決方法

變頻器無法進行快速逆轉原因及解決方法
mac的常見問題解決方法
Ubuntu系統常見問題及解決方法
常見伺服系統故障及解決方法
multisi的常見問題及解決方法
GD32E230F6燒錄無法運行到main函數,為什么?怎么解決?
龍門式蔡司三坐標測量機無法加載驅動的原因和解決方法

評論