測試思路
最近打算換國產的一些兼容芯片來頂替STM32,比如航順的HK32F103C8T6
但是我的開發工具是STM32CubeIDE+STLinkv2,在STM32調試的時候會檢查芯片是不是STM32,如果不是,就會直接拒絕燒錄和調試.會提示Reason: ST-LINK: Could not verify ST device! Abort connection.
想了各種方法嘗試繞過,突然想到,我以前進行過另一個研究,關於STM32CubeIDE如何使用其他非stlink下載器(比如DAPLink)進行JTAG燒錄調試,
這個檢測芯片型號的設定,可能是ST公司獨有的指令,其他的JTAG下載器可能對其支持有限,既然STM32CubeIDE在使用openOCD進行燒錄調試時,能繞過燒錄器型號檢測,那么,非常有可能連芯片型號檢測也繞過了.
於是掏出DAPLink試了下.果真可以.
第一階段的驗證成功,於是進行第二階段的驗證,上STLINK測試,也成功!以下為操作過程.
操作流程
下載最新版openocd:
http://www.gnutoolchains.com/arm-eabi/openocd/
解壓到任意目錄,建議路徑不帶空格或中文
並在bin目錄建立STM32F1XTest.bat文件:
修改STM32F1XTest.bat文件內容:
openocd -f interface/stlink.cfg -f target/stm32f1x.cfg
后半部分可選項:
stm32l0.cfg
stm32f0x.cfg
stm32l1.cfg
stm32f1x.cfg
stm32f2x.cfg
stm32f3x.cfg
stm32l4x.cfg
stm32f4x.cfg
stm32f7x.cfg
stm32g4x.cfg
stm32h7x.cfg
更多選項請在里面找個叫做target的目錄,在里面能找到
保存后,運行STM32F1XTest.bat看看,如果顯示這樣就可以了:
如果你的顯示不同,stlink先連接開發板,再重新插拔下ST-LINK的usb試試
STM32CubeIDE的調試選項里面這么配置:
(找不到這個界面在哪?調試失敗后就會自動提示打開!)
完成~