专家
公告
财富商城
电子网
旗下网站
首页
问题库
专栏
标签库
话题
专家
NEW
门户
发布
提问题
发文章
STM32
那些免费好用的STM32的IDE二之Eclipse+GNU+Jlink(进阶篇一)
2019-10-11 16:51
发布
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
站内问答
/
STM32/STM8
12354
6
1402
本帖最后由 秋之前 于 2017-1-13 09:59 编辑
相关连接:那些免费好用的STM32的IDE一之Emblock
http://www.openedv.com/forum.php?mod=viewthread&tid=73485&page=1#pid496542
那些免费好用的STM32的IDE二之Eclipse+GNU+Jlink(基础篇)
http://www.openedv.com/forum.php?mod=viewthread&tid=73543&page=1#pid505930
那些免费好用的STM32的IDE二之Eclipse+GNU+Jlink(高级篇)
http://www.openedv.com/forum.php?mod=viewthread&tid=89312&fromuid=19822
本篇开始讲解一些比较实用的东西,在前面的两章中,我们讲解了eclipse开发stm32的大部分问题,然而。在实际使用过程中,我们仍然会遇到一些不太理想的地方,比如,eclipse不能一键下载,只能通过调试变相的下载,很不方便。同时eclipse编译出来的文件要比MDK编译的文件大很多。本篇就是为了解决这两个问题的:程序优化和一键下载。
1、优化等级
-O0
-O1
-O2
-O3
-Os
自己酌情选择。我通常选择O0
这两个选项会滤除掉没有使用过的函数和数据
使用newlib-nano选项会进一步去除大量newlib中不常用的库函数,从而大大减小文件体积。
注意以上三点后,编译出来的文件基本上就跟MDK编译的文件大小还差不多了。
另外说一点就是eclipse支持编译生成不同格式的文件,包括最原始的elf,还有bin、hex等其他格式。设置的地方在图中所示的地方
接着,我们需要有一个一键下载的功能。
该部分参考了
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的文件路径需要填写自己实际路径
然后把图中所示的地方选中,确定。然后点击那个拓展按钮就可以实现下载了。
下篇预告:1、那些免费好用的STM32的IDE二之Eclipse+GNU+Jlink(进阶篇二) 芯片flash和ram的调整以及运行地址的修改(运行bootloader)2、stm32最小通用开发环跨平台搭建境GNU+Makefile系列教程3、Mbed源码在自己的stm32系列平台移植适配
友情提示:
此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
qwxuhao8312
2019-10-12 13:32
问个问题,GDBServerCL 调试时程序是在哪运行(jlink上,ram?还是下载到了flash??),,,,为什么我调试后断电,再上电程序还在,,难道是调试时就下载到flash了??如果这样的话那为什么还要另外配置下载
加载中...
查看其它6个回答
一周热门
更多
>
相关问题
STM32F4上I2C(在PROTEUS中模拟)调试不通的问题
6 个回答
芯片供应紧张,准备换个MCU,MM32L系列替换STM32L系列的怎么样?
7 个回答
STM32同时使用两个串口进行数据收发时数据丢包的问题
5 个回答
STM32F103串口通信死机问题
4 个回答
STM32WLE5CC连接SX1268在LoRa模式下能与 SX1278互通吗?
2 个回答
相关文章
ST公司第一款无线低功耗单片机模块有效提高物联网设计生产效率
0个评论
如何实现对单片机寄存器的访问
0个评论
通过USB用STM32片内自带Bootloader下载程序及注意事项
0个评论
欲练此功必先自宫之STM32汇编启动,放慢是为了更好的前行
0个评论
×
关闭
采纳回答
向帮助了您的知道网友说句感谢的话吧!
非常感谢!
确 认
×
关闭
编辑标签
最多设置5个标签!
STM32
保存
关闭
×
关闭
举报内容
检举类型
检举内容
检举用户
检举原因
广告推广
恶意灌水
回答内容与提问无关
抄袭答案
其他
检举说明(必填)
提交
关闭
×
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
×
付费偷看金额在0.1-10元之间
确定
×
关闭
您已邀请
0
人回答
查看邀请
擅长该话题的人
回答过该话题的人
我关注的人
一周热门 更多>