diff options
author | Nicolas Dechesne <nicolas.dechesne@linaro.org> | 2020-11-20 20:17:33 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2021-01-04 10:55:00 +0000 |
commit | fa0cb4d34b1073f215fa3c680f2316208739d53d (patch) | |
tree | ba89c1f4289fd6456af4409a6a19caf6548dfb9c /documentation/adt-manual/adt-intro.rst | |
parent | a038e58f3cd82c56102444bdc5ac76c9f1550a0d (diff) | |
download | poky-fa0cb4d34b1073f215fa3c680f2316208739d53d.tar.gz |
sphinx: import docs
The Yocto Project docs was migrated from Docbook to Sphinx in YP
3.2. This 3.1 is an LTS release, and since 3.1 docs are 'close to'
the docs in 3.2, we agreed to backport sphinx docs onto 3.1.
This first patch brings all changes done in 3.2 until:
7f64574f7 README: include detailed information about sphinx
There are other changes after this commit, but they will be
selectively backported in individual patches.
This patch was generated with the following command:
git cherry-pick -n \
$(git log --reverse --oneline \
ac352ad7f95db7eeacb53c2778caa31800bd7c26..7f64574f7 \
| cut -f1 -d' ')
The following commits were applies in the dunfell docs, but not in
master, so they were first reverted (and squashed into this change). A
commit will reintroduce the content from these patches in the Sphinx
files in a followup patch.
069c27574 Documenation: Prepared for the 3.1.1 release
bd140f0f9 Documentation: Add 3.1.1 version updates missing from previous commit
17cc71a8f Documenation: Prepared for the 3.1.2 release
1a69e2c02 Documenation: Prepared for the 3.1.3 release
8910ac1c7 Documenation: Prepared for the 3.1.4 release
(From yocto-docs rev: c25fe058b88b893b0d146f3ed27320b47cdec236)
Signed-off-by: Nicolas Dechesne <nicolas.dechesne@linaro.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'documentation/adt-manual/adt-intro.rst')
-rw-r--r-- | documentation/adt-manual/adt-intro.rst | 138 |
1 files changed, 138 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..5372f4f54f --- /dev/null +++ b/documentation/adt-manual/adt-intro.rst | |||
@@ -0,0 +1,138 @@ | |||
1 | .. SPDX-License-Identifier: CC-BY-2.0-UK | ||
2 | |||
3 | ***************************************** | ||
4 | The Application Development Toolkit (ADT) | ||
5 | ***************************************** | ||
6 | |||
7 | Part of the Yocto Project development solution is an Application | ||
8 | Development Toolkit (ADT). The ADT provides you with a custom-built, | ||
9 | cross-development platform suited for developing a user-targeted product | ||
10 | application. | ||
11 | |||
12 | Fundamentally, the ADT consists of the following: | ||
13 | |||
14 | - An architecture-specific cross-toolchain and matching sysroot both | ||
15 | built by the :term:`OpenEmbedded Build System`. | ||
16 | The toolchain and | ||
17 | sysroot are based on a `Metadata <&YOCTO_DOCS_DEV_URL;#metadata>`__ | ||
18 | configuration and extensions, which allows you to cross-develop on | ||
19 | the host machine for the target hardware. | ||
20 | |||
21 | - The Eclipse IDE Yocto Plug-in. | ||
22 | |||
23 | - The Quick EMUlator (QEMU), which lets you simulate target hardware. | ||
24 | |||
25 | - Various user-space tools that greatly enhance your application | ||
26 | development experience. | ||
27 | |||
28 | The Cross-Development Toolchain | ||
29 | =============================== | ||
30 | |||
31 | The `Cross-Development | ||
32 | Toolchain <&YOCTO_DOCS_DEV_URL;#cross-development-toolchain>`__ consists | ||
33 | of a cross-compiler, cross-linker, and cross-debugger that are used to | ||
34 | develop user-space applications for targeted hardware. This toolchain is | ||
35 | created either by running the ADT Installer script, a toolchain | ||
36 | installer script, or through a :term:`Build Directory` | ||
37 | that is based on | ||
38 | your Metadata configuration or extension for your targeted device. The | ||
39 | cross-toolchain works with a matching target sysroot. | ||
40 | |||
41 | Sysroot | ||
42 | ======= | ||
43 | |||
44 | The matching target sysroot contains needed headers and libraries for | ||
45 | generating binaries that run on the target architecture. The sysroot is | ||
46 | based on the target root filesystem image that is built by the | ||
47 | OpenEmbedded build system and uses the same Metadata configuration used | ||
48 | to build the cross-toolchain. | ||
49 | |||
50 | .. _eclipse-overview: | ||
51 | |||
52 | Eclipse Yocto Plug-in | ||
53 | ===================== | ||
54 | |||
55 | The Eclipse IDE is a popular development environment and it fully | ||
56 | supports development using the Yocto Project. When you install and | ||
57 | configure the Eclipse Yocto Project Plug-in into the Eclipse IDE, you | ||
58 | maximize your Yocto Project experience. Installing and configuring the | ||
59 | Plug-in results in an environment that has extensions specifically | ||
60 | designed to let you more easily develop software. These extensions allow | ||
61 | for cross-compilation, deployment, and execution of your output into a | ||
62 | QEMU emulation session. You can also perform cross-debugging and | ||
63 | profiling. The environment also supports a suite of tools that allows | ||
64 | you to perform remote profiling, tracing, collection of power data, | ||
65 | collection of latency data, and collection of performance data. | ||
66 | |||
67 | For information about the application development workflow that uses the | ||
68 | Eclipse IDE and for a detailed example of how to install and configure | ||
69 | the Eclipse Yocto Project Plug-in, see the "`Working Within | ||
70 | Eclipse <&YOCTO_DOCS_DEV_URL;#adt-eclipse>`__" section of the Yocto | ||
71 | Project Development Manual. | ||
72 | |||
73 | The QEMU Emulator | ||
74 | ================= | ||
75 | |||
76 | The QEMU emulator allows you to simulate your hardware while running | ||
77 | your application or image. QEMU is made available a number of ways: | ||
78 | |||
79 | - If you use the ADT Installer script to install ADT, you can specify | ||
80 | whether or not to install QEMU. | ||
81 | |||
82 | - If you have cloned the ``poky`` Git repository to create a | ||
83 | :term:`Source Directory` and you have | ||
84 | sourced the environment setup script, QEMU is installed and | ||
85 | automatically available. | ||
86 | |||
87 | - If you have downloaded a Yocto Project release and unpacked it to | ||
88 | create a :term:`Source Directory` | ||
89 | and you have sourced the environment setup script, QEMU is installed | ||
90 | and automatically available. | ||
91 | |||
92 | - If you have installed the cross-toolchain tarball and you have | ||
93 | sourced the toolchain's setup environment script, QEMU is also | ||
94 | installed and automatically available. | ||
95 | |||
96 | User-Space Tools | ||
97 | ================ | ||
98 | |||
99 | User-space tools are included as part of the Yocto Project. You will | ||
100 | find these tools helpful during development. The tools include | ||
101 | LatencyTOP, PowerTOP, OProfile, Perf, SystemTap, and Lttng-ust. These | ||
102 | tools are common development tools for the Linux platform. | ||
103 | |||
104 | - *LatencyTOP:* LatencyTOP focuses on latency that causes skips in | ||
105 | audio, stutters in your desktop experience, or situations that | ||
106 | overload your server even when you have plenty of CPU power left. | ||
107 | |||
108 | - *PowerTOP:* Helps you determine what software is using the most | ||
109 | power. You can find out more about PowerTOP at | ||
110 | https://01.org/powertop/. | ||
111 | |||
112 | - *OProfile:* A system-wide profiler for Linux systems that is capable | ||
113 | of profiling all running code at low overhead. You can find out more | ||
114 | about OProfile at http://oprofile.sourceforge.net/about/. For | ||
115 | examples on how to setup and use this tool, see the | ||
116 | "`OProfile <&YOCTO_DOCS_PROF_URL;#profile-manual-oprofile>`__" | ||
117 | section in the Yocto Project Profiling and Tracing Manual. | ||
118 | |||
119 | - *Perf:* Performance counters for Linux used to keep track of certain | ||
120 | types of hardware and software events. For more information on these | ||
121 | types of counters see https://perf.wiki.kernel.org/. For | ||
122 | examples on how to setup and use this tool, see the | ||
123 | "`perf <&YOCTO_DOCS_PROF_URL;#profile-manual-perf>`__" section in the | ||
124 | Yocto Project Profiling and Tracing Manual. | ||
125 | |||
126 | - *SystemTap:* A free software infrastructure that simplifies | ||
127 | information gathering about a running Linux system. This information | ||
128 | helps you diagnose performance or functional problems. SystemTap is | ||
129 | not available as a user-space tool through the Eclipse IDE Yocto | ||
130 | Plug-in. See http://sourceware.org/systemtap for more | ||
131 | information on SystemTap. For examples on how to setup and use this | ||
132 | tool, see the | ||
133 | "`SystemTap <&YOCTO_DOCS_PROF_URL;#profile-manual-systemtap>`__" | ||
134 | section in the Yocto Project Profiling and Tracing Manual. | ||
135 | |||
136 | - *Lttng-ust:* A User-space Tracer designed to provide detailed | ||
137 | information on user-space activity. See http://lttng.org/ust | ||
138 | for more information on Lttng-ust. | ||