diff options
Diffstat (limited to 'documentation/adt-manual/adt-intro.rst')
| -rw-r--r-- | documentation/adt-manual/adt-intro.rst | 136 |
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 | ***************************************** | ||
| 2 | The Application Development Toolkit (ADT) | ||
| 3 | ***************************************** | ||
| 4 | |||
| 5 | Part of the Yocto Project development solution is an Application | ||
| 6 | Development Toolkit (ADT). The ADT provides you with a custom-built, | ||
| 7 | cross-development platform suited for developing a user-targeted product | ||
| 8 | application. | ||
| 9 | |||
| 10 | Fundamentally, 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 | |||
| 26 | The Cross-Development Toolchain | ||
| 27 | =============================== | ||
| 28 | |||
| 29 | The `Cross-Development | ||
| 30 | Toolchain <&YOCTO_DOCS_DEV_URL;#cross-development-toolchain>`__ consists | ||
| 31 | of a cross-compiler, cross-linker, and cross-debugger that are used to | ||
| 32 | develop user-space applications for targeted hardware. This toolchain is | ||
| 33 | created either by running the ADT Installer script, a toolchain | ||
| 34 | installer script, or through a `Build | ||
| 35 | Directory <&YOCTO_DOCS_DEV_URL;#build-directory>`__ that is based on | ||
| 36 | your Metadata configuration or extension for your targeted device. The | ||
| 37 | cross-toolchain works with a matching target sysroot. | ||
| 38 | |||
| 39 | Sysroot | ||
| 40 | ======= | ||
| 41 | |||
| 42 | The matching target sysroot contains needed headers and libraries for | ||
| 43 | generating binaries that run on the target architecture. The sysroot is | ||
| 44 | based on the target root filesystem image that is built by the | ||
| 45 | OpenEmbedded build system and uses the same Metadata configuration used | ||
| 46 | to build the cross-toolchain. | ||
| 47 | |||
| 48 | .. _eclipse-overview: | ||
| 49 | |||
| 50 | Eclipse Yocto Plug-in | ||
| 51 | ===================== | ||
| 52 | |||
| 53 | The Eclipse IDE is a popular development environment and it fully | ||
| 54 | supports development using the Yocto Project. When you install and | ||
| 55 | configure the Eclipse Yocto Project Plug-in into the Eclipse IDE, you | ||
| 56 | maximize your Yocto Project experience. Installing and configuring the | ||
| 57 | Plug-in results in an environment that has extensions specifically | ||
| 58 | designed to let you more easily develop software. These extensions allow | ||
| 59 | for cross-compilation, deployment, and execution of your output into a | ||
| 60 | QEMU emulation session. You can also perform cross-debugging and | ||
| 61 | profiling. The environment also supports a suite of tools that allows | ||
| 62 | you to perform remote profiling, tracing, collection of power data, | ||
| 63 | collection of latency data, and collection of performance data. | ||
| 64 | |||
| 65 | For information about the application development workflow that uses the | ||
| 66 | Eclipse IDE and for a detailed example of how to install and configure | ||
| 67 | the Eclipse Yocto Project Plug-in, see the "`Working Within | ||
| 68 | Eclipse <&YOCTO_DOCS_DEV_URL;#adt-eclipse>`__" section of the Yocto | ||
| 69 | Project Development Manual. | ||
| 70 | |||
| 71 | The QEMU Emulator | ||
| 72 | ================= | ||
| 73 | |||
| 74 | The QEMU emulator allows you to simulate your hardware while running | ||
| 75 | your 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 | |||
| 94 | User-Space Tools | ||
| 95 | ================ | ||
| 96 | |||
| 97 | User-space tools are included as part of the Yocto Project. You will | ||
| 98 | find these tools helpful during development. The tools include | ||
| 99 | LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. These | ||
| 100 | tools 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. | ||
