tags:

views:

487

answers:

9

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?

A: 

Unless you're developing on the device, why not just use the IDE you usually use? You're gonna be cross-compiling anyway.

wiredog
+3  A: 

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.

bua
+4  A: 

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).

Johan
+1  A: 

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.

Siva
For tagging => ctags, Vim/Emacs already have support code completion. Emacs has SVN support, I believe, Vim should also have.
Siva
A: 
  • I used vim especially working with Linux/unix systems with cscope (for source cross-reference). Vim is nifty with latest versions supporting code-completion. Lot of plugins available.
  • Emacs is a power-horse, lot of customizing support.It support CVS/Clearcase AFAIK.
subbul
+2  A: 

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.

Clifford
A: 

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.

Chintan
A: 

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.

Michael Burr
A: 

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.

monksy