MM32無法進(jìn)行燒寫原因有多種情況,我們從硬件和軟件兩個方面分析:
硬件原因:
1、使用的調(diào)試器不支持調(diào)試下載MM32MCU,IAR/KEIL上仿真器選擇/配置不正確,MM32MCU已經(jīng)獲得Segger官方認(rèn)證。在Segger官網(wǎng)J-Link驅(qū)動6.40以上版本支持MM32MCU系列,MM32MCU支持如MM32-Link、U-link、J-Link、DAP-Link等使用SWD/JTAG(M3)等方式對內(nèi)核、外設(shè)、FLASH進(jìn)行訪問。
2、MM32MCU最小系統(tǒng)不完整,復(fù)位電路設(shè)計錯誤、MCU供電不正常等也會出現(xiàn)無法識別設(shè)備Device等情況。MM32MCU支持寬電壓2.0-5.5v供電,在用戶自己設(shè)計產(chǎn)品PCB時,建議用戶預(yù)留VCC、SWDIO、SWCLK、GND、NRST五線下載口方式。大家在進(jìn)行電路設(shè)計時請參考demo板進(jìn)行設(shè)計。
3、SWD的兩個引腳PA13、PA14引腳虛焊,外部硬件有上拉或下拉,與調(diào)試器連接不正確或未連通等情況。
軟件原因:
1、程序下載錯誤,MM32MCU有F、L、SPIN、W、P五大系列,對于不同的MCU我們有不同的庫、啟動文件與例程,大家下載程序前請查看自己MCU版本型號是否與要下載的程序?qū)?yīng),例如MM32F031C6T6分q版和n版,兩個型號由于時鐘域配置不同,程序不能直接共用。
2、MCU處于讀/寫保護(hù)狀態(tài),當(dāng)MCU處于讀保護(hù)狀態(tài)時,F(xiàn)LASH空間處于寫保護(hù)狀態(tài),此時無法使用SWD協(xié)議對內(nèi)核、外設(shè)、FLASH進(jìn)行訪問,無法進(jìn)行下載調(diào)試。
3、MCU處于低功耗狀態(tài),當(dāng)MCU處于不同模式低功耗狀態(tài)時,MCU的外設(shè)區(qū)域會處于斷電狀態(tài),調(diào)試器識別MCU處于斷電狀態(tài),無法進(jìn)行下載調(diào)試。
4、SWD的兩個引腳PA13、PA14被復(fù)用為其他功能或通用IO,PA13、PA14被配置為其他工作模式,此時PA13、PA14無法正常工作在SWD模式,調(diào)試器無法通過SWD協(xié)議進(jìn)行下載調(diào)試。
5、程序下載過程中出錯,由于下載速度和調(diào)試器版本特性等原因造成下載過程中出錯,導(dǎo)致MCU進(jìn)入HardFault狀態(tài)(程序跑飛),此時無法進(jìn)行下載調(diào)試。
-
單片機(jī)
+關(guān)注
關(guān)注
6023文章
44380瀏覽量
628668
發(fā)布評論請先 登錄
相關(guān)推薦
評論