1.安装软件
使用stlink或jlink在Ubuntu调试程序需要预先安装一些软件
make,libusb,openocd,telnet,gcc-arm-none-eabi,STM32CubeMX
2.创建工程
2.1获取ST提供的库
运行STM32CubeMX创建一个工程,就会自动下载对应芯片的库
2.2创建工程模板
工程模板主要包括makefile,ld script,源代码组成
ld script:在ST提供的库里已经有了,选择GCC版本对应你的CPU型号的,也可以参照手册编写或修改
makefile:FreeRTOS工程很小,写一个简单的makefile就可以了,也可以使用附件里的makefile修改一些参数适配你的CPU型号
源代码:需要把ST提供的库中GCC版本的对应你的CPU的源文件和头文件复制出来,可以参考附件里的模板
3.编译,运行,调试
3.1编译和清理
如果使用了附件里的makefile模板只要运行make all即可
3.2运行程序
开发板需要链接到电脑,之后启动openocd
可以在/usr/share/openocd/scripts/interface/看到所有支持的调试工具接口配置文件
可以在/usr/share/openocd/scripts/target/看到所有支持的CPU配置文件
JLINK:sudo openocd -f interface/cmsis-dap.cfg -f target/stm32f4x.cfg -c "gdb_port 3333"
ST-LINK:sudo openocd -f interface/stlink-v2.cfg -f target/stm32lx_stlink.cfg -c "gdb_port 3333"
启动telnet,与openocd交互
sudo telnet localhost 4444
停机:halt
下载(可能需要根据你的CPU调整):flash write_image erase /home/ming/Project/STM32L1-LED/build/bin/app.bin 0x8000000
3.3调试
arm-none-eabi-gdb -ex "target remote localhost:3333"
加载elf文件:file ./Project/STM32L1-LED/build/bin/app.elf
复位CPU:monitor reset
停机:monitor halt
加载:load
至此程序已经可以开始调试了
(gdb) info register pc
pc 0x8000b2c 0x8000b2c <Reset_Handler+4>
(gdb) n
70 ldr r3, [r3, r1]
(gdb) info register pc
pc 0x8000b2e 0x8000b2e <Reset_Handler+6>
(gdb)
搭建eclipse GUI开发环境:https://blog.csdn.net/qq_33641919/article/details/83860531
来源:CSDN
作者:冬青
链接:https://blog.csdn.net/oDongQing/article/details/104144366