嵌入式开发的集成开发环境(IDE)

9
我在做许多嵌入式C开发工作。我正在寻找一款可以给我提供与Eclipse或Visual Studio相同功能的IDE。过去我使用过Vim,但是我对它的使用量并不满意。现在我正在尝试使用Eclipse,但我无法正确地标记我的代码。我还可以使用Visual Studio,并可能获得SlickEdit许可证。

有人能推荐一个编辑器吗?我正在寻找以下功能:

  • 某种类型的代码完成
  • SVN支持
  • 变量、函数名称等的索引/标记
  • 支持解释可能被#ifed掉的代码
  • 第三方编译器支持

是否有一种方法可以在没有make文件或使用gcc构建代码的情况下生成代码标签?


“标记代码”是什么意思?我使用嵌入式开发版本的Eclipse,它可以正确索引所有成员。这可能只是您尚未设置的某些设置。 - CookieOfFortune
我一直无法让Eclipse标记我的代码。我不确定是因为我的项目中的预处理方案还是其他因素。我也找不到任何有关在Eclipse中解决此问题的好资源或HOWTO。如果有链接,将不胜感激。 - Ben Gartner
我成功地让Eclipse标记我的代码,通过从我的编译器复制了几个#define和路径。 - Ben Gartner
11个回答

6

我认为你在使用Eclipse方面走在了正确的道路上。

我猜你的问题是为什么无法标记你的代码,但是我知道Eclipse支持ctags(所以这并不是完全不可能的)。


5

Eclipse被QNX Software Systems(也是CDT的主要贡献者)、WindRiver、Mentor Graphic等公司用作嵌入式开发IDE的基础,因此它有一定的实力。Green-Hills为其工具链提供了Eclipse插件。

然而,通过集成自己的工具获得无缝的开发环境是一项艰巨的任务,但由于其开放的插件架构,与其他文本编辑器相比更加可行。这取决于您想要的集成级别。在大多数编辑器中,编辑和构建都很简单。除了以上供应商之一提供的现成套件外,获取所有编辑、构建、构建/依赖管理(生成makefile)、版本控制、源代码浏览和远程源代码级调试等功能需要一些努力。

来自Keil或IAR等公司的许多专有非Eclipse IDE看起来有些过时,并且往往不能令人满意作为编辑器,尽管它们通常在目标硬件和RTOS意识以及仿真方面提供了许多低级功能。


4

我广泛使用Code::Blocks

code::blocks

这个东西太神奇了, 如果你安装了任何binutils arm-elf、avr-elf、VC、mingw,你可以使用任何你想要的,只需在项目属性中选择工具集,添加一些库等...

我曾经添加过其他工具,如LPC处理器的flash2000、objdump等作为外部命令。

这个IDE有很多工具,可以使你的交叉编译更快更容易。 而且它比Eclipse + CDT和其他东西要好得多(读起来更快、更小)。


3
刚刚发布了一款嵌入式系统的集成开发环境,网址是http://mbeddr.com/

2

我认为如果问题是关于IDE的选择,那么答案就是Eclipse with CDT。像《TDD with Embedded C》作者James Grenning这样经验丰富的人喜欢并使用它。更多信息请参见该书的附录。


1

我曾使用过Microscope(Vex平台)、EVC++和Maemo编译器+Nano进行嵌入式编程。你要求的大多数其他工具通常在IDE之外找到。

然而,Netbeans可以配置为编译非Java代码。虽然不太方便,但如果您使用C++进行开发,则可能能够更改所使用的编译器,并轻松使用C++插件。


1

我已经从事嵌入式产品开发相当长的时间了,大多数情况下我使用emacs与ctags(etags)和cscope。最近,我开始使用SlickEdit,它也很好用。然而,我个人建议你熟悉Vim/Emacs或者其他你感觉舒适的编辑器。Emacs/Vim最好的一点是可以通过插件或者其他方式扩展功能。有很多第三方插件可用于扩展这些编辑器。当然,你需要投入一些时间来入门。


对于标记 => ctags,Vim/Emacs已经有支持代码自动完成的功能。我相信Emacs有SVN支持,Vim也应该有。 - Siva

1

我目前正在使用IAR的Workbench,它非常好用。我以前使用过带有CDT插件的Eclipse(可能将来还会使用),它的代码导航也很好用。我不记得必须要费太多功夫才能使其索引代码,但我当时使用的是GCC(这可能是一个因素),我记得有时候需要重新启动Eclipse和/或手动告诉它重新索引,当它在导航时遇到一些麻烦。

然而,即使IAR的Workbench对于大多数事情都足够好用,但当我真正想要方便地进行代码导航时,我只需加载包含源树的makefile项目,然后打开Visual Studio。makefile命令只需调用IAR的命令行实用程序执行构建即可。这种方法非常有效,除了调试之外 - 我必须转到IAR Workbench进行调试。当我处于调试模式时,最好还是留在IAR中。但如果我要分析或削减代码,我会转到VS。

因此,基本上,只要您的目标工具链支持通过命令行驱动,您就可以通常使用您喜欢的任何IDE进行大部分开发。


0

除非你在设备上开发,否则为什么不使用通常使用的IDE呢?无论如何,你都将进行交叉编译。


0
  • 我特别喜欢使用vim在Linux/Unix系统中工作,结合cscope(用于源代码交叉引用)。最新版本的vim支持代码自动完成,有很多插件可供选择。
  • Emacs是一匹强大的马,有很多自定义支持。据我所知,它支持CVS/Clearcase。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接