0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

是什么導(dǎo)致代碼失聯(lián)了呢?

Q4MP_gh_c472c21 ? 來源:魚鷹談單片機(jī) ? 作者:魚鷹談單片機(jī) ? 2022-04-24 10:04 ? 次閱讀

不知道你是否有這樣的體驗(yàn):代碼單步調(diào)試,調(diào)著調(diào)著,出現(xiàn)了下面的提示框:

48190570-c2f5-11ec-bce3-dac502259ad0.png

很多時候,莫名其妙,一般情況,只能退出調(diào)試,再重新進(jìn)入。

一般沒啥影響,但有的時候,我們是為了抓 BUG 現(xiàn)場才進(jìn)入的調(diào)試模式,一旦因?yàn)槭?lián)導(dǎo)致不能繼續(xù)調(diào)試,估計(jì)得罵娘了(BUG 容易復(fù)現(xiàn)還好,下次在來,但是很難復(fù)現(xiàn)的話,就麻煩大了)。

那會是什么導(dǎo)致失聯(lián)了呢?

總結(jié)了以下幾種可能:

1、調(diào)試器連線(PC 到調(diào)試器,調(diào)試器到芯片)不正常。

2、MDK軟件問題

3、MDK 工程兼容問題

4、看門狗復(fù)位(窗口、獨(dú)立看門狗)

連線問題好解決,各種換即可,MDK 軟件問題,只能說盡量找個穩(wěn)定的版本了。另外就是 MDK 工程兼容的問題,比如這個項(xiàng)目開始不是你負(fù)責(zé)的,后來你入職了,用了另一個版本的 MDK,再次打開這個工程的時候,就可能出現(xiàn)問題,一般來說,這種情況下,不要嫌麻煩,直接新建工程即可。

還有一種很容易忽略的可能是,項(xiàng)目代碼開啟了看門狗,單步調(diào)試時間太長,沒有及時喂狗導(dǎo)致復(fù)位。

此時,我們又該如何解決呢?這就是本篇筆記的重點(diǎn)。

參考手冊最后面,我們可以看到這個寄存器DBGMCU_CR。

483408f2-c2f5-11ec-bce3-dac502259ad0.png

這里我們看看獨(dú)立看門狗這個位的介紹:

4852d142-c2f5-11ec-bce3-dac502259ad0.png

可以看到,這個作用就是,當(dāng)我們進(jìn)入調(diào)試狀態(tài)時,看門狗計(jì)數(shù)器停止工作。

F103 函數(shù)設(shè)置如下:

DBGMCU_Config(DBGMCU_IWDG_STOP, ENABLE);

什么意思?就是說,當(dāng)我們在單步調(diào)試,程序停下來進(jìn)行分析的時候,因?yàn)樵O(shè)置了該位,就可以讓計(jì)數(shù)器不工作,這樣一來,即使停止再久的時間,只要在調(diào)試模式下,都不會因?yàn)榭撮T狗而復(fù)位,因?yàn)橛?jì)數(shù)器已經(jīng)不工作了,也就不能觸發(fā)復(fù)位動作了。而一旦退出調(diào)試模式,看門狗繼續(xù)正常工作。

這樣也就不會導(dǎo)致前面說的失聯(lián)問題,可以讓你專心分析代碼邏輯。

那如果說,原來的代碼沒有考慮這個點(diǎn),沒有配置這個位,咋辦?

如果看門狗超時時間比較長(十幾秒以上),你完全可以在進(jìn)入調(diào)試模式后,從容打開寄存器窗口,手動設(shè)置該位,這樣臨時抱佛腳的行為也能起作用。

那如果只有幾秒鐘咋辦?手動操作可能根本來不及,魚鷹在此再支一招:

使用 MDK 中的 ini 文件,讓其進(jìn)入調(diào)試模式的同時,自動設(shè)置該位,相當(dāng)方便。

那如果是毫秒級別的呢?自求多福吧,或許 ini 的方法可以解決,或許進(jìn)入調(diào)試模式后,在程序運(yùn)行的時候(別停?。。。?,先用 MDK 的命令窗口或寄存器窗口設(shè)置一下該位,再停止程序運(yùn)行去分析問題。

總之,一定要先把這個位給設(shè)置了再慢慢調(diào)試分析,否則,可能調(diào)著調(diào)著,最終調(diào)了一個寂寞。

END 審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)數(shù)器
    +關(guān)注

    關(guān)注

    32

    文章

    2253

    瀏覽量

    94294
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4728

    瀏覽量

    68248
  • 調(diào)試器
    +關(guān)注

    關(guān)注

    1

    文章

    300

    瀏覽量

    23669

