我們在從事MCU應用開發過程中,難免會碰到MCU芯片異常的問題。比如異常復位,表現為復位腳有電平跳變或者干脆處于復位電平;在做代碼調試跟蹤時,發現代碼往往進不到用戶main()程序;或者時不時感覺芯片死掉了,功能完全不可控等。 針對類似嚴重異常情況的原因我在這里大致總結下,與大家分享。 1、時鐘問題。一般表現在時鐘配置異常,比方配置超出芯片主頻工作范圍。【對于STM32系列MCU,如果使用STM32CUBEMX圖形化工具做配置,基本可以回避這個問題】 2、電源問題。比方電源質量差,紋波過大,尤其開關電源供電時;或者供電芯片質量差,輸出不穩定;或者系統供電能力不足而引起電源波動等。 3、BOOT腳配置問題。對于ARM芯片往往都有些BOOT配置腳。經常遇到有人因為BOOT腳的焊接或接觸不良導致各類奇怪問題。這種情況多表現在芯片功能時好時壞,或者部分芯片正常,部分芯片異常。 4、啟動文件問題。經常因為選錯了啟動文件,導致程序無法正常運行,或者說調試時好好的,脫機運行就出鬼。這點在做不同系列芯片間移植時最容易碰到。 5、中斷請求位清除問題。由于中斷請求位沒有及時清除導致中斷沒完沒了的重復進入,感覺系統死機一般。 6、堆或棧的越界溢出。這個也會導致芯片無法正常工作,調試時往往可能會有硬錯提示。 7、VCAP腳問題。有些MCU芯片有VCAP腳,該類腳往往需要接上適當的電容,如果無視了它的話,也可能導致整個芯片的功能異常。 上面這幾個原因比較容易導致MCU出現功能嚴重異常,也不太容易簡單地通過查看MCU技術手冊直接獲得答案,分享出來算作一些提醒。 以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。 想學習的你和我聯系預約就可以免費聽課了。 宋工企鵝號:35--24-65--90-88 Tel/WX:173--17--95--19--08 |