Eclipse搭建stm32+jlink开发环境全攻略(进阶篇一)

Eclipse搭建stm32+jlink开发环境全攻略

进阶篇(一)

本篇开始讲解一些比较实用的东西,在前面的两章中,我们讲解了eclipse开发stm32的大部分问题,然而。在实际使用过程中,我们仍然会遇到一些不太理想的地方,比如,eclipse不能一键下载,只能通过调试变相的下载,很不方便。同时eclipse编译出来的文件要比MDK编译的文件大很多。本篇就是为了解决这两个问题的:程序优化和一键下载。

先说说文件过大的问题,这个问题是由于我们默认的工程优化比较小。

1、优化等级

-O0

-O1

-O2

-O3

-Os

自己酌情选择。我通常选择O0

这两个选项会滤除掉没有使用过的函数和数据

使用newlib-nano选项会进一步去除大量newlib中不常用的库函数,从而大大减小文件体积。

注意以上三点后,编译出来的文件基本上就跟MDK编译的文件大小还差不多了。

另外说一点就是eclipse支持编译生成不同格式的文件,包括最原始的elf,还有bin、hex等其他格式。设置的地方在图中所示的地方

2、一键下载

接着,我们需要有一个一键下载的功能。

该部分参考了http://bbs.elecfans.com/jishu_564620_1_1.html的下载部分内容。

首先,我们需要知道对于jlink,下载使用JLink.exe,调试使用JLinkGDBServerCL。为了更好的使用eclipse下载,我们先来熟悉一下直接使用jlink命令下载的流程。

1、将jlink安装目录添加到环境变量

2、点开cmd,将目录切换到bin文件目录下

3、运行JLink.exe,然后会提示让我输入connect,接着提示让我输入芯片型号、TIF模式、速度等选项,然后才算成功连接。

那么我们能不能只通过一步就将这些选项设置好呢?可以

看看JLink的命令手册

就是这三个选项了。

所以我们可以这样重新些JLink命令:JLink.exe -autoconnect 1 -device stm32f103rc -if swd -speed 4000

接着我们就进入了JLink命令模式,再来看一看JLink有哪些命令可以使用

常用的差不多就这几个了

先运行h,让jlink暂停

然后运行loadfile下载bin文件到0x08000000

然后用r命令重启开发板,在用g命令运行程序,最后用exit或者q命令推出jlink模式

肯定又有同学说好麻烦,没有更简单的方法吗?有,我们只需要将上面的这些命令做成一个脚本,然后将这个脚本作为一个参数传递给JLink启动命令选项即可自动执行了。

细心的同学可能已经注意到了前面图中的一个参数

这两个参数是一个意思,随便用一个即可,比如-commandfile。

首先我们写一个自动命令的脚本,名字就叫做download.jlink

然后运行这样一条指令即可实现一步下载了

JLink.exe -autoconnect 1 -device stm32f103rc -if swd -speed 4000 -commandfile download.jlink

从图中可以看出指令的运行情况,jlink成功连接上了stm32,并且载入了命令脚本,执行命令脚本,下载bin文件,重新启动,运行。

那么,现在我们要解决的问题是怎么让eclipse运行这样一条指令。

我们可以注意到在eclipse上有这样一个按钮:external tool

打开设置

仿照着这个图中设置

其中脚本路径的地方${workspace_loc:/UCOS_Demo}代表了我的工程目录,换成自己对应的即可。同时,路径对应自己的实际路径。比如我是在工程目录下面新建了一个jlink文件夹,脚本放在了这个文件夹下了。

另外loadfile的文件路径需要填写自己实际路径

然后把图中所示的地方选中,确定。然后点击那个拓展按钮就可以实现下载了。

注:本人github中有工程模版
Github地址

猜你喜欢

转载自blog.csdn.net/qiuzhiqian1990/article/details/55190246