summaryrefslogtreecommitdiffstats
path: root/documentation/adt-manual/adt-intro.xml
blob: 8740e5cf3e933e24279d2e0db4d99a7577659d24 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
"http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">

<chapter id='adt-intro'>

<title>Application Development Toolkit (ADT) User's Guide</title>

<para>
    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.
</para>

<section id='book-intro'>
    <title>Introducing the Application Development Toolkit (ADT)</title>
    <para>
        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.
    </para>
    <para>
        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.
    </para>
    <para>
        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.
    </para>
    
    <section id='the-cross-toolchain'>
        <title>The Cross-Toolchain</title>
        <para>
            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.
        </para>
    </section>

    <section id='sysroot'>
        <title>Sysroot</title>
        <para>
            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.
        </para>
    </section>

    <section id='the-qemu-emulator'>
        <title>The QEMU Emulator</title>
        <para>
            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.
        </para>
    </section>

    <section id='user-space-tools'>
        <title>User-Space Tools</title>
        <para>
            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.
        <itemizedlist>
            <listitem><para><emphasis>LatencyTOP</emphasis> – 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 
                <ulink url='http://www.latencytop.org/'></ulink>.
            </para></listitem>
            <listitem><para><emphasis>PowerTOP</emphasis> – Helps you determine what   
                software is using the most power.  
                You can find out more about PowerTOP at 
                <ulink url='http://www.linuxpowertop.org/'></ulink>.
            </para></listitem>
            <listitem><para><emphasis>OProfile</emphasis> – 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 
                <ulink url='http://oprofile.sourceforge.net/about/'></ulink>.
            </para></listitem>
            <listitem><para><emphasis>Perf</emphasis> – 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 
                <ulink url='https://perf.wiki.kernel.org/index.php'></ulink> and click 
                on “Perf tools.”
            </para></listitem>
            <listitem><para><emphasis>SystemTap</emphasis> – 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 <ulink url='http://sourceware.org/systemtap'></ulink> for more information 
                on SystemTap.
            </para></listitem>
            <listitem><para><emphasis>Lttng-ust</emphasis> – A User-space Tracer designed to 
                provide detailed information on user-space activity.  
                See <ulink url='http://lttng.org/ust'></ulink> for more information on Lttng-ust.
            </para></listitem>
        </itemizedlist>
        </para>
    </section>
</section>

</chapter>
<!--
vim: expandtab tw=80 ts=4
-->