前些日子買了個(gè)新的STLINKV2 , ( 老的被我家貓貓一泡尿送上西天了)
剛開(kāi)始還挺正常的, 后來(lái)有一天就突然間發(fā)現(xiàn)無(wú)法調(diào)試了.
網(wǎng)上嘗試了各種方法, 各種操作. 百度了好久. 最后好在我自己研究出來(lái)了.
我使用的是 STM32CubeIDE 這個(gè)開(kāi)發(fā)工具
調(diào)試選項(xiàng)如下圖
其它的不需要修改, 然后點(diǎn)擊下面的apply 按鈕, 然后調(diào)試Debug, 提示 No STLink 如下圖
后來(lái)嘗試了下載ST-LINK Utility 用它是可以正常連接STLink的, 然后也能正常進(jìn)行升級(jí)操作.
也能正常讀取ST-Link的序列號(hào).
可是在CubeIDE中就不能正常讀取 . 使用CubeIDE中的 ST-Link 更新功能
卻是可以正常更新的, 能夠更新到比ST-LINK Utility 還要高的版本.
但是調(diào)試卻仍然不行, 后來(lái)研究了一下, 我感覺(jué)可能跟我前些日子安裝的殺毒軟件有關(guān).
于是我退出了360安全衛(wèi)士 ,但是效果仍然如故. 還是不能用.
后來(lái)我在調(diào)試配置界面中發(fā)現(xiàn)了這個(gè),我感覺(jué)應(yīng)該是它的問(wèn)題, 既然用到了端口說(shuō)不定是跟網(wǎng)絡(luò)防火墻或者其它的什么有關(guān)系. 然后我就點(diǎn)了下Show Command Line 按鈕,
把里面的命令復(fù)制出來(lái),到命令行窗口中運(yùn)行了一下. 第一次的時(shí)候竟然彈出來(lái)了一個(gè)防火墻是否允許的提示, 這里我無(wú)法再次重現(xiàn)所以截不到圖.
最后正常運(yùn)行的圖如下圖,說(shuō)明正常運(yùn)行了,.
然后我再回到調(diào)試配置界面, 選擇連接到遠(yuǎn)程GDB服務(wù)器, 但是地址仍然寫(xiě)localhost 端口不變.
這個(gè)時(shí)候我竟然可以正常調(diào)試了.
至此,問(wèn)題已明了, 根本原因還是調(diào)試用的端口被殺毒軟件或者防火墻給阻止了, 方法很簡(jiǎn)單, 要么關(guān)掉防火墻, 要么卸掉殺毒軟件裸奔, 要么設(shè)置一下綠色端口. 就可以正常使用 啟動(dòng)本地GDB服務(wù)啦.
這里說(shuō)一下原理, 為了統(tǒng)一和簡(jiǎn)化調(diào)試的復(fù)雜度, 開(kāi)發(fā)工具軟件幾乎都是通過(guò)網(wǎng)絡(luò)socket 端口來(lái)連接被調(diào)試的系統(tǒng)的. cubeide 本身并沒(méi)有訪問(wèn)usb端口和串口或任何硬件, 只是通過(guò)網(wǎng)絡(luò)socket端口跟GDB調(diào)試服務(wù)器進(jìn)行通信, 這種調(diào)試服務(wù)器可以是STLINK server 也可以是Jlink Server 這種調(diào)試服務(wù)器是實(shí)現(xiàn)了調(diào)試接口協(xié)議的一個(gè)簡(jiǎn)單的程序, 這種調(diào)試服務(wù)器程序需要開(kāi)放監(jiān)聽(tīng)一個(gè)端口, 等待來(lái)自開(kāi)發(fā)工具的連接. 就是開(kāi)放監(jiān)聽(tīng)端口的時(shí)候被殺毒軟件或防火墻給阻止了.
為啥在cmd中就可以正常提示了呢?
答: 我也不知啊…哈哈哈哈
每次都要自己手動(dòng)啟動(dòng)GDB服務(wù)器還是很麻煩的, 得改回來(lái), 原因知道了, 剩下的就好辦了.
然后我關(guān)掉cmd窗口, 把調(diào)試配置改成 啟動(dòng)本地GDB服務(wù) , 仍然無(wú)法連接上STLINK. 說(shuō)明要么GDB服務(wù)程序沒(méi)啟動(dòng)成功,要么端口被攔截了.文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-454337.html
后來(lái)經(jīng)過(guò)任務(wù)管理器調(diào)試發(fā)現(xiàn),確實(shí)沒(méi)有啟動(dòng)GDB調(diào)試服務(wù)程序. 算了先不管它了, 8成也是防火墻或者殺毒軟件給阻止了. 先手動(dòng)啟動(dòng)吧, 后面卸載掉殺毒軟件吧…文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-454337.html
到了這里,關(guān)于STM32CubeIDE無(wú)法連接STLinkV2的一個(gè)可能原因的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!