历史上的今天

今天是:2024年09月08日(星期日)

2020年09月08日 | 用Eclipse开发stm32(GNU ARM Eclipse Plug-in)(编码+编译+下载+调试)

发布者:平安宁静 来源: eefocus关键字:Eclipse  stm32  编码  下载  调试 手机看文章 扫描二维码
随时随地手机看文章

传统的IDE功能强大,特别是调试功能,但是如今,其它软件的发展,大家感觉到传统的IDE用户交互、编辑界面、编码效率不够友好;或者为了降低成本,需要使用开源工具
于是,有人选择使用IDE用来调试,用其它编辑器编码(比如source insight 、sublime text3、notepad++、atom、Eclipse等),来提高效率;或者使用其它的工具链来配合编辑器达到自制一个IDE的效果
当然还有一些改进得比较好的免费IDE和收费的IDE,比如coocox
这里是在Eclipse上编写ARM程序
在Eclipse上编写程序方法:

使用GCC、G++、makefile的方式进行手动编码,一切靠自己
使用Eclipse+插件(工具链等)的方式来实现
当然如果不需要编译就直接用啦

这里是使用GNU ARM Eclipse plug来简化一系列的操作
GNU ARM Eclipse 是一个插件,会帮助自动生成makefile,管理芯片包(现在使用的Keil的包),提供例示程序,以及提供编译、调试的一个框架,只要再安装一些必要的软件(工具链、build工具(比如make)、调试组件)(安装插件时不会一同安装,需要手动安装)就可以进行编译、调试
所以主要教程来自于GNU ARM Eclipse wiki
建议直接看这个
下面是安装的时候的笔记

(一)下载和安装

  • 安装java、配置环境变量

  • 下载Eclipse IDE for C/C++ Developers 环境

  • 解压Eclipse, 下载GNU ARM Eclipse Plug-in最新版本
     

     

    • github组织地址

    • 插件wiki(建议直接看这个,导航在右边)(如何安装插件)

  • 工具链 ,GNU ARM Eclipse Plug-in 插件支持的工具链有很多,如下


  • 比如GCC ARM Embedded(安装教程)不要设置环境变量!!!!!!不带make,所以用这个还需要下载一个make功能的软件(识别makefile)
    或者 sourcery g++ lite 的EABI版本 ,不用再下载make,自带,不过名字不是make,是cs-make

  • 安装build工具(make等)

  • 安装芯片包

  • 调试器软件安装(J-Link)

(二)建立工程

  • 在trace output选择semihosting,就可以在Eclipse的控制台中打印调试信息了

  • 下两步设置工程文件夹等可以默认

  • 如果遇到找不到make命令或者cs-make命令  就是没有make程序的原因,或者填错了名称,如果使用sourcery g++ lite EABI,在工程设置(project-->properties-->C++build-->settings)中改成cs-make就行了,如下图 

  • 但是如果是使用不带make程序的工具链,要手动安装,方法见(一)中的build tool的安装(或者使用MinGW或Cygwin(初次接触可自行搜索并了解)进行安装 比如cygwin安装这个

  • ) 安装完后可以设置环境变量,最终在控制台输入 make -v 能看到make的版本信息为止(插件官方不推荐) 或者在Eclipse中设置build path,如下图 然后进行编译,如果步骤没错,就可以了

  • 工程设置:
    只链接用到的代码,降低二进制文件大小


其它设置,参照模板内的,如果自己建新的空工程

