ABSTRACT

This chapter is divided into two parts. The first half deals with the Linux build environment. This includes:

Building the Linux kernel Building user-space applications Building the root file system Discussion of popular Integrated Development Environments (IDEs)

The second half of the chapter deals with debugging and profiling techniques in embedded Linux. This includes:

Memory profiling Kernel and application debugging Application and kernel profiling

Generally a traditional RTOS builds the kernel and applications together into a single image. It has no delineation between kernel and applications. Linux offers a completely different build paradigm. Recall that in Linux, each application has its own address space, which is in no way related to the kernel address space. As long as the proper header files and C library are used, any application can be built independently of the kernel. The result is that the kernel build and application build are totally disjoint.