用于嵌入式开发的 IDE
我用 C 语言做了很多嵌入式开发工作。我正在寻找一个可以为我提供与 Eclipse 或 Visual Studio 相同功能的 IDE。过去我使用过 Vim,但我对它的工作量并不满意。现在我正在尝试使用 Eclipse,但我无法让它正确标记我的代码。我还可以访问 Visual Studio,并且也许可以获得 SlickEdit 许可证。
谁能推荐一个编辑器吗?我正在寻找具有
- 某种类型的代码完成
- SVN 支持
- 变量、函数名称等的索引/标记
- 支持解释可能 #ifed out 的代码
- 第三方编译器支持
有没有一种方法可以在代码上生成标签而无需make 文件或使用 gcc 构建代码?
I do a lot of embedded development work in C. I'm looking for an IDE that can give me the same kind of features as Eclipse or Visual Studio. In the past I've used Vim, but I'm just not happy with the amount of work it is to use. Right now I'm trying to use Eclipse, but I can't get it to tag my code correctly. I also have access to Visual Studio and I might be able to get a SlickEdit license.
Can anyone recommend an editor? I'm looking for something that has
- Some type of code completion
- SVN support
- Indexing/tagging of variable, function names etc
- Support for interpreting code that may be #ifed out
- Third party compiler support
Is there a way to generate tags on the code without having a make file or building the code with gcc?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
我认为你正朝着正确的方向前进(使用 Eclipse)。
我认为你的问题是为什么你不能标记你的代码,
不过我知道 Eclipse 支持 ctags (所以这并不是不可能的)。
I think you are going in the right direction (with Eclipse).
I think your question is why you can't tag you code,
however I know that Eclipse supports ctags (so it is not in any way impossible).
Eclipse 被用作 QNX Software Systems(他们也是 CDT 的主要贡献者)、WindRiver、Mentor Graphic 等公司的嵌入式开发 IDE 的基础,因此它有一定的影响力。 Green-Hills 的工具链有一个 Eclipse 插件。
然而,通过集成您自己的工具来获得无缝的开发环境是一项艰苦的工作,但由于开放的插件架构,它比其他文本编辑器更可行。这取决于您想要的集成级别。在大多数编辑器中,编辑和构建都是直接的。获取所有内容,编辑,构建,构建/依赖管理(makefile生成),版本控制,源代码浏览和远程源代码级调试,对于像这样的人之一来说是现成套件之外的一项任务。以上供应商。
许多来自 Keil 或 IAR 等基于非 Eclipse 的专有 IDE 看起来有点过时,并且作为编辑器很少令人满意,尽管它们通常在目标硬件和 RTOS 感知和模拟方面提供许多低级功能。
Eclipse is used as the basis for Embedded development IDEs from QNX Software Systems (who are also the primary contributors to the CDT), WindRiver, Mentor Graphic, and others, so it has some weight behind it. Green-Hills have an Eclipse plug-in for their toolchain.
Getting a seamless development environment from integrating your own tools is hard work however, but more viable than with other Text Editors because of the open plug-in architecture. It depends on the level of integration you want. Edit and build are straight-forward in most editors. Getting all of, edit, build, build/dependency-management (makefile generation), version control, source browsing and remote source level debug, is a bit of a task outside of an off-the-shelf suite from someone like one of the above vendors.
Many of the proprietary non-Eclipse based IDE's from the likes of Keil or IAR are looking a little old fashioned, and are seldom satisfactory as editors, although they often offer a lot of low level functionality in terms of target hardware and RTOS awareness and simulation.
我广泛使用了Code::Blocks
code::blocks
这个东西太神奇了,
如果你安装了任何 binutils arm-elf、avr-elf、VC、mingw,你可以使用任何你想要的,只需在项目属性中选择工具集,添加一些库等...
我曾经添加其他工具,如 flash2000对于 LPC 处理器,objdump 等作为外部命令。
该 IDE 有很多工具,可以使您的交叉编译更快且更高效。更轻松。
而且它比 Eclipse + CDT 和其他东西要好得多(读取速度更快,更小)。
I widely used Code::Blocks
code::blocks
This thing is so amazing,
If you have any binutils arm-elf, avr-elf, VC, mingw, installed You could use whatever you want, just chose toolset in properties of project, add some libraries etc...
I've used to add other tools like flash2000 for LPC processors, objdump etc. as an external command.
There are plenty of tools for this IDE which makes your cross compilation faster & easier.
And it's much better (read faster, smaller) than Eclipse + CDT and other stuff.
http://mbeddr.com/
刚刚发布了一个用于嵌入式系统的 IDE
http://mbeddr.com/
Just released an IDE for embedded systems
我想如果问题是关于IDE的选择,那么答案是带有CDT的Eclipse。像“TDD with Embedded C”的作者 James Grenning 这样经验丰富的人喜欢并使用它。有关更多信息,请参阅上述书籍的附录。
I think if the question is about the choice of IDE, then the answer is Eclipse with CDT. Seasoned guys like the author of "TDD with Embedded C", James Grenning likes and uses it. See appendix of the mentioned book for more.
我从事嵌入式产品已经有一段时间了,主要使用带有 ctags (etags) 和 cscope 的 emacs。我最近开始使用 SlickEdit,它工作得很好。不过,我个人建议您熟悉 Vim/Emacs,无论您喜欢什么编辑器。 emacs/vim 最好的一点是可以通过插件/无论你怎么称呼它来灵活地扩展功能。有许多第三方插件可用于扩展这些编辑器。当然,您需要投入一些时间来开始。
I have been working on embedded products for quite some time, mostly I use emacs with ctags (etags) and cscope. I have, of late, started using SlickEdit, it works just fine. However, I personally recommend you to get familiar with Vim/Emacs whatever editor you feel comfortable. The best thing about emacs/vim is that the flexibility to extend the functionality through plugin / whatever you call it. There are lot of third party plugins available to extend these editors. Of course, you need to invest some time to get started.
我目前正在使用 IAR 的 Workbench,它已经足够好了。我之前已经将 Eclipse 与 CDT 插件一起使用(并且可能会在某个时候再次使用),并且它的代码导航工作得很好。我不记得必须花太多功夫才能让它索引代码,但我使用的是 GCC(这可能是一个因素),并且我确实记得有时必须重新启动 Eclipse 和/或手动告诉它重新索引导航似乎有些困难。
然而,尽管 IAR 的 Workbench 对于大多数事情来说工作得足够好,但当我真的想要触手可及的良好代码导航时,我只需使用包含源代码树的 makefile 项目加载 Visual Studio。 makefile 命令只是调用 IAR 的命令行实用程序来执行构建。除了调试之外,这工作得非常好 - 我必须去 IAR Workbench 才能进行调试。当我处于调试模式时,更容易留在 IAR 中。但如果我要分析或削减代码,我会转向 VS。
因此基本上,您通常可以在大部分开发中使用您喜欢的任何 IDE,只要您的目标工具链提供由命令行驱动即可。
I'm currently using IAR's Workbench which is nice enough. I've used Eclipse with the CDT plug-in before (and probably will again at some point) and its code navigation worked just fine. I don't recall having to futz around too much to get it to index the code, but I was using GCC (which might be a factor) and I do recall having to restart Eclipse and/or manually tell it to reindex at times when it would seem to have some trouble navigating.
However, even though IAR's Workbench works well enough for most things, when I really want to have nice code navigation at my fingertips, I just load up Visual Studio with a makefile project that includes the source tree. The makefile commands simply call out to IAR's command line utilities to perform the build. This works fantastically well except for the debugging - I have to go to IAR Workbench for that. And when I'm in a debugging mode it's just easier to stay in IAR. But if I'm analyzing or cutting code, I'll move to VS for that.
So basically, you can generally use whatever IDE you prefer for much of your development as long as your toolchain for the target provides for being driven by the command line.
我使用 Microscope(Vex 平台)、EVC++ 和 Maemo 编译器+Nano 进行嵌入式编程。您请求的大多数其他工具通常可以在 IDE 之外找到。
但是,Netbeans 可以配置为编译非 Java 代码。它不仅不那么方便。如果您使用 C++ 进行开发,您也许可以更改所使用的编译器,并且可以轻松使用 C++ 插件。
I've used Microscope (Vex Platform), EVC++, and the Maemo compilers+Nano for embedded programming. Most of the other tools you request are often found outside the IDE.
However, Netbeans can be configured to compile non-Java code. Its not just not as convenient. If you are developping with C++ you might be able to change the compiler used and you would be able to use the C++ plugin with ease.
除非您是在设备上进行开发,否则为什么不直接使用您常用的 IDE?无论如何你都会交叉编译。
Unless you're developing on the device, why not just use the IDE you usually use? You're gonna be cross-compiling anyway.
如果您愿意在内置编译器和 SVN 支持上做出妥协,那么我会说 Source Insight 是最好的选择满足您所有其他要求的最佳工具。
If you are willing to compromise on in-built compiler and SVN support, then I would say Source Insight is the best tool for your all other requirement.