转载自:http://www.cnblogs.com/amanlikethis/p/3803736.html,
只是按照自己环境修改了一些东西而已
- 安装软件
- 安装eclipse IDE for C/C++ developers(自行安装)
- 安装插件ilg.gnuarmeclipse.repository-2.12.1-201604190915.zip
- 安装JLink驱动(可以使用beb包安装JLink_Linux_V600i_x86_64.deb)
- 安装插件ilg.gnuarmeclipse.repository-2.12.1-201604190915.zip
- 打开Eclipse->help->install new software
- 不勾选这项会快一些
- 使用JLink的命令行下载程序
- 使用这个命令进入JLink的命令形式,$JLinkExe -device STM32F103ZE -Speed 4000 -IF JTAG -JTAGConf -1,-1
- 后面的参数(可以在JLink命令形式中设置):
- -device STM32F103ZE 选择设备
- -Speed 4000 选择JLink速度
- -IF JTAG 选择接口(JTAG,SWD)
- -JTAGConf -1,-1 (忘记了哈哈)
- 后面的参数(可以在JLink命令形式中设置):
-
J-Link>h
停止运行
J-Link>connect
连接设备
J-Link>loadbin filename(根据当前目录) 0x08000000
加载程序
J-Link>g
运行
J-Link>qc
退出
- 不过我的必须重启才可以运行(不知到为什么)
- 使用这个命令进入JLink的命令形式,$JLinkExe -device STM32F103ZE -Speed 4000 -IF JTAG -JTAGConf -1,-1
- 使用Eclipse下载
- 建立下载脚本(就是几句JLink命令了)
- 在工程目录写下led,jlink文件,内容如下
-
connect
loadbin 要下在文件(包括路经) 0x08000000
r
g
qc
- 打开eclipse->run->external tools configurations
- 可以看见led,jlink作为一个参数脚本文件(-CommanderScript ./led.jlink)
- 其实也就是在运行JLinkExe时出来一些设置之外要运行的命令,其实就是用命令行下载时我们自己敲的JLink指令。
- loadbin 要下在文件(相对于${workspace_loc:/led}的路经)
0x08000000 可以通过修改这里,修改我们要下载的文件。
- 建立下载脚本(就是几句JLink命令了)
- 使用命令行调试
- 启动JLinkGDBServer
- $ JLinkGDBServer -device STM32F103ZE -speed 4000 -IF JTAG
- 有些版本的JLink驱动直接$ JLinkGDBServer就可以了
- 使用arm-none-linux-gdb调试
- #gedit ~/.gdbinit
- set auto-load safe-path /
- 在当前用户目录下创建.gdbinit文件
- 笔者的当前用户是root,所以在root目录下创建.gdbinit初始化文件
- 在工程文件夹下的Debug目录中创建.gdbinit文件
-
target remote :2331
set mem inaccessible-by-default off
monitor speed auto
monitor endian little
monitor reset
monitor flash device = STM32F103ZE
monitor flash breakpoints = 1
monitor flash download = 1
load
monitor reg sp = (0x08000000)
monitor reg pc = (0x08000004)
break ResetHandler
break main
continue
- 需要说明的是:由于当前版本的Jlink驱动不支持STM32F103VET6,所以选择STM32F103ZE来代替。
- 在另一份终端中输入arm-none-eabi-gdb 文件名.elf 进行调试
- #gedit ~/.gdbinit
- 启动JLinkGDBServer
- eclipse调试
- 还是先设置JLinkGdbServer
- 打开eclipse->run->external tools configurations
- 其实和命令行一样,就是在启动/usr/bin/JLinkGDBServer时传入参数-device STM32F103ZE -speed 4000 -IF JTAG
- 点击运行
- 和终端输出一样,其实这就是eclipse将终端集成进来了而已
- 配置Eclipse调试选项
- Debugger->Run-->Debug Configurations-->GDB Hardware Debugging -->Debugger
- Startup
- 在Initialization Commands中输入检测参数
- Debugger->Run-->Debug Configurations-->GDB Hardware Debugging -->Debugger
- 还是先设置JLinkGdbServer
monitor flash device = STM32F103ZE
monitor flash download = 1
monitor flash breakpoints = 1
monitor clrbp monitor endian little
monitor speed 5 monitor reset
monitor sleep 100
monitor speed auto
monitor writeu32 0xE000ED08 = 0x00000000
- 再在Run Commands中输入命令
monitor reg r13 = (0x08000000)
monitor reg pc = (0x08000004)
break ResetHandler
break main
continue
- 点击运行就行了
时间: 2024-11-10 00:13:45