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
+關注
關注
2270文章
10923瀏覽量
357034 -
函數
+關注
關注
3文章
4345瀏覽量
62865
發布評論請先 登錄
相關推薦
評論