This page has information about developing Embedded Linux, including links to toolchains, debuggers and other development tools. Also, it has links to pages with debugging tips.
- 1 Development Tools
- 2 Developer Resources
- 3 Embedded Linux Distributions
- 4 Wishlist Items
- see Logic_Analyzers
- see Toolchains
- Open On-Chip Debugger
- GDB - The GNU debugger
- DDD - Data Display Debugger
- kgdb - kernel source level debugger
- valgrind - memory, cache and other debuggers and profilers
- efence - Memory Debugger
Integrated Development Environments
- Eclipse - Powerfull IDE written in JAVA.
- jEdit - Editor written in JAVA which can be expanded to a full IDE with plug-ins.
- KDevelop - Standard IDE for KDE.
- Emacs - Powerful IDE, extensible in LISP, ships with modes to integrates with SCM (GIT, SVN, CVS...), build systems, debugger and even fancy multi-window with ECB.
- VIm - Powerful IDE, extensible with scripting, can use various modules for completion and more.
- KScope - Cscope based source editing environment with KDE.
- Anjuta - IDE with nice plugin support
- FIXTHIS - need more links for IDEs
Tracers and Profilers
Source Management Tools
There are a number of tools for managing patches, which are useful for different tasks. There's now a whole page devoted to this. See Source Management Tools
For some simple tools for managing patches, see Diff And Patch Tricks
- See Test Systems
mailing lists, web sites, etc.
Articles on kernel subsystems
- The TTY Demystified - excellent explanation of kernel tty system
- Device Trees - a structure used to describe system hardware at startup - can be passed or modified by firmware, or built into kernel
- Linux Device Drivers, 3rd edition - http://lwn.net/Kernel/LDD3/
- Papers from the Ottawa Linux Symposium - broken out - see http://kernel.org/doc/ols/
- Embedded Linux kernel and driver development - http://free-electrons.com/training/drivers
- Free Software tools for embedded systems - http://free-electrons.com/training/devtools
- Real time in embedded Linux systems - http://free-electrons.com/articles/realtime/
- Embedded Linux optimizations - http://free-electrons.com/articles/optimizations
- Audio in embedded Linux systems - http://free-electrons.com/training/audio
- Multimedia in embedded Linux systems - http://free-electrons.com/training/multimedia
- Embedded Linux From Scratch... in 40 minutes! - http://free-electrons.com/articles/elfs/
- Embedded Linux System Design and Development - by P. Raghavan, Amol Lad, and Sriram Neelakandan (Hardcover - Dec 21, 2005)
- This one looks quite good.
- Embedded Linux Primer: A Practical Real-World Approach - by Christopher Hallinan
- So does this one.
- Building Embedded Linux Systems - by Karim Yaghmour
- Be sure to get the second edition (from 2008). The first edition (from 2003) is outdated.
- Advanced Programming in the UNIX Environment, Second Edition by the late W. Richard Stevens and Stephen A. Rago
- Not embedded specific, but THE reference for Linux/Unix programming
- Linux System Programming - by Robert Love
- Good introduction to Linux system programming
- Essential Linux Device Drivers - by Sreekrishnan Venkateswaran
- Linux Device Drivers - by Christopher Jonathan Corbet, Alessandro Rubini, Greg Kroah-Hartman
- Linux Debugging and Performance Tuning - by Steve Best
- OMAP and DaVinci Software for Dummies - by Steve Blonstein, Alan Campbell, Texas Instruments
See also Category:Books
- ARM Processor Reference Manuals - Registration required, but it's free.
- go to http://infocenter.arm.com/ => ARM architecture => Reference Manuals => ... => registration link (only name, e-mail address and company name are strictly required).
- The UHAPI Forum standardizes hardware-independent application programming interfaces (APIs) for analog and digital televisions, set top boxes, DVD players and recorders, personal video recorders (PVRs), home servers and other consumer audio/video (A/V) devices.
- http://www.timesys.com/resources/podcast - a series of podcasts from timesys (on linux of course)
Code Style Tips
- This section is for good Code Styling Tips
- Extern_Vs_Static_Inline is a short explanation on the proper use of "inline" in kernel code.
GCC Tips and Tricks
- This section of GCC Tips is a collection of tips and tricks helpful for embedded developers
- Settings up a Bluetooth Network