加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

PB3引腳燒了ST-LINK?工程師是如何解決這個(gè)問(wèn)題的?

2020/09/16
181
閱讀需 5 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論
最近魚鷹在忙著搞 NRF 無(wú)線通信,之前請(qǐng)人幫忙畫了一塊板子,用了 PB3 引腳作為模塊的 IRQ 中斷引腳,然后魚鷹把一塊自制 ST-LINK 燒掉了……

插上電之后,顯示無(wú)法識(shí)別,枚舉不通過(guò)……

看了電源指示燈后,發(fā)現(xiàn)插上那一刻,電源指示燈出現(xiàn)閃爍,估計(jì)是電源芯片燒了,如果只是如此還好,魚鷹有備用的芯片,拆了換上就好,就怕主控 C8T6 芯片燒了,那就很麻煩了。

還好魚鷹有一塊 ST 官方開(kāi)發(fā)板,內(nèi)置 ST-link ,可以應(yīng)應(yīng)急,不然就耽誤事了。

所以,有備用調(diào)試器和開(kāi)發(fā)板是非常有必要的。

(左數(shù)第二個(gè)引腳為 SWO,第四為 CLK)

PB3 怎么就把 ST-LINK 燒了呢?這是一個(gè)悲傷的故事,請(qǐng)聽(tīng)魚鷹慢慢道來(lái)。

因?yàn)樾枰褂?PB3 引腳作為中斷,所以魚鷹對(duì)它做了初始化,但是發(fā)現(xiàn)在另一塊板子(這塊板子不用這個(gè)引腳)能正常進(jìn)入中斷的,到了這個(gè)新板子就不行了,主控都是一樣的,所以懷疑這是一個(gè)特殊引腳。

魚鷹趕緊百度了一下,果然,PB3 作為 J-TAG 的特殊輸出引腳 JTDO。

魚鷹趕緊把以前寫的禁止該引腳的代碼拷過(guò)來(lái)實(shí)驗(yàn)一下,發(fā)現(xiàn)根本不管用,這個(gè)代碼可是魚鷹大二時(shí)候就測(cè)試過(guò)驗(yàn)證的啊,不應(yīng)該的。

?

然后上網(wǎng)搜了一下,發(fā)現(xiàn)網(wǎng)上的答案也是一樣的,這就奇怪了。

魚鷹不信邪,直接深入這個(gè)這個(gè)重映射函數(shù)里面,發(fā)現(xiàn)設(shè)置根本就不對(duì):

魚鷹設(shè)置的是 0x02000000,而不是上面這個(gè),如果是上面這個(gè),直接關(guān)閉所有調(diào)試接口了,那我在和誰(shuí)調(diào)試,空氣嗎?(后來(lái)才知道,這個(gè)值讀取的時(shí)候返回未定義的值)

因?yàn)橐_的電平狀態(tài)我是直接在線調(diào)試看的,按理說(shuō)它顯示的狀態(tài)就是引腳的實(shí)際狀態(tài)才對(duì),但實(shí)際情況就是它始終是低電平。

為了快速確定該引腳的功能,魚鷹直接在這個(gè)窗口上修改引腳配置信息(前提是該端口時(shí)鐘打開(kāi)),配置為輸出模式,同時(shí)控制電平輸出:

發(fā)現(xiàn)還是不管用,還是表現(xiàn)為低電平,難道窗口設(shè)置的沒(méi)有效果?

魚鷹再次用代碼嘗試控制電平狀態(tài),還是不行……

見(jiàn)鬼,難道說(shuō)這個(gè)窗口顯示的電平狀態(tài)在這個(gè)引腳不管用,IDR 寄存器沒(méi)有實(shí)時(shí)反映電平?

為了驗(yàn)證這個(gè)問(wèn)題,魚鷹直接用邏輯分析儀確定,然后魚鷹就悲劇了……

因?yàn)轸~鷹的粗心,插錯(cuò)了引腳,導(dǎo)致短路了……

魚鷹頓時(shí)心態(tài)崩了,本來(lái)就因?yàn)檫@個(gè)引腳的問(wèn)題,導(dǎo)致心煩意亂,現(xiàn)在還把它給燒掉了,掉了,了……

魚鷹就這么一個(gè)寶貴的 LINK,還特地用熱縮管保護(hù)好,外面還有太上老君的“急急如律令”符紙鎮(zhèn)壓,生怕磕磕碰碰把它給燒了,誰(shuí)知道還是改不了這個(gè)命運(yùn)啊。

誰(shuí)叫魚鷹當(dāng)初在焊接這個(gè)板子的時(shí)候,找不到自恢復(fù)保險(xiǎn)絲,直接焊上了鐵絲,所以悲劇了。

多少次,每次接反了引腳,都以為它要燒了,但依舊堅(jiān)挺著,可這次咋沒(méi)挺過(guò)來(lái)呢,默哀三分鐘……

這個(gè)問(wèn)題一直沒(méi)想通,直到吃完飯?jiān)僬垓v的時(shí)候,意外的發(fā)現(xiàn)了一個(gè)地方:

當(dāng)初魚鷹在建立 uCOS II?模板時(shí),直接把這個(gè)勾選了,而魚鷹知道,這個(gè)功能和?ITM?有關(guān)(STM32 調(diào)試?yán)髦?ITM),和?PB3?有關(guān),然后魚鷹好像突然就開(kāi)悟了。

對(duì),就是它搞得鬼,等我把這個(gè)勾選去掉之后,一切回到了本來(lái)的樣子,引腳窗口沒(méi)問(wèn)題,直接修改控制也沒(méi)問(wèn)題,一切都正常了,世界終于清靜了。

還好,魚鷹沒(méi)見(jiàn)到鬼,只是有人搗亂而已。

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

六年開(kāi)發(fā)經(jīng)驗(yàn),豐富的KEIL調(diào)試經(jīng)驗(yàn),STM32使用經(jīng)驗(yàn),C語(yǔ)言運(yùn)用經(jīng)驗(yàn)。