Difference between revisions of "Toolbox"
(→Books) |
(More emulators.) |
||
Line 27: | Line 27: | ||
== Emulators == | == Emulators == | ||
− | * [[Qemu| Qemu - hardware emulator]] | + | * [[Qemu| Qemu - hardware emulator]] - for everything (try this first) |
− | * [http://www.skyeye.org/ Skyeye] | + | * [http://www.skyeye.org/ Skyeye] - for ARM |
+ | * [http://aranym.org Aranym] - for M68K | ||
+ | * [http://www.hercules-390.org Hercules] - For S390 | ||
== Tracers and Profilers == | == Tracers and Profilers == |
Revision as of 09:55, 14 April 2010
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.
Development Tools
Logic Analyzers
- see Logic_Analyzers
Toolchains
- see Toolchains
Debuggers
- 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
Emulators
- Qemu - hardware emulator - for everything (try this first)
- Skyeye - for ARM
- Aranym - for M68K
- Hercules - For S390
Tracers and Profilers
- see Kernel Trace Systems
- see Profilers
Benchmarks
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
Test Systems
- See Test Systems
Developer Resources
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
Documentation
Online
- 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/
Books
- 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
Reference Material
- 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.
Podcasts
- 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.
Debugging Tips
- See the Kernel Debugging Tips page
- See also Debugging Makefiles
- Printk
GCC Tips and Tricks
- This section of GCC Tips is a collection of tips and tricks helpful for embedded developers
Network Setup
- Settings up a Bluetooth Network