ubuntu下使用Code::blocks + JLink调试stm32f103c8

感谢前辈的分享:(5条消息) Ubuntu下使用JLink+Code::Blocks搭建Atmel ARM调试环境_Open Source RTOS Development-CSDN博客

Code::Blocks的安装

  打开终端,输入:sudo apt-get install codeblocks

  指令执行完成后在菜单中出现

 即为安装成功

JLink配置

  Linux下JLink的安装

  打开网址:https://www.segger.com/downloads/jlink/下载J-Link驱动,我下载的是Linux 64bit DEB版本的。

 下载好后,直接双击运行.deb文件,系统会自动安装驱动;

  运行JLinkGDBServer

  系统默认会将JLink安装在/opt/SEGGER/JLink下,进入到该路径下,执行:./JLinkGDBServer -device stm32f103c8 -timeout 50000 -if SWD

  -device  指定设备

  -timeout 指定GDB连接超时时间,单位ms

  -if 指定调试接口类型

  执行命令终端显示如下,调试器会处于等待连接状态

  

 Code::Blocks配置

  打开Code::Block

  大概的配置流程可以看下这个视频:NuttX stm32_哔哩哔哩_bilibili,里面有较为详细的讲解过程;但视频里面用的是STlink,本人按照视频里面的操作无法实现对JLink的调试。

  在Code::Blocks里面右键点击工程,选择properties,在弹出的页面中选择Debugger.
Debugger Remoteconnection设置

在Additional GDB command添加以下内容:


Before connection
# connect to the J-Link gdb server
target remote localhost:2331
monitor endian little
monitor interface SWD
monitor speed auto
monitor flash device = stm32f103c8
monitor flash download = 1
monitor flash breakpoints = 1
monitor clrbp
cd /home/gd/nuttxSpace/
file nuttx
load

-------------------------------------------

After connection
monitor reset
monitor sleep 100
thbreak __start   

构建程序

开始调试

运行成功后的效果

 

原文地址:https://www.cnblogs.com/jiayezi/p/15165106.html