STM32程序無(wú)法進(jìn)入main函數(shù)的解決方法
很多人在基于STM32單片機(jī)項(xiàng)目開(kāi)發(fā)過(guò)程中,會(huì)遇到STM32程序無(wú)法進(jìn)入main的現(xiàn)象,在這篇文將分享STM32程序無(wú)法進(jìn)入main函數(shù)的解決方法,希望對(duì)用戶有所幫助。
1.printf等函數(shù)采用了半主機(jī)模式
解決方法:關(guān)掉半主機(jī)模式,將輸入輸出端重定向到ARM器件上,重寫fputc和fgetc函數(shù)。
2.系統(tǒng)滴答systick中斷導(dǎo)致無(wú)法進(jìn)入main函數(shù)
解決方法有兩種:
1)在bootloader程序跳轉(zhuǎn)到app層時(shí)就關(guān)閉系統(tǒng)滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
2)在SystemInit函數(shù)關(guān)閉系統(tǒng)滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
3.選擇運(yùn)行程序方式的問(wèn)題
解決方法:把芯片上的boot0引腳拉低即可
附:
BOOT1=x BOOT0=0 從用戶閃存啟動(dòng)
BOOT1=0 BOOT0=1 從系統(tǒng)存儲(chǔ)器啟動(dòng)
BOOT1=1 BOOT0=1 從內(nèi)置SRAM 啟動(dòng)
以上是STM32程序無(wú)法進(jìn)入main函數(shù)的解決方法。
本文整合自CSDN、博客園
責(zé)編AJX
-
STM32
+關(guān)注
關(guān)注
2270文章
10895瀏覽量
355729 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4327瀏覽量
62569
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論