在systemWorkBench中使用st-link除錯程式
阿新 • • 發佈:2019-01-24
第一次使用systemWorkBench和st-link。安裝編譯過程很順利。傻瓜操作到調試出現如下錯誤:
Info : device id = 0x100f6413
Info : flash size = 512kbytesInfo : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
adapter speed: 1800 kHz
Error: timed out while waiting for target halted
TARGET: STM32F407VETx.cpu - Not halted
in procedure 'reset'
in procedure 'ocd_bouncer'
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
Info : Unable to match requested speed 2000 kHz, using 1800 kHz
adapter speed: 1800 kHz
Error: timed out while waiting for target halted
TARGET: STM32F407VETx.cpu - Not halted
in procedure 'reset'
in procedure 'ocd_bouncer'
GDB提示無法復位硬體。原來是systemWorkBench預設使用工程的除錯指令碼。指令碼中預設需要復位。跳過就好了。
方法是修改工程中的.cfg
reset_config srst_only srst_nogate
前面加上#
並新增一行內容:reset_config none separate
方法來自
https://github.com/vsergeev/arm-bmw-sw/issues/1和
http://www.2cto.com/kf/201612/574739.html
但是他們的文章是英文或者並沒有標註出錯誤內容。基友們百度可能無法搜到這個方法。so~在巨人的肩膀上記錄這個錯誤。
號外:stlink的usb驅動必須使用官方驅動。否則即使keil能正常使用的stlink workbenth也未必正常使用。
http://www.openstm32.org/faq1