[NTLUG:Discuss] IDE for Linux? (embedded development)

Johnny Cybermyth djcybermyth at sbcglobal.net
Tue Oct 31 10:51:32 CST 2006


I would like to press this one a little bit...

I also am an embedded developer. At work, I use 8051 microcontrollers (8
bit) exclusively. My main experience is with the Keil uVision IDE and
the MPLAB IDE for PIC processors.  As a Linux user, I know that there
are a load of good IDE choices out there for writing and debugging any
language you would like, so naturally I wanted to use some of those
tools in my embedded development work.

After much digging I realized that there are few "natural fits" in the
IDE world for 8-16 bit embedded developers because of the need to debug
code on remote targets. All of the "IDEs" out there will let you
compile and fix syntax errors, but when it comes to debugging, you have
a harder battle. GDB, and thus DDD, are generally pointed to at the
solution, but what is assumed is that you know how to interface GDB with
your hardware. That is a big assumption.

In my limited experience, all USB debugging hardware is not supported
outside of windows. If your device has true JTAG support, you can get
into the realm of "wigglers" and other JTAG debugging hardware through a
parallel port. If you need a true In Circuit Emulator (ICE), you have to
debug on windows or do without true debugging (i.e. rely on toggling
extra I/O pins or sending messages to an LCD or serial port to tell you
what is happening inside the code).

Some people get really creative and somehow involve windows PC with
specific windows only hardware and interface that to gdb using TCP/IP or
something like that. As far as solutions go, that won't cut it.  It is a
clunky, patchwork replacement to true integrated tools that work in windows.

Last year, I went to the Silicon Valley Embedded Conference and asked
everyone out there from chip manufactures to third party tool vendors
about linux tools for programming 8-16 bit micros. No one knew of
anything that might be a Linux solution to such environments as Keil and
IAR offer. I even talked with people from the Eclipse Foundation, and
they recognized that hardware debugging was a missing component of
Eclipse and that someone was "looking in to". I found all of this a
little funny considering there was so much emphasis on Linux that year
in the higher embedded spaces 64 bit RTOS from companies like Windriver
and Greenhill.

At this point, I would like to hear from all of the embedded developers
on the list. What targets do you develop for, in Linux, and what tools
do you use to get to that target?

--Johnny

P.S.  Sorry about the novel.

Spicerun wrote:
> Kipton,
> 
> Hello fellow embedded programmer.
> 
> I know about a couple of IDE Suites:
> 
> If you want to program under a KDE/Qtlib , you can use KDevelop, that
>  should work with gdb.
> 
> Under Gnome/GTK+, there is Anjuta which also works with gdb.
> 
> The most popular editor so far that I've seen around seems to be the 
> Eclipse editor (Cross-platform).  I'm not counting the common editors
> on Linux like nano, vi(m), emacs, etc. even though a lot of people
> use those to edit as well.
> 
> Additionally, there is a graphical easy-to-use standalone frontend 
> for gdb called DDD.  It tends to work better than KDevelop and 
> Anjuta's built-in debugger interface, in my opinion.
> 
> And, hopefully, somewhere in 2009/2010, there will be my projects, 
> wxWorkshop and wxDevStudio which will be cross-platform (thanks to 
> the wxWidgets toolkit).  E-mail me for more details.
> 
> Check on http://www.freshmeat.net for other IDEs as well.
> 
> --Spicerun
> 
> =======================
> 
> Kipton Moravec wrote:
>> I normally program microcontrollers. We have a number of IDEs where
>>  I can edit programs, compile, and debug (single step, set 
>> breakpoints, look at memory blocks and variables.) One window has 
>> the source code, another has the assembler, another has variables I
>>  want to watch as I step through the code. I can break in 
>> interrupts, or wherever I want.
>> 
>> Is there such a thing for programming a Linux computer? What is it
>>  called? I like to program in C.
>> 
>> 
> 
> 
> _______________________________________________ 
> http://www.ntlug.org/mailman/listinfo/discuss
> 




More information about the Discuss mailing list