(三)下载、调试ST-Link

  • 下载

    • 安装STM32 ST-LINK Utility

      Windows:官网直接下载安装即可
      Linux: 需下载源代码自行编译安装

    • 配置下载程序(使用ST-link utility ,只能下载程序,不能调试的方法,使用GDB进行调试的在后面)
      Run-->External tools-->External tools Configurations 然后左上角新建一个配置,按照下图设置

    • 点击这个就可以下载了


    •  

    • 可能会出现这个问

    • 在project-->clean处清理一下工程就行了

    • 这是正在下载

      下载完毕
       

  • 调试

    • 下载openocd(其它地址)或者找插件内的(我没找到ㄒoㄒ

    • 然后解压到一个文件夹

    • 选择DebugConfigurations

config options 中的内容来自于openocd文件夹下,根据不同的芯片和st-link版本选择不同的文件,都在同一个文件夹下 Executable中的内容是openocd.exe可执行文件的地址,可以使用变量,如图,或者直接用绝对地址比如D:Program Files (x86)openocdopenocd-0.9.0bin-x64openocd.exe Executable中的内容是GDB的位置,使用变量,如图;或者绝对地址如:C:Program FilesGNU_ARM_toolchainbinarm-none-eabi-gdb.exe

  • 如果变量忘记了没关系,有提示,指到前面的文字
     

  • 这样st-link调试和下载就基本可以了,效果图
     

  • 关于寄存器查看,可以安装keil的包(GNU ARM Eclipse插件中含有这个插件,只需要手动更新、下载包就行了),也可以使用插件

①使用GNU ARM Eclipse中的包管理:

使用方法(可能不好下载,多试几次,我第一天下了好多次不行,第二天就可以了。。。。。)
效果:



②使用插件:插件官网:
安装:
Help-->Eclipse marketplace出现下图 搜索embsysregview,然后点击Install。。然后下一步下一步下一步。。。。

J-Link

  • 方法:

  • 似st-link 只是配置文件不同

  • 使用JLinkGDBServer

  • 参考资料:

    • GNU ARM Eclipse wiki

    • J-Link debugging Eclipse plug-in wiki

  • 暂时用st-link,后面用的时候再加上来,欢迎大家来一起写

其它问题

  • 有时候可能会碰到enum 找不到。

    • ecplipse中enum成员有时会提示找不到,这是eclipse的bug , 使用project->C/C++Index -> rebuild 就行了

IF, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol"


关键字:Eclipse  stm32  编码  下载  调试 引用地址:用Eclipse开发stm32(GNU ARM Eclipse Plug-in)(编码+编译+下载+调试)

上一篇:STM32接口FSMC/FMC难点的理解
下一篇:semihost/ITM机制浅析以及使用JLINK通过ITM调试stm32单片机

推荐阅读

  目前,大陆集团开发了一种传感器,能够使用超声波测量商用车空气弹簧的高度和压力。利用超声波高度和压力传感器(UHPS),可以通过电子方式调整车辆高度,从而提高城市公交车的效率。由于采用了极其耐热的材料,采用该传感器技术的空气弹簧可与当前和未来的发动机配合使用。大陆将于9月举行的IAA上首次展示这项新的技术。  新的传感器技术可最大限度...
集微网报道 知名的科技厂商ANKER于2018年10月25日,在美国纽约办了一场硬件产品发布会,其中有一款充电器新品“ANKER PowerPort Atom PD 1”。这款体积小、功率大的充电器最大的亮点就是使用了GaN器件。第三代半导体材料在消费电子的首秀,获得了极大的关注。ANKER公司这款充电器的内核采用了PI公司的电源管理IC。PI也在电源领域率先使用GaN技术的公...
近年来机器人产业在全球范围内迅速崛起,目前已经形成了欧洲、美国、日本、中国、韩国等五大机器人集中发展区,今天我们来说一说日本的工业机器人。在工业机器人领域,单从企业来看,ABB、发那科(FANUC)、库卡(KUKA)和安川电机(YASKAWA)这四大家族的霸主地位无可撼动,依旧是全球主要的工业机器人供货商,占据全球约50%的市场份额。其中发那科(FAN...
台积电持续扩大在台投资,传出下一个重大投资案将南下高雄,已选定中油高雄炼油厂五轻旧址,打造另一生产重镇,主要以目前「打遍天下无敌手」的7纳米切入,初步规划在当地盖六个厂,业界评估总投资额将高达数千亿元新台币,最快2023年启动。对外传将在高雄设厂,台积电昨(6)日未做任何评论,强调一切以公司对外公告为主。台积电强调,以中国台湾作为主要...

史海拾趣

问答坊 | AI 解惑

RF低噪声放大器设计

RF低噪声放大器设计见附件…

查看全部问答∨

小影霸GT7300的GPU温度范围是多少?

小影霸GT7300的范GPU温度围是多少?我应该设置成多少提示我?   我的GPU显示在53-57度间跳动,会不会太高了?…

查看全部问答∨

用Keil编写C编译的时候出错,也没有各种错误对应的中文解释

每一个错误类型都是有一个代码,后面就是一段洋鬼子的英文,也没有人将这些东西翻译成了我们伟大的汉语, 有之,告诉在下一个下载地址。…

查看全部问答∨

求救!!用EVC创建的MFC对话框程序选择PB5编译导出的SDK出现cannot open include file 'afxres.h'.

用EVC创建的MFC对话框程序选择PB5编译导出的SDK出现cannot open include file \'afxres.h\'. 而使用EVC自带SDK却不会出错,请高手帮助…

查看全部问答∨

AD6.9错误:GND contains Power Pin and Input Port Objects(Pin U18-5,Port GND)

才从99SE转到AD6.9,出现这个错误,不知道是什么问题,怎么修改,望高手指点下!!!…

查看全部问答∨

2013材料清单出来了,讨论一下

本帖最后由 paulhyde 于 2014-9-15 03:38 编辑 2013年全国大学生电子设计竞赛基本仪器和主要元器件清单1. 基本仪器清单60MHz双通道数字示波器100MHz双通道数字示波器低频信号发生器(1Hz~1MHz)标准高频信号发生器(1MHz~100MHz,可输出1mV小信号 ...…

查看全部问答∨

音频运放的带宽比普通运放要低很多?

请问,是否是音频运放的带宽比普通运放要低很多?大概是啥范围?求教。…

查看全部问答∨

【视频】ENEA Software Offering for SoC

$(\'flv_bfb\').innerHTML=(mobileplayer() ? \"\" : AC_FL_RunContent(\'width\', \'500\', \'height\', \'375\', \'allowNetworking\', \'internal\', \'allowScriptAccess\', \'never\', \'src\', \'http://player.youku.com/player.php/sid/XNj ...…

查看全部问答∨

新人求CCS软件资源

听说CCS3.3不能够在win7的64位中使用,请问各位大虾能否分享能够在win7中使用的CCS资源给小滴~ …

查看全部问答∨
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved