STLINK虽然是个闭源的JTAG/SWD工具,但是用途却被工程师们扩展了很多,甚至比开源的CMSIS-DAP/DAPLink都多。归根结底,还是因为价钱。
带USB接口和64/128KB ROM的MCU,大概就是STM最便宜了。在所有一线大厂中,STM/NXP/FSL/Cypress/Atmel中,价格最便宜的还是STM。
扩展
- 廉价硬件:用10元CNY的STM32F103C8来做一个STLINK,异常简单、便宜。只需要SWDIO一个电阻上拉即可。
- 串口扩展:官方固件里,只有STM32F072有一个调试串口,但是第三方固件出现了两路串口,一路是应用串口,另外一路是调试串口。
- 调试其他:不仅可以调试STM32系列,还可以调试nRF51822/nRF52832/nRF52840,甚至还可以为其他MCU下载固件。
主机软件
基于libusb,Windows下除了STLINK官方软件,还可以通过OpenOCD进行支持。而Linux下的第三方软件,无法运行STLINK Windows软件,除了OpenOCD,还有ST-tools。需要使用源码编译。
编译后出现三个工具:
- /usr/local/bin/st-info, provide information about connected STLINK and hooked device, including SNR, chipid, flash, sram, pagesize, openocd.
- /usr/local/bin/st-util, run GDB server to interactive with STM32.
- /usr/local/bin/st-flash, flash binary into MCU or read back.