[FE training-materials-updates] Embedded Linux slides: update toolchains

Michael Opdenacker michael.opdenacker at free-electrons.com
Sun Nov 8 15:11:21 CET 2015


Repository : git://git.free-electrons.com/training-materials.git
On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=e040a6313d1deeff3e329939953ce093437aad26

>---------------------------------------------------------------

commit e040a6313d1deeff3e329939953ce093437aad26
Author: Michael Opdenacker <michael.opdenacker at free-electrons.com>
Date:   Sun Nov 8 15:11:21 2015 +0100

    Embedded Linux slides: update toolchains
    
    - Linaro toolchains removed, not released in a predictable way,
      lots of pages out of date
    - CodeSourcery reduced
    - Reference to page on elinux.org removed, way too obsolete
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at free-electrons.com>


>---------------------------------------------------------------

e040a6313d1deeff3e329939953ce093437aad26
 slides/sysdev-intro/sysdev-intro.tex               |  24 +++----
 slides/sysdev-toolchains-obtaining/linaro.png      | Bin 5296 -> 0 bytes
 .../sysdev-toolchains-obtaining.tex                |  78 +++------------------
 3 files changed, 21 insertions(+), 81 deletions(-)

diff --git a/slides/sysdev-intro/sysdev-intro.tex b/slides/sysdev-intro/sysdev-intro.tex
index be80169..50083a5 100644
--- a/slides/sysdev-intro/sysdev-intro.tex
+++ b/slides/sysdev-intro/sysdev-intro.tex
@@ -203,20 +203,18 @@
 
 \begin{frame}
   \frametitle{Processor and architecture (1)}
+  The Linux kernel and most other architecture-dependent
+  components support a wide range of 32 and 64 bits architectures
   \begin{itemize}
-  \item The Linux kernel and most other architecture-dependent
-      components support a wide range of 32 and 64 bits architectures
-    \begin{itemize}
-    \item x86 and x86-64, as found on PC platforms, but also embedded systems
-      (multimedia, industrial)
-    \item ARM, with hundreds of different SoC (multimedia, industrial)
-    \item PowerPC (mainly real-time, industrial applications)
-    \item MIPS (mainly networking applications)
-    \item SuperH (mainly set top box and multimedia applications)
-    \item Blackfin (DSP architecture)
-    \item Microblaze (soft-core for Xilinx FPGA)
-    \item Coldfire, SCore, Tile, Xtensa, Cris, FRV, AVR32, M32R
-    \end{itemize}
+  \item x86 and x86-64, as found on PC platforms, but also embedded systems
+    (multimedia, industrial)
+  \item ARM, with hundreds of different SoC (multimedia, industrial)
+  \item PowerPC (mainly real-time, industrial applications)
+  \item MIPS (mainly networking applications)
+  \item SuperH (mainly set top box and multimedia applications)
+  \item Blackfin (DSP architecture)
+  \item Microblaze (soft-core for Xilinx FPGA)
+  \item Coldfire, SCore, Tile, Xtensa, Cris, FRV, AVR32, M32R
   \end{itemize}
 \end{frame}
 
diff --git a/slides/sysdev-toolchains-obtaining/linaro.png b/slides/sysdev-toolchains-obtaining/linaro.png
deleted file mode 100644
index 0f7f553..0000000
Binary files a/slides/sysdev-toolchains-obtaining/linaro.png and /dev/null differ
diff --git a/slides/sysdev-toolchains-obtaining/sysdev-toolchains-obtaining.tex b/slides/sysdev-toolchains-obtaining/sysdev-toolchains-obtaining.tex
index bfd39da..62c1beb 100644
--- a/slides/sysdev-toolchains-obtaining/sysdev-toolchains-obtaining.tex
+++ b/slides/sysdev-toolchains-obtaining/sysdev-toolchains-obtaining.tex
@@ -27,81 +27,23 @@
     \item Advantage: it is the simplest and most convenient solution
     \item Drawback: you can't fine tune the toolchain to your needs
     \end{itemize}
-  \item Determine what toolchain you need: CPU, endianness, C library, component
-    versions, ABI, soft float or hard float, etc.
-  \item Check whether the available toolchains match your requirements.
+  \item Make sure the toolchain you find meets your requirements:
+    CPU, endianness, C library, component versions, ABI, soft float
+    or hard float, etc.
   \item Possible choices
     \begin{itemize}
-    \item Sourcery CodeBench toolchains
-    \item Linaro toolchains
     \item Toolchains packaged by your distribution\\
-	  Ubuntu example: \code{sudo apt-get install gcc-arm-linux-gnueabi}
-    \item More references at \url{http://elinux.org/Toolchains}
+	  Ubuntu examples:\\
+	  \code{sudo apt-get install gcc-arm-linux-gnueabi}\\
+	  \code{sudo apt-get install gcc-arm-linux-gnueabihf}
+    \item Sourcery CodeBench toolchains, now only supporting MIPS,
+	  NIOS-II, AMD64, Hexagon. Old versions with ARM support still
+	  available through build systems (Buildroot...)
     \end{itemize}
   \end{itemize}
 \end{frame}
 
 \begin{frame}
-  \frametitle{Sourcery CodeBench}
-  \begin{itemize}
-  \item {\em CodeSourcery} was a company with extended expertise
-    on free software toolchains. It has been bought by
-    {\em Mentor Graphics}.
-  \item They sell toolchains with support, but also provide a
-    ”{\em Lite}” version, that is free and usable for commercial
-    products
-  \item They have toolchains available for
-    \begin{itemize}
-    \item MIPS
-    \item NIOS-II
-    \item AMD64
-    \item Hexagon
-    \end{itemize}
-  \item They stopped support for ARM, PowerPC, SuperH, x86!
-  \item Be sure to use the GNU/Linux versions. The EABI versions are
-    for bare-metal development (no operating system)
-  \end{itemize}
-  {\small
-\url{http://mentor.com/embedded-software/sourcery-tools/sourcery-codebench/editions/lite-edition/}}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Linaro toolchains}
-  \begin{columns}
-    \column{0.9\textwidth}
-    \begin{itemize}
-    \item Linaro contributes to improving mainline gcc on ARM, in
-      particular by hiring CodeSourcery developers.
-    \item For people who can't wait for the next releases of gcc, Linaro
-      releases modified sources of stable releases of gcc, with these
-      optimizations for ARM (mainly for recent Cortex A CPUs).
-    \item As any gcc release, these sources can be used by build tools
-      to build their own binary toolchains (Buildroot, OpenEmbedded...).
-      This allows to support glibc, uClibc and eglibc.
-    \item \small\url{https://wiki.linaro.org/WorkingGroups/ToolChain}\normalsize
-    \end{itemize}
-    \column{0.1\textwidth}
-    \includegraphics[width=\textwidth]{slides/sysdev-toolchains-obtaining/linaro.png}
-  \end{columns}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Installing and using a pre-compiled toolchain}
-  \begin{itemize}
-  \item Follow the installation procedure proposed by the vendor
-  \item Usually, it is simply a matter of extracting a tarball
-        wherever you want.
-  \item Then, add the path to toolchain binaries in your \code{PATH}:\\
-    \code{export PATH=/path/to/toolchain/bin/:$PATH}
-  \item Finally, compile your applications\\
-    \code{PREFIX-gcc -o foobar foobar.c}
-  \item \code{PREFIX} depends on the toolchain configuration, and
-    allows to distinguish cross-compilation tools from native
-    compilation utilities
-  \end{itemize}
-\end{frame}
-
-\begin{frame}
   \frametitle{Toolchain building utilities}
   Another solution is to use utilities that {\bf automate the process of
   building the toolchain}
@@ -194,7 +136,7 @@ make install
   \begin{itemize}
   \item The cross compilation tool binaries, in \code{bin/}
     \begin{itemize}
-    \item This directory can be added to your \code{PATH} to ease
+    \item This directory should be added to your \code{PATH} to ease
       usage of the toolchain
     \end{itemize}
   \item One or several {\em sysroot}, each containing




More information about the training-materials-updates mailing list