STM32+eclipse+Linux下开发
Posted 暮色1994
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32+eclipse+Linux下开发相关的知识,希望对你有一定的参考价值。
转载自: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 (忘记了哈哈)
-
-
-
J-Link>h
停止运行
J-Link>connect
连接设备
J-Link>loadbin filename(根据当前目录) 0x08000000
加载程序
J-Link>g
运行
J-Link>qc
退出
-
不过我的必须重启才可以运行(不知到为什么)
-
-
使用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 可以通过修改这里,修改我们要下载的文件。
-
-
使用命令行调试
-
启动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 进行调试
-
-
-
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中输入检测参数
-
以上是关于STM32+eclipse+Linux下开发的主要内容,如果未能解决你的问题,请参考以下文章
Windows上使用 OpenOCD 给 STM32 下载程序
-
-
-