说明传统的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
建议直接看这个
下面是安装的时候的笔记
(一)下载和安装(二)建立工程- [/url]
- 在trace output选择semihosting,就可以在Eclipse的控制台中打印调试信息了[url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/2ebaf969-27af-47b3-9b4f-7ee67b617fde.png]
- 下两步设置工程文件夹等可以默认
[/url] - 如果遇到找不到make命令或者cs-make命令 [url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/42f3aaa0-abcb-4234-b789-556de8788ce1.png] 就是没有make程序的原因,或者填错了名称,如果使用sourcery g++ lite EABI,在工程设置(project-->properties-->C++build-->settings)中改成cs-make就行了,如下图 [/url] 但是如果是使用不带make程序的工具链,要手动安装,方法见(一)中的build tool的安装(或者使用MinGW或Cygwin(初次接触可自行搜索并了解)进行安装 比如cygwin安装这个 [url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/72849c26-916d-49a1-8fab-74b76e0a0dfb.png]) 安装完后可以设置环境变量,最终在控制台输入 make -v 能看到make的版本信息为止(插件官方不推荐) 或者在Eclipse中设置build path,如下图 [/url]然后进行编译,如果步骤没错,就可以了
- 工程设置:
只链接用到的代码,降低二进制文件大小 [url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/7f55e946-e3ac-45a5-afbd-2d0494020562.png] [/url]
其它设置,参照模板内的,如果自己建新的空工程
(三)下载、调试ST-Link下载
安装STM32 ST-LINK Utility
Windows:官网直接
[url=http://www.st.com/web/en/catalog/tools/PF258168]下载安装即可
Linux: 需
下载源代码自行编译安装
配置下载程序(使用ST-link utility ,只能下载程序,不能调试的方法,使用GDB进行调试的在后面)
Run-->External tools-->External tools Configurations 然后左上角新建一个配置,按照下图设置
[/url][url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/8e7f8874-ad4d-434a-a822-31740a777ca1.png]- 点击这个就可以下载了
[/url] - 可能会出现这个问
题[url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/182a3ae1-fc73-4ee2-8fd8-be4ee0f4676a.png] - 在project-->clean处清理一下工程就行了
- 这是正在下载
[/url]
下载完毕
[url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/4b4bc2d8-3533-4106-b775-cf8974c97d7d.png]
调试
- 下载openocd(其它地址)或者找插件内的(我没找到ㄒoㄒ
- 然后解压到一个文件夹
- 选择DebugConfigurations
[/url][url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/890fb136-8a28-4460-a0df-9965a392c319.png]
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
- 如果变量忘记了没关系,有提示,指到前面的文字
[/url] - 这样st-link调试和下载就基本可以了,效果图
[url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/5bbe0e0d-2775-49a3-a2ce-02e47fc44ac3.png] - 关于寄存器查看,可以安装keil的包(GNU ARM Eclipse插件中含有这个插件,只需要手动更新、下载包就行了),也可以使用插件
①使用GNU ARM Eclipse中的包管理:
[/url]
[url=http://gnuarmeclipse.github.io/plugins/packs-manager/]使用方法(可能不好下载,多试几次,我第一天下了好多次不行,第二天就可以了。。。。。)
效果:
[/url]
[url=https://github.com/Neutree/note/blob/master/Embedded/Stm32/Eclipse_ARM/asset/debug_memory.png]
②使用插件:
插件官网:
安装:
Help-->Eclipse marketplace出现下图 搜索embsysregview,然后点击Install。。然后下一步下一步下一步。。。。
[/url]
J-Link- 似st-link 只是配置文件不同
- 使用JLinkGDBServer
其它问题- 有时候可能会碰到enum 找不到。
- ecplipse中enum成员有时会提示找不到,这是eclipse的bug , 使用project->C/C++Index -> rebuild 就行了
能看到最后,给你看看更多我的笔记(会下架自己的博客,搬迁到这里和这里)
,哈哈哈
告诉你个秘密,其实我是想申请板子。。。嘻嘻,,学生party嘛,是的都懂苦楚。。。