原文標(biāo)題:代碼調(diào)著調(diào)著就失聯(lián)了???

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    發(fā)電機(jī)磁的現(xiàn)象及處理方法

    發(fā)電機(jī)磁是指發(fā)電機(jī)在運(yùn)行過程中,由于各種原因導(dǎo)致勵磁系統(tǒng)不能提供足夠的勵磁電流,使得發(fā)電機(jī)的磁場減弱或消失,從而影響發(fā)電機(jī)的正常運(yùn)行。磁現(xiàn)象可能會導(dǎo)致發(fā)電機(jī)出力下降、電壓降低、甚至
    的頭像 發(fā)表于 09-27 09:11 ?1276次閱讀

    發(fā)電機(jī)磁后,會出現(xiàn)哪些現(xiàn)象?

    發(fā)電機(jī)磁是指發(fā)電機(jī)的勵磁系統(tǒng)出現(xiàn)故障,導(dǎo)致發(fā)電機(jī)不能正常產(chǎn)生磁場,從而影響發(fā)電機(jī)的正常運(yùn)行。磁故障是電力系統(tǒng)中較為常見的故障之一,對發(fā)電機(jī)組的安全運(yùn)行和電力系統(tǒng)的穩(wěn)定供電具有重要影響。 一
    的頭像 發(fā)表于 09-27 09:10 ?449次閱讀

    發(fā)電機(jī)磁對發(fā)電機(jī)自身的影響有哪些

    發(fā)電機(jī)磁是指發(fā)電機(jī)轉(zhuǎn)子磁場的消失或減弱,導(dǎo)致發(fā)電機(jī)無法正常工作。磁現(xiàn)象對發(fā)電機(jī)自身的影響是多方面的,包括對發(fā)電機(jī)本身、電力系統(tǒng)以及設(shè)備安全等方面的影響。 1. 對發(fā)電機(jī)自身的影響 1.1 轉(zhuǎn)子
    的頭像 發(fā)表于 09-26 18:14 ?562次閱讀

    發(fā)電機(jī)磁會導(dǎo)致逆功率嗎

    發(fā)電機(jī)磁確實(shí)會導(dǎo)致逆功率現(xiàn)象的發(fā)生。以下是對這一問題的詳細(xì)分析: 一、發(fā)電機(jī)磁的原因 發(fā)電機(jī)磁的主要原因是繞組損壞或電源電壓不足。具體來說,當(dāng)發(fā)電機(jī)繞組出現(xiàn)斷路、短路或?qū)Φ亟^緣不
    的頭像 發(fā)表于 09-26 18:11 ?299次閱讀

    電路的壓保護(hù)常由什么來實(shí)施

    限于繼電器、接觸器、斷路器、微處理器控制的保護(hù)裝置等。 1. 壓保護(hù)的重要性 壓保護(hù)是為了防止在電壓下降到設(shè)備不能正常工作或可能導(dǎo)致設(shè)備損壞的情況下,設(shè)備繼續(xù)運(yùn)行。在電力系統(tǒng)中,
    的頭像 發(fā)表于 09-20 14:47 ?468次閱讀

    變電站母線壓的依據(jù)是什么

    變電站母線壓是指變電站母線電壓降低到一定值以下,導(dǎo)致變電站不能正常供電的現(xiàn)象。母線壓是電力系統(tǒng)運(yùn)行中的一種常見故障,對電力系統(tǒng)的安全穩(wěn)定運(yùn)行具有重要影響。 一、變電站母線壓的依據(jù)
    的頭像 發(fā)表于 08-13 17:25 ?752次閱讀

    母線壓處理的一般程序是什么

    母線壓是指電力系統(tǒng)中母線電壓突然下降至零或接近零的情況,這通常會導(dǎo)致電力系統(tǒng)的不穩(wěn)定和設(shè)備損壞。為了確保電力系統(tǒng)的安全穩(wěn)定運(yùn)行,需要對母線壓進(jìn)行及時有效的處理。以下是母線壓處理的
    的頭像 發(fā)表于 08-13 17:06 ?427次閱讀

    單母線內(nèi)橋接線線路壓怎么辦

    母線內(nèi)橋接線線路壓的原因 1.1 外部原因 1.1.1 天氣因素 惡劣的天氣條件,如雷電、大風(fēng)、暴雨等,可能導(dǎo)致電力線路的損壞,從而引發(fā)壓事故。 1.1.2 自然災(zāi)害 地震、山體滑坡、泥石流等自然災(zāi)害,可能對電力線路造成破壞
    的頭像 發(fā)表于 08-13 16:15 ?267次閱讀

    戶外聯(lián)后如何使用北斗短報(bào)文終端報(bào)警求救?

    北斗短報(bào)文終端在戶外探險(xiǎn)中展現(xiàn)其卓越的價值,特別是在緊急聯(lián)情況下。當(dāng)探險(xiǎn)者深入無人區(qū),面對無網(wǎng)絡(luò)覆蓋的困境時,北斗短報(bào)文終端成為了他們的“生命線”。通過這一終端,探險(xiǎn)者能夠直接利用北斗衛(wèi)星發(fā)送
    的頭像 發(fā)表于 07-24 11:58 ?398次閱讀
    戶外<b class='flag-5'>失</b><b class='flag-5'>聯(lián)</b>后如何使用北斗短報(bào)文終端報(bào)警求救?

    CyU3PDmaChannelSetupSendBuffer這個函數(shù)在使用debug的時候出現(xiàn)67的錯誤,請問這是什么原因導(dǎo)致

    CyU3PDmaChannelSetupSendBuffer這個函數(shù)在使用debug的時候出現(xiàn)67的錯誤,請問這是什么原因導(dǎo)致? 并且,我想詢問一下,在任何USB設(shè)備下,假如某一個端點(diǎn)設(shè)置成
    發(fā)表于 05-24 06:33

    Keli5+Proteus8.13聯(lián)調(diào)失敗的原因?

    大佬,Keli5+Proteus8.13聯(lián)調(diào)失敗,提示這個問題,系統(tǒng)是win11
    發(fā)表于 03-27 06:16

    步進(jìn)伺服電機(jī)出現(xiàn)步現(xiàn)象的有哪些原因?

    ,它可以通過控制電流脈沖的數(shù)量和頻率來精確控制電機(jī)的旋轉(zhuǎn)角度和速度。 那么,步進(jìn)伺服電機(jī)出現(xiàn)步現(xiàn)象的原因有哪些? 1、電源問題:電源不穩(wěn)定或者電壓波動過大,步進(jìn)伺服電機(jī)可能會受到干擾,都可能導(dǎo)致步進(jìn)伺服電機(jī)出
    的頭像 發(fā)表于 03-19 08:44 ?737次閱讀
    步進(jìn)伺服電機(jī)出現(xiàn)<b class='flag-5'>失</b>步現(xiàn)象的有哪些原因?

    MCSDK 5.2電機(jī)啟動后經(jīng)常導(dǎo)致串口聯(lián)的原因有哪些?

    我用5.2的庫生成的FOC程序?qū)﹄姍C(jī)進(jìn)行控制,上電后通過workbench 控制電機(jī),正常啟動電機(jī)后,串口會聯(lián),電機(jī)還保持著聯(lián)前的狀態(tài)轉(zhuǎn)動
    發(fā)表于 03-15 06:37

    變壓器流是什么原因

    變壓器流是什么原因? 變壓器流是指變壓器一側(cè)或雙側(cè)電流明顯減小的現(xiàn)象。變壓器是用于變換交流電壓的一種設(shè)備,由于其結(jié)構(gòu)特點(diǎn)以及運(yùn)行環(huán)境等因素的影響,可能會導(dǎo)致變壓器流。下面將從以下
    的頭像 發(fā)表于 12-26 15:04 ?827次閱讀

    快充手機(jī)為何突然充電速度減緩?究竟是什么原因導(dǎo)致這種情況

    快充手機(jī)為何突然充電速度減緩?究竟是什么原因導(dǎo)致這種情況? 快充手機(jī)的充電速度減緩可能有以下幾個原因: 1. 電池老化:隨著使用時間的增長,電池容量會逐漸下降,因此充電速度也會減緩。這是一個
    的頭像 發(fā)表于 11-16 14:47 ?7356次閱讀