diff options
-rw-r--r-- | documentation/dev-manual/dev-manual-newbie.xml | 115 |
1 files changed, 25 insertions, 90 deletions
diff --git a/documentation/dev-manual/dev-manual-newbie.xml b/documentation/dev-manual/dev-manual-newbie.xml index 4b11f403b0..0c849f59d3 100644 --- a/documentation/dev-manual/dev-manual-newbie.xml +++ b/documentation/dev-manual/dev-manual-newbie.xml | |||
@@ -566,105 +566,40 @@ | |||
566 | </para></listitem> | 566 | </para></listitem> |
567 | <listitem><para id='cross-development-toolchain'> | 567 | <listitem><para id='cross-development-toolchain'> |
568 | <emphasis>Cross-Development Toolchain:</emphasis> | 568 | <emphasis>Cross-Development Toolchain:</emphasis> |
569 | In general, a cross-development toolchain is a collection of | 569 | In general, a cross-development toolchain is a collection of |
570 | software development tools and utilities that run on one | 570 | software development tools and utilities that run on one |
571 | architecture and allow you to develop software for a | 571 | architecture and allow you to develop software for a |
572 | different, or targeted, architecture. | 572 | different, or targeted, architecture. |
573 | This toolchain contains cross-compilers, linkers, and debuggers | 573 | These toolchains contain cross-compilers, linkers, and |
574 | that are specific to the target architecture. | 574 | debuggers that are specific to the target architecture. |
575 | Sometimes this toolchain is referred to as the | 575 | </para> |
576 | meta-toolchain.</para> | 576 | |
577 | <para> | ||
578 | <para>The Yocto Project supports two different cross-development | 577 | <para>The Yocto Project supports two different cross-development |
579 | toolchains: | 578 | toolchains: |
580 | <itemizedlist> | 579 | <itemizedlist> |
581 | <listitem><para>A toolchain only used by and within | 580 | <listitem><para>A toolchain only used by and within |
582 | BitBake when building an image for a target | 581 | BitBake when building an image for a target |
583 | architecture.</para></listitem> | 582 | architecture.</para></listitem> |
584 | <listitem><para>A toolchain used outside of BitBake | 583 | <listitem><para>A relocatable toolchain used outside of |
585 | by developers when developing applications that | 584 | BitBake by developers when developing applications |
586 | will run on a targeted device. | 585 | that will run on a targeted device. |
586 | Sometimes this relocatable cross-development | ||
587 | toolchain is referred to as the meta-toolchain. | ||
587 | </para></listitem> | 588 | </para></listitem> |
588 | </itemizedlist> | 589 | </itemizedlist> |
589 | </para> | 590 | </para> |
590 | <para>You can use the OpenEmbedded build system to build an | 591 | |
591 | installer for the toolchain used to develop applications. | 592 | <para> |
592 | When you run the installer, it installs the toolchain, | 593 | Creation of these toolchains is simple and automated. |
593 | which contains the development tools you need to cross-compile | 594 | For information on toolchain concepts as they apply to the |
594 | and test your software. | 595 | Yocto Project, see the |
595 | If your target architecture is supported by the Yocto Project, | 596 | "<ulink url='&YOCTO_DOCS_REF_URL;#cross-development-toolchain-generation'>Cross-Development Toolchain Generation</ulink>" |
596 | you can take advantage of pre-built images that ship with the | 597 | section in the Yocto Project Reference Manual. |
597 | Yocto Project and already contain cross-development toolchain | 598 | You can also find more information on using the |
598 | installers. | 599 | relocatable toolchain in the |
599 | </para> | 600 | <ulink url='&YOCTO_DOCS_ADT_URL;'>Yocto Project |
600 | <para>Following are some toolchain recipes with brief | 601 | Application Developer's Guide</ulink>. |
601 | descriptions of each: | 602 | </para></listitem> |
602 | <itemizedlist> | ||
603 | <listitem><para><filename>gcc-cross-initial</filename>: | ||
604 | An early stage of the bootstrap process for creating | ||
605 | the cross-compiler used within BitBake. | ||
606 | This stage builds enough of the | ||
607 | <filename>gcc-cross</filename>, | ||
608 | the C library, and other pieces needed to | ||
609 | finish building the final cross-compiler in later | ||
610 | stages. | ||
611 | This tool is a "native" package (i.e. it is | ||
612 | designed to run on the build host). | ||
613 | </para></listitem> | ||
614 | <listitem><para><filename>gcc-cross</filename>: | ||
615 | The final stage of the bootstrap process for creating | ||
616 | the cross-compiler used within BitBake. | ||
617 | This stage results in the actual cross-compiler that | ||
618 | BitBake uses when it builds an image for a targeted | ||
619 | device. | ||
620 | <note> | ||
621 | If you are replacing this cross compiler toolchain | ||
622 | with a custom version, you must replace | ||
623 | <filename>gcc-cross</filename>. | ||
624 | </note> | ||
625 | This tool is also a "native" package (i.e. it is | ||
626 | designed to run on the build host). | ||
627 | </para></listitem> | ||
628 | <listitem><para><filename>gcc-runtime</filename>: | ||
629 | Runtime libraries from the toolchain bootstrapping | ||
630 | process. | ||
631 | This tool produces a binary that consists of the | ||
632 | runtime libraries need for the targeted device. | ||
633 | </para></listitem> | ||
634 | <listitem><para><filename>gcc-crosssdk-initial</filename>: | ||
635 | An early stage of the bootstrap process for creating | ||
636 | the cross-compiler that is external to BitBake | ||
637 | (i.e. the compiler used by application developers | ||
638 | to develop software that runs on the target device). | ||
639 | This stage builds enough of the | ||
640 | <filename>gcc-crosssdk</filename> and supporting | ||
641 | pieces so that the final stage of the bootstrap | ||
642 | process can produce the finished cross-compiler. | ||
643 | This tool is a "native" binary that runs on the build | ||
644 | host. | ||
645 | </para></listitem> | ||
646 | <listitem><para><filename>gcc-crosssdk</filename>: | ||
647 | The final stage of the bootstrap process for creating | ||
648 | the cross-compiler that is external to BitBake. | ||
649 | This tool is a "native" binary that runs on the build | ||
650 | host but generates code that runs on the machine used | ||
651 | for application development (i.e. the | ||
652 | <filename>SDKMACHINE</filename>). | ||
653 | Often the <filename>SDKMACHINE</filename> is not the | ||
654 | same machine as the host build machine. | ||
655 | </para></listitem> | ||
656 | <listitem><para><filename>gcc-cross-canadian</filename>: | ||
657 | A compiler built on one machine (build machine) that | ||
658 | runs on a different machine (host machine) and produces | ||
659 | software that runs on a third target machine. | ||
660 | See WikipediA's | ||
661 | <ulink url='http://en.wikipedia.org/wiki/Cross_compiler#Canadian_Cross'>Cross Compiler</ulink> | ||
662 | page for a more general explanation of a | ||
663 | "Canadian Cross". | ||
664 | This compiler is included with the SDK that builds | ||
665 | software for the eventual target. | ||
666 | This tool is a "nativesdk" package.</para></listitem> | ||
667 | </itemizedlist></para></listitem> | ||
668 | <listitem><para><emphasis>Image:</emphasis> An image is the result produced when | 603 | <listitem><para><emphasis>Image:</emphasis> An image is the result produced when |
669 | BitBake processes a given collection of recipes and related Metadata. | 604 | BitBake processes a given collection of recipes and related Metadata. |
670 | Images are the binary output that run on specific hardware or QEMU | 605 | Images are the binary output that run on specific hardware or QEMU |