我們在從事MCU應(yīng)用開發(fā)過程中,難免會碰到MCU芯片異常的問題,其中有些異常比較嚴(yán)重。比如異常復(fù)位,表現(xiàn)為復(fù)位腳有電平跳變或者干脆處于復(fù)位電平;在做代碼調(diào)試跟蹤時,發(fā)現(xiàn)代碼根本就進(jìn)不到用戶main()程序;或者時不時就感覺芯片死掉了,功能完全不可控等。
出現(xiàn)類似嚴(yán)重異常情況的原因我大致總結(jié)了以下幾方面:
1、電源問題。比方電源質(zhì)量差,紋波過大,尤其開關(guān)電源供電時;或者供電芯片質(zhì)量差,輸出不穩(wěn)定;或者系統(tǒng)供電能力不足而引起電源波動等。 2、時鐘問題。一般表現(xiàn)在時鐘配置錯誤或者時鐘工作不穩(wěn)定,比方配置超出芯片主頻工作范圍,外部時鐘脆弱不堪等。 
3、BOOT配置腳問題。經(jīng)常遇到有人因?yàn)锽OOT腳的焊接或接觸不良導(dǎo)致各類奇怪問題。這種情況多表現(xiàn)在芯片功能時好時壞,工作不穩(wěn)定。所謂“壞”的時候就是芯片表現(xiàn)得類似死機(jī)一般。 4、啟動文件問題。經(jīng)常因?yàn)檫x錯了啟動文件,導(dǎo)致程序無法正常運(yùn)行,或者說調(diào)試時好好的,脫機(jī)運(yùn)行就出鬼。這點(diǎn)在做不同系列芯片間移植時最容易碰到。 5、中斷請求位清除問題。由于中斷請求位沒有及時清除導(dǎo)致中斷沒完沒了的重復(fù)進(jìn)入中斷,感覺系統(tǒng)死機(jī)一般。 6、堆或棧的越界溢出。這個也會導(dǎo)致芯片無法正常工作。 7、VCAP腳問題。有些MCU芯片有VCAP腳,這類腳往往需要接上適當(dāng)?shù)碾娙,如果無視了它的話,也可能導(dǎo)致整個芯片的功能異常。
上面這幾個原因比較容易導(dǎo)致MCU功能嚴(yán)重異常,也不太容易簡單地通過查看MCU技術(shù)手冊直接獲得答案,分享出來算作一些提醒。祝君好運(yùn)!
相關(guān)話題鏈接: 1、一個關(guān)于電源問題導(dǎo)致STM32 MCU功能異常的話題 2、ST MCU芯片的VCAP管腳話題 3、一個跟啟動文件有關(guān)的外設(shè)中斷無響應(yīng)話題 |