# Application Development Toolkit (ADT) User's Guide

Welcome to the Application Development Toolkit User’s Guide. This manual provides information that lets you get going with the ADT to develop projects using the Yocto Project.

## Introducing the Application Development Toolkit (ADT)

Fundamentally, the ADT consists of an architecture-specific cross-toolchain and a matching sysroot that are both built by the Poky build system. The toolchain and sysroot are based on a metadata configuration and extensions, which allows you to cross develop for the target on the host machine.

Additionally, to provide an effective development platform, the Yocto Project makes available and suggests other tools as part of the ADT. These other tools include the Eclipse IDE Yocto Plug-in, an emulator (QEMU), and various user-space tools that greatly enhance your development experience.

The resulting combination of the architecture-specific cross-toolchain and sysroot along with these additional tools yields a custom-built, cross-development platform for a user-targeted product.

### The Cross-Toolchain

The cross-toolchain consists of a cross-compiler, cross-linker, and cross-debugger that are all generated through a Poky build that is based on your metadata configuration or extension for your targeted device. The cross-toolchain works with a matching target sysroot.

### Sysroot

The matching target sysroot contains needed headers and libraries for generating binaries that run on the target architecture. The sysroot is based on the target root filesystem image that is built by Poky and uses the same metadata configuration used to build the cross-toolchain.

### The QEMU Emulator

The QEMU emulator allows you to simulate your hardware while running your application or image. QEMU is installed several ways: as part of the Poky tree, ADT installation through a toolchain tarball, or through the ADT Installer.

### User-Space Tools

User-space tools are included as part of the distribution. You will find these tools helpful during development. The tools include LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. These tools are common development tools for the Linux platform.

- LatencyTOP – LatencyTOP focuses on latency that causes skips in audio, stutters in your desktop experience, or situations that overload your server even when you have plenty of CPU power left. You can find out more about LatencyTOP at .

- PowerTOP – Helps you determine what software is using the most power. You can find out more about PowerTOP at .

- OProfile – A system-wide profiler for Linux systems that is capable of profiling all running code at low overhead. You can find out more about OProfile at .

- Perf – Performance counters for Linux used to keep track of certain types of hardware and software events. For more information on these types of counters see and click on “Perf tools.”

- SystemTap – A free software infrastructure that simplifies information gathering about a running Linux system. This information helps you diagnose performance or functional problems. SystemTap is not available as a user-space tool through the Yocto Eclipse IDE Plug-in. See for more information on SystemTap.

- Lttng-ust – A User-space Tracer designed to provide detailed information on user-space activity. See for more information on Lttng-ust.