Embedded Linux - Programming and debugging. Where to start?

I have been scouring the net trying to find a clear definitive guide to getting started with embedded Linux. I have only found vague answers to my questions. I really am hoping that someone can give me some clear answers and advice.

I am used to programming microprocessors with an IDE and JTAG debugger. I really like all the benefits of developing with an IDE. The biggest advantage for me is being able to single step and view variables at run time.
Can I do this with a Linux based board? Everything I have read so far refers to terminals, make files etc. Programming and debugging this way can be time consuming especially when you are new to whole environment. I have been through this before.

I have seen some references to Eclipse that have the ability to set break points and single step but it wasn't clear how this worked. Can you literally single step your code on the target device and if so how exactly does it work?

I would like to buy a development kit with an ARM but I want to be sure that the kit is well documented, has sample code, is preloaded with Linux and will allow me to develop and debug with an IDE. I looked at the TS series from Technologic Systems. Is this a good choice for getting started?

Debugging and Getting Started

Balaji Ravindran's picture

Well, maybe some people might find it otherwise. Almost all developers(even for commercial purposes) use cscope and vi for for linux based development(Atleast i have seen a lot of them). Yes IDE based source code navigation/debugging is easier, and maybe the __visual__ itself presents more life for some people, but that is an individual choice.

To get started with embedded programming, yes TS series of boards are very good, __but__ mind that most of them __does not__ have JTAG debugging capability. the JTAG pins are there, but they are used for programming the onboard CPLD and is not connect to any processor chipset / flash, which means you cannot debug or burn the flash using a JTAG debugger.

But said that __TS__ series of boards(i have a TS-7200) are good ones to start with., you can hunt around for other boards as well.

Free Dummies Books
Continuous Engineering

Learn:

  • What continuous engineering is
  • How to continuously improve complex product designs
  • How to anticipate and respond to markets and clients
  • How to get the most out of your engineering resources

Get your free book now

Sponsored by IBM

Free Dummies Books
Service Virtualization

Learn to:

  • Define service virtualization
  • Select the most beneficial services to virtualize
  • Improve your traditional approach to testing
  • Deliver higher-quality software faster

Get your free book now

Sponsored by IBM