summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-intro.rst
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/adt-manual/adt-intro.rst')
-rw-r--r--documentation/adt-manual/adt-intro.rst136
1 files changed, 136 insertions, 0 deletions
diff --git a/documentation/adt-manual/adt-intro.rst b/documentation/adt-manual/adt-intro.rst
new file mode 100644
index 0000000000..4e44afacbe
--- /dev/null
+++ b/documentation/adt-manual/adt-intro.rst
@@ -0,0 +1,136 @@
1*****************************************
2The Application Development Toolkit (ADT)
3*****************************************
4
5Part of the Yocto Project development solution is an Application
6Development Toolkit (ADT). The ADT provides you with a custom-built,
7cross-development platform suited for developing a user-targeted product
8application.
9
10Fundamentally, the ADT consists of the following:
11
12- An architecture-specific cross-toolchain and matching sysroot both
13 built by the `OpenEmbedded build
14 system <&YOCTO_DOCS_DEV_URL;#build-system-term>`__. The toolchain and
15 sysroot are based on a `Metadata <&YOCTO_DOCS_DEV_URL;#metadata>`__
16 configuration and extensions, which allows you to cross-develop on
17 the host machine for the target hardware.
18
19- The Eclipse IDE Yocto Plug-in.
20
21- The Quick EMUlator (QEMU), which lets you simulate target hardware.
22
23- Various user-space tools that greatly enhance your application
24 development experience.
25
26The Cross-Development Toolchain
27===============================
28
29The `Cross-Development
30Toolchain <&YOCTO_DOCS_DEV_URL;#cross-development-toolchain>`__ consists
31of a cross-compiler, cross-linker, and cross-debugger that are used to
32develop user-space applications for targeted hardware. This toolchain is
33created either by running the ADT Installer script, a toolchain
34installer script, or through a `Build
35Directory <&YOCTO_DOCS_DEV_URL;#build-directory>`__ that is based on
36your Metadata configuration or extension for your targeted device. The
37cross-toolchain works with a matching target sysroot.
38
39Sysroot
40=======
41
42The matching target sysroot contains needed headers and libraries for
43generating binaries that run on the target architecture. The sysroot is
44based on the target root filesystem image that is built by the
45OpenEmbedded build system and uses the same Metadata configuration used
46to build the cross-toolchain.
47
48.. _eclipse-overview:
49
50Eclipse Yocto Plug-in
51=====================
52
53The Eclipse IDE is a popular development environment and it fully
54supports development using the Yocto Project. When you install and
55configure the Eclipse Yocto Project Plug-in into the Eclipse IDE, you
56maximize your Yocto Project experience. Installing and configuring the
57Plug-in results in an environment that has extensions specifically
58designed to let you more easily develop software. These extensions allow
59for cross-compilation, deployment, and execution of your output into a
60QEMU emulation session. You can also perform cross-debugging and
61profiling. The environment also supports a suite of tools that allows
62you to perform remote profiling, tracing, collection of power data,
63collection of latency data, and collection of performance data.
64
65For information about the application development workflow that uses the
66Eclipse IDE and for a detailed example of how to install and configure
67the Eclipse Yocto Project Plug-in, see the "`Working Within
68Eclipse <&YOCTO_DOCS_DEV_URL;#adt-eclipse>`__" section of the Yocto
69Project Development Manual.
70
71The QEMU Emulator
72=================
73
74The QEMU emulator allows you to simulate your hardware while running
75your application or image. QEMU is made available a number of ways:
76
77- If you use the ADT Installer script to install ADT, you can specify
78 whether or not to install QEMU.
79
80- If you have cloned the ``poky`` Git repository to create a `Source
81 Directory <&YOCTO_DOCS_DEV_URL;#source-directory>`__ and you have
82 sourced the environment setup script, QEMU is installed and
83 automatically available.
84
85- If you have downloaded a Yocto Project release and unpacked it to
86 create a `Source Directory <&YOCTO_DOCS_DEV_URL;#source-directory>`__
87 and you have sourced the environment setup script, QEMU is installed
88 and automatically available.
89
90- If you have installed the cross-toolchain tarball and you have
91 sourced the toolchain's setup environment script, QEMU is also
92 installed and automatically available.
93
94User-Space Tools
95================
96
97User-space tools are included as part of the Yocto Project. You will
98find these tools helpful during development. The tools include
99LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. These
100tools are common development tools for the Linux platform.
101
102- *LatencyTOP:* LatencyTOP focuses on latency that causes skips in
103 audio, stutters in your desktop experience, or situations that
104 overload your server even when you have plenty of CPU power left.
105
106- *PowerTOP:* Helps you determine what software is using the most
107 power. You can find out more about PowerTOP at
108 ` <https://01.org/powertop/>`__.
109
110- *OProfile:* A system-wide profiler for Linux systems that is capable
111 of profiling all running code at low overhead. You can find out more
112 about OProfile at ` <http://oprofile.sourceforge.net/about/>`__. For
113 examples on how to setup and use this tool, see the
114 "`OProfile <&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile>`__"
115 section in the Yocto Project Profiling and Tracing Manual.
116
117- *Perf:* Performance counters for Linux used to keep track of certain
118 types of hardware and software events. For more information on these
119 types of counters see ` <https://perf.wiki.kernel.org/>`__. For
120 examples on how to setup and use this tool, see the
121 "`perf <&YOCTO_DOCS_PROF_URL;#profile-manual-perf>`__" section in the
122 Yocto Project Profiling and Tracing Manual.
123
124- *SystemTap:* A free software infrastructure that simplifies
125 information gathering about a running Linux system. This information
126 helps you diagnose performance or functional problems. SystemTap is
127 not available as a user-space tool through the Eclipse IDE Yocto
128 Plug-in. See ` <http://sourceware.org/systemtap>`__ for more
129 information on SystemTap. For examples on how to setup and use this
130 tool, see the
131 "`SystemTap <&YOCTO_DOCS_PROF_URL;#profile-manual-systemtap>`__"
132 section in the Yocto Project Profiling and Tracing Manual.
133
134- *Lttng-ust:* A User-space Tracer designed to provide detailed
135 information on user-space activity. See ` <http://lttng.org/ust>`__
136 for more information on Lttng-ust.