参考大神的资料,淘宝买了个板子和jlink
几个概念
jlink / openJtag,实现调试协议的硬件
openocd,这个和上面的硬件一起组成调试器
这样有个感性的认识。
具体流程
libusb版本需要用1的,用2的不行
sudo apt install libusb-1.0-0-dev
参考地址
准备工作:
stm32CubeMX openocd gcc-arm-none-eabi clion
stm32CubeMX,如果直接运行xxx.linux报错,就这样安装
java -jar ./xxxx.exe
clion安装openocd插件
openocd源码下载编译
./configure --enable-jlink --prefix=$HOME/dev/arm/openocd; make; make install
编写run.sh
./bin/openocd -f ./share/openocd/scripts/interface/jlink.cfg -f ./share/openocd/scripts/target/stm32f1x.cfg
gcc-arm-none-eabi,解压以后,设置PATH变量
export PATH=~/dev/arm/gcc-arm-none-eabi-7-2018-q2-update/bin:$PATH
stm32CubeMX建立工程
如果打不开,可以
java -jar ./STM32CubeMX
去jlink官网下载debian下的jlink驱动(其实主要是为了JFlashLite,别的不需要)
JFlashLite需要qt库
sudo apt install libqt4-dev
stm32CubeMX建立好工程以后,clion导入
先去settings里面设置好openocd路径
然后tools,update cmake project with stm32CubeMX project
建议注释掉main里面的硬件相关代码,除非你懂得,我烧录进去以后,开发板挂了,最后使用JFlashLite重新erase解决的
启动openocd监听,clion设置好目标板的配置文件,编译,断点调试
clion里面build生成的bin文件是最终程序,可以是用JFlashLite烧录,手动亲测通过。