打印
[开发工具]

用Eclipse替代Keil&IAR来开发ARM应用

[复制链接]
20117|37
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
kiya_21|  楼主 | 2014-5-12 11:06 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 kiya_21 于 2015-6-4 11:09 编辑

按惯例,这篇帖子还是以索引为主。
我使用Eclipse来开发c/c++,一是对Keil/IAR的界面及其不满,还停留在20世纪的界面风格,连个自动代码不全都没有!二来公司预算有限,Keil/IAR一个license就得5,6万人刀,现在有免费的用,何乐而不为呢,况且几个月评估下来,Eclipse绝对是把利器!下面,我争取用5句话来把安装说完。

1、花点小钱把你的机器升级下。Eclipse的缺点是基于Java,对开发机要求高。建议换个SSD硬盘,编译速度立马提升50%。内存4G以内的话开两三个Eclipse窗口无压力,想要更猛一些,建议升级到8G或更高。
2、到http://www.eclipse.org/downloads/下载最新的Eclipse IDE for C/C++ Developers。注意是C/C++版本,不是标准版,标准版的话你还得自己装C/C++的若干插件。截止发帖,Eclipse最新版本叫Kepler,140M的压缩包,解压缩后直接运行eclipse.exe即可,无需安装。
3、安装GNU ARM Toolchain。工具链有两种,一个是Yagarto,一个是sourcery g++ lite,建议两个都装上,我个人感觉yagarto编译速度更快一些。
3.1 Yagarto的安装包:http://www.emb4fun.de/archive/gabmt/index.html
3.2 sourcery的安装包见这篇教程《ARM Cortex M3开发环境搭建---(eclipse CDT和 Sourcery G++ Lite)http://hi.baidu.com/hyper99/item/c5462912a71d705e2b3e2257
4、makefile。
4.1 可以自己写makefile,参考:http://www.emb4fun.de/arm/examples/index.html,makefile在压缩包里。makefile适合高手,我自己用了俩月,直到遇到下面的插件,就彻底抛弃raw makefile了。
4.2 使用上面教程里介绍的GNU ARM Eclipse Plug-in,非常好用,强烈推荐!装了这个插件,和IAR/KEIL一样,只要填填菜单就好了,效果见截图。然后makefile都是自动生成,全自动哦,自动到你都感觉不到有makefile存在。
5、GDB Server,Eclipse下用gdb来调试程序,大概流程是这样:
Eclipse IDE <--> eclipse gdb plugin <--> J-Link gdb server软件 <--> J-Link <--> JTAG/SWD接口 <--> 目标板。
5.1 首先,安装GDB的插件,有两个:
    一个是“GDB Hardware Debugging”,设置方法参考:http://www.emb4fun.de/archive/eclipse/index.html,搜索:Configure the debugger。如果没找到该插件,那就照该**上面介绍的装一下。
    还有一个是上面的教程里提到的Zylin Embedded CDT。这俩插件可以都装上用用看,我个人推荐第一个,还是原装的好用点。
5.2 安装JLink的软件包,打开“J-Link GDB Server via SWD”,选USB,确认
5.3 Eclipse里编译好后,选“Debug --> 配置好的gdb选项"。这一步最关键,可以按emb4fun上的教程做,有搞不定的联系我,偷偷告诉你一个取巧的办法,嘿嘿


好了,说好的5句话,变成了5大步。接下来,什么单步,什么断点,什么看内存、看变量、条件断点、乱七八糟的全支持。而且还有一堆牛b插件等着你去开发,比如如果你用FreeRTOS,有个插件可以实时显示stack使用量、优先级等等信息。


写的比较简单,有什么问题欢迎加入QQ群讨论,号码:185275258(STM32-USB)

更新:
用Eclipse替代Keil&IAR来开发ARM应用(升级版)
https://bbs.21ic.com/forum.php?mod=viewthread&tid=769068&fromuid=455055
5/18 新开了一个打赏通道,觉得我的帖子有帮助的就打个赏吧,1块2块不嫌少,君 随意哦~(微信扫描下面的二维码)



沙发
kiya_21|  楼主 | 2014-5-12 11:07 | 只看该作者
这个帖子我最早发布在另外一个论坛,下面有一些回复供参考:
http://geek-workshop.com/thread-7602-1-1.html

使用特权

评论回复
板凳
mmuuss586| | 2014-5-12 11:27 | 只看该作者

是挺好的,不过目前用的人少。

使用特权

评论回复
地板
heelary| | 2014-5-12 13:05 | 只看该作者
谢谢楼主分享!

使用特权

评论回复
5
i55| | 2014-5-12 13:44 | 只看该作者
原装eclipse没有debug按钮,每次想让程序从头执行都要刷一遍flash,这个问题问了三四年了都没人能解决。还是用coide这些变种eclipse吧。

使用特权

评论回复
6
anjf163| | 2014-5-12 14:02 | 只看该作者
做个标记

使用特权

评论回复
7
kiya_21|  楼主 | 2014-5-12 17:49 | 只看该作者
本帖最后由 kiya_21 于 2014-5-12 17:55 编辑
i55 发表于 2014-5-12 13:44
原装eclipse没有debug按钮,每次想让程序从头执行都要刷一遍flash,这个问题问了三四年了都没人能解决。还 ...

右键点调试目标,选reset.

使用特权

评论回复
8
kiya_21|  楼主 | 2014-5-12 17:51 | 只看该作者
mmuuss586 发表于 2014-5-12 11:27
是挺好的,不过目前用的人少。

可以试试我做好的工程

https://github.com/kiyaya/usb_host_dock

使用特权

评论回复
9
hexenzhou| | 2014-5-12 18:28 | 只看该作者
Atollic TrueSTUDIO这个IDE就是Eclipse做的ARM开发工具。不用自己设置了。

使用特权

评论回复
10
diweo| | 2014-5-12 20:17 | 只看该作者
我也是用的CoIDE,一年多了。不过它的索引功能有点问题,每次都要多点几下鼠标,其他方面还是很好的。
纯Eclipse也装了,不过它只支持J-Link,不支持St-link。因为手头没有J-link就一直没用它。

使用特权

评论回复
11
xjjspace| | 2014-5-13 09:58 | 只看该作者
顶一个。

使用特权

评论回复
12
lee_hwa| | 2014-5-13 10:08 | 只看该作者
请问支不支持图形功能,就是直接把采样的数据画成图形,我记得eclipse for dsp可以,但是keil不行。

使用特权

评论回复
13
lei129210| | 2014-5-13 15:19 | 只看该作者
mark。

使用特权

评论回复
14
xzhihui| | 2014-5-14 23:46 | 只看该作者
TI 的CCS就是基于Eclipse做的,确实很强大,用了以后,就不喜欢KEIL和AIR这些了。
不过CCS只支持TI自己的芯片开发,MSP430,C2000,C5000,C6000...
Eclipse很好!

使用特权

评论回复
15
kiya_21|  楼主 | 2014-5-15 10:15 | 只看该作者
hexenzhou 发表于 2014-5-12 18:28
Atollic TrueSTUDIO这个IDE就是Eclipse做的ARM开发工具。不用自己设置了。

我抄了不少atollic的设置,嘿嘿

atollic的免费版有32k的限制,另外貌似Eclipse的安装插件的功能被atollic阉割了,想装个字体的插件都不行。

使用特权

评论回复
16
kiya_21|  楼主 | 2014-5-15 10:20 | 只看该作者
xzhihui 发表于 2014-5-14 23:46
TI 的CCS就是基于Eclipse做的,确实很强大,用了以后,就不喜欢KEIL和AIR这些了。
不过CCS只支持TI自己的芯 ...

是的,除了ti的ccs,还有freescale的codewarrior,都用的eclipse。大客户的话可以免费用,小客户的话隔段时间重装一下也能将就。

不过都不如自己配的Eclipse来的自由。唯一的区别是自己配的Eclipse没有向导功能,比如你要是新拿来一个芯片,想要开始开发,还是需要手动配置一下的。这点商业版的Eclipse就做的比较好,当然这也是他们唯一可以拿来卖钱的东西吧。。

使用特权

评论回复
17
kiya_21|  楼主 | 2014-5-15 10:21 | 只看该作者
diweo 发表于 2014-5-12 20:17
我也是用的CoIDE,一年多了。不过它的索引功能有点问题,每次都要多点几下鼠标,其他方面还是很好的。
纯Ec ...

st-link也可以,参考我的一篇回复:

发表于 2013-10-25 09:14:09 |只看该作者


johnsonzzd 发表于 2013-10-24 21:59
我用stlink,swd方式。折腾了半天,都不支持。


stlink做gdb server的话,参考这个网页:
http://www.emb4fun.de/archive/stlink/index.html

主要是下载这个软件:http://www.emb4fun.de/download/arm/stlink/stlink-20130324-win.zip
然后在dos命令行下输入:st-util.exe
返回:
STLINK GDB Server (Dec 27 2012 19:29:29)
Many thanks to the STLINK development team.
(https://github.com/texane/stlink)

2012-12-28T17:30:08 INFO src/stlink-usb.c: -- exit_dfu_mode
2012-12-28T17:30:08 INFO src/stlink-common.c: Loading device parameters....
2012-12-28T17:30:08 INFO src/stlink-common.c: Device connected is: F4 device, id
0x20006411
2012-12-28T17:30:08 INFO src/stlink-common.c: SRAM size: 0x30000 bytes (192 KiB)
, Flash: 0x100000 bytes (1024 KiB) in pages of 16384 bytes
Chip ID is 00000413, Core ID is 2ba01477.
KARL - should read back as 0x03, not 60 02 00 00
Listening at *:4242...

然后修改5.3步里的GDB配置->Startup,把端口号改成上面这个4242:
# connect to the J-Link gdb server
target extended-remote localhost:4242



使用特权

评论回复
18
kiya_21|  楼主 | 2014-5-15 10:23 | 只看该作者
lee_hwa 发表于 2014-5-13 10:08
请问支不支持图形功能,就是直接把采样的数据画成图形,我记得eclipse for dsp可以,但是keil不行。 ...

没试过,也许可以。

eclipse有很多插件可以装,比如如果你用freertos的话,就可以装个STATEVIEWER来实时查看堆栈、任务运行等

使用特权

评论回复
19
Rain_King| | 2014-5-15 11:15 | 只看该作者
顶.....

使用特权

评论回复
20
yiwang1011| | 2014-5-15 16:29 | 只看该作者
高大上的软件么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

11

主题

64

帖子

5

粉丝