\input{configpres} \subsection{ARM Cross Development} \title{\lq ARM Cross Development\rq} \maketitle \begin{frame} \frametitle{Übersicht} \tableofcontents \end{frame} \subsubsection{Cross Übersetzen} \begin{frame}[containsverbatim] \frametitle{Cross ''Hello world''} \begin{lstlisting}[language=c] /* cross_hello.c */ #include int main(void) { printf("Hello cross compiling world\n"); return 0; } \end{lstlisting} \end{frame} \begin{frame}[containsverbatim] \frametitle{Übersetzen für das Zielsystem} \begin{lstlisting}[language=bash] # Uebersetzen $ arm-none-linux-gnueabi-gcc -static \ -o cross_hello cross_hello.c \end{lstlisting} \begin{lstlisting}[language=bash] # Executable ueberpruefen $ file cross_hello cross_hello: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.14, not stripped \end{lstlisting} \end{frame} \subsubsection{Testing auf dem Host} \begin{frame} \frametitle{Qemu als Werkzeug zur Cross Entwicklung} \begin{alertblock}{Was ist Qemu?} Qemu ist eine sehr performante Emulations- und Virtualisierungsumgebung für alle gängigen CPU Architekturen. \end{alertblock} \end{frame} \begin{frame}[containsverbatim] \frametitle{Testen eines Executables mit der Qemu user emulation} \begin{lstlisting}[language=bash] $ ./cross_hello : ./cross_hello: cannot execute binary file $ qemu-arm ./cross_hello Hello cross compiling world \end{lstlisting} \end{frame} \input{tailpres}