summaryrefslogtreecommitdiff
path: root/application-devel
diff options
context:
space:
mode:
Diffstat (limited to 'application-devel')
-rw-r--r--application-devel/app-debugging/handout_app-debugging_de.tex70
-rw-r--r--application-devel/app-debugging/pres_app-debugging_de.tex26
-rw-r--r--application-devel/c++/pres_c++-c++98_11.tex2
-rw-r--r--application-devel/c++/pres_c++-stl.tex2
-rw-r--r--application-devel/c++/pres_c++-threads.tex2
-rw-r--r--application-devel/compile-tools/hints_compile-tools_de.tex2
-rw-r--r--application-devel/debugging-tools/pres_debugging-tools_de.tex36
-rw-r--r--application-devel/devel-best-practices/hints_devel-best-practices_de.tex6
-rw-r--r--application-devel/devel-environment/handout_devel-environment_de.tex96
-rw-r--r--application-devel/devel-scenarios/pres_devel_scenarios_de.tex2
-rw-r--r--application-devel/posix-ipc/pres_posix_ipc_de.tex22
11 files changed, 133 insertions, 133 deletions
diff --git a/application-devel/app-debugging/handout_app-debugging_de.tex b/application-devel/app-debugging/handout_app-debugging_de.tex
index b082790..dca0e76 100644
--- a/application-devel/app-debugging/handout_app-debugging_de.tex
+++ b/application-devel/app-debugging/handout_app-debugging_de.tex
@@ -10,11 +10,11 @@ des zu tracenden Programms wird einfach strace vorangestellt:
$ strace /bin/ls
execve("/bin/ls", ["/bin/ls"], [/* 50 vars */]) = 0
brk(0) = 0x2246000
-access("/etc/ld.so.nohwcap", F_OK) =
+access("/etc/ld.so.nohwcap", F_OK) =
-1 ENOENT (No such file or directory)
mmap(NULL, 8192, PROT_READ|PROT_WRITE,
MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f32457fe000
-access("/etc/ld.so.preload", R_OK) =
+access("/etc/ld.so.preload", R_OK) =
-1 ENOENT (No such file or directory)
open("/etc/ld.so.cache", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=110532, ...}) = 0
@@ -45,14 +45,14 @@ der für alle gängigen Prozessorarchitekturen verfügbar ist. GDB bietet ein
sehr mächtiges Commandlineinterface. Es existieren diverse grafische Frontends
für GDB (z.B. DDD). Eine einfache Debuggingsession stellt sich wie folgt dar:
\begin{lstlisting}[language=c]
- /* hello.c */
- #include <stdio.h>
-
- int main (void)
- {
- printf("Hello world\n");
- return 0;
- }
+ /* hello.c */
+ #include <stdio.h>
+
+ int main (void)
+ {
+ printf("Hello world\n");
+ return 0;
+ }
\end{lstlisting}
Übersetzen des Programms mit Debuginformationen:
\begin{lstlisting}
@@ -62,7 +62,7 @@ Starten der Debugsession:
\begin{lstlisting}
$ gdb ./hello
(gdb) run
-Starting program: /home/jan/work/examples/hello
+Starting program: /home/jan/work/examples/hello
Hello world
Program exited normally.
@@ -71,13 +71,13 @@ Mit dem Kommando ''list'' kann der zugehörige Quellcode angezeigt werden.
Breakpoints werden mit ''break'' gesetzt:
\begin{lstlisting}
(gdb) list
-1 #include <stdio.h>
-2
-3 int main (void)
-4 {
-5 printf("Hello world\n");
-6 return 0;
-7 }
+1 #include <stdio.h>
+2
+3 int main (void)
+4 {
+5 printf("Hello world\n");
+6 return 0;
+7 }
(gdb) break 5
Breakpoint 1 at 0x400528: file hello.c, line 5.
\end{lstlisting}
@@ -85,14 +85,14 @@ Mit ''next'' und ''step'' werden einzelne Codezeilen ausgeführt,
während ''next'' einem step-OVER und ''step'' einem step-IN entspricht:
\begin{lstlisting}
(gdb) run
-Starting program: /home/jan/work/examples/hello
+Starting program: /home/jan/work/examples/hello
Breakpoint 1, main () at hello.c:5
-5 printf("Hello world\n");
+5 printf("Hello world\n");
(gdb) next
Hello world
-6 return 0;
-(gdb) continue
+6 return 0;
+(gdb) continue
Continuing.
\end{lstlisting}
Folgende Tabelle zeigt eine Übersicht der wichtigsten GDB Kommandos:\\
@@ -162,14 +162,14 @@ können hier verwendet werden:
\end{center}
Folgendes Beispiel verdeutlicht die Analyse eines core-Files:
\begin{lstlisting}[language=c]
- /* segfault.c */
- #include <stdio.h>
-
- int main (void)
- {
- char *arthur_dent = NULL;
- printf("%c\n", *arthur_dent);
- return 0;
+ /* segfault.c */
+ #include <stdio.h>
+
+ int main (void)
+ {
+ char *arthur_dent = NULL;
+ printf("%c\n", *arthur_dent);
+ return 0;
}
\end{lstlisting}
Programm übersetzen:
@@ -197,7 +197,7 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `./segfault'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000400538 in main () at segfault.c:6
-6 printf("%c\n", *arthur_dent);
+6 printf("%c\n", *arthur_dent);
(gdb) bt
#0 0x0000000000400538 in main () at segfault.c:6
\end{lstlisting}
@@ -351,12 +351,12 @@ int main(void)
{
int *my_array = (int*) malloc(10 * sizeof(int));
int i = 0;
- memset(my_array, 0, 10);
+ memset(my_array, 0, 10);
for(i = 0; i < 11; i++)
printf("%d ", my_array[i]);
- printf("\n");
+ printf("\n");
return 0;
}
\end{lstlisting}
@@ -444,7 +444,7 @@ $ valgrind --leak-check=full ./mem_leak
=5764= Using Valgrind-3.6.0.SVN-Debian and LibVEX;
rerun with -h for copyright info
=5764= Command: ./mem_leak
-=5764=
+=5764=
=5764= HEAP SUMMARY:
=5764= in use at exit: 49 bytes in 49 blocks
=5764= total heap usage: 50 allocs, 1 frees,
@@ -453,7 +453,7 @@ $ valgrind --leak-check=full ./mem_leak
=5764= loss record 1 of 1
=5764= at 0x4C274A8: malloc (vg_replace_malloc.c:236)
=5764= by 0x40058D: main (mem_leak.c:10)
-=5764=
+=5764=
=5764= LEAK SUMMARY:
=5764= definitely lost: 49 bytes in 49 blocks
[...]
diff --git a/application-devel/app-debugging/pres_app-debugging_de.tex b/application-devel/app-debugging/pres_app-debugging_de.tex
index 29e0b9e..7b3a4cc 100644
--- a/application-devel/app-debugging/pres_app-debugging_de.tex
+++ b/application-devel/app-debugging/pres_app-debugging_de.tex
@@ -74,13 +74,13 @@ Program exited normally.
\frametitle{Wichtige GDB Kommandos}
\begin{verbatim}
(gdb) list
-1 #include <stdio.h>
-2
-3 int main (void)
-4 {
-5 printf("Hello world\n");
-6 return 0;
-7 }
+1 #include <stdio.h>
+2
+3 int main (void)
+4 {
+5 printf("Hello world\n");
+6 return 0;
+7 }
(gdb) break 5
Breakpoint 1 at 0x400528: file hello.c, line 5.
\end{verbatim}
@@ -93,10 +93,10 @@ Breakpoint 1 at 0x400528: file hello.c, line 5.
Starting program: /home/jan/work/examples/hello
Breakpoint 1, main () at hello.c:5
-5 printf("Hello world\n");
+5 printf("Hello world\n");
(gdb) next
Hello world
-6 return 0;
+6 return 0;
(gdb) continue
Continuing.
\end{verbatim}
@@ -173,8 +173,8 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `./hello_segfault'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000400538 in main () at hello_crash.c:6
-6 printf("Hello segfaulting world %s\n",
- *arthur_dent);
+6 printf("Hello segfaulting world %s\n",
+ *arthur_dent);
(gdb) bt
#0 0x0000000000400538 in main () at hello_crash.c:6
\end{lstlisting}
@@ -376,12 +376,12 @@ int main(void)
{
int *my_array = (int*) malloc(10 * sizeof(int));
int i = 0;
- memset(my_array, 0, 10 * sizeof(int));
+ memset(my_array, 0, 10 * sizeof(int));
for(i = 0; i < 11; i++)
printf("%d ", my_array[i]);
- printf("\n");
+ printf("\n");
return 0;
}
\end{lstlisting}
diff --git a/application-devel/c++/pres_c++-c++98_11.tex b/application-devel/c++/pres_c++-c++98_11.tex
index 93f44eb..6fc449e 100644
--- a/application-devel/c++/pres_c++-c++98_11.tex
+++ b/application-devel/c++/pres_c++-c++98_11.tex
@@ -11,7 +11,7 @@
\def\lximg{none}
%\begin{frame}
-% \tableofcontents
+%\tableofcontents
%\end{frame}
\subsubsection{C++98}
diff --git a/application-devel/c++/pres_c++-stl.tex b/application-devel/c++/pres_c++-stl.tex
index 6bb6fd6..bca5931 100644
--- a/application-devel/c++/pres_c++-stl.tex
+++ b/application-devel/c++/pres_c++-stl.tex
@@ -11,7 +11,7 @@
\def\lximg{none}
%\begin{frame}
-% \tableofcontents
+%\tableofcontents
%\end{frame}
\subsubsection{Standard Library Overview}
diff --git a/application-devel/c++/pres_c++-threads.tex b/application-devel/c++/pres_c++-threads.tex
index a46717a..bbd9c51 100644
--- a/application-devel/c++/pres_c++-threads.tex
+++ b/application-devel/c++/pres_c++-threads.tex
@@ -11,7 +11,7 @@
\def\lximg{none}
%\begin{frame}
-% \tableofcontents
+%\tableofcontents
%\end{frame}
\subsubsection{Threading}
diff --git a/application-devel/compile-tools/hints_compile-tools_de.tex b/application-devel/compile-tools/hints_compile-tools_de.tex
index 80cad60..51f3038 100644
--- a/application-devel/compile-tools/hints_compile-tools_de.tex
+++ b/application-devel/compile-tools/hints_compile-tools_de.tex
@@ -10,7 +10,7 @@
\begin{itemize}
\item Verstehen, was eine Toolchain ist
\item Verstehen der Unterschiede zwischen nativem Kompilieren und
- Cross-Compilieren
+ Cross-Compilieren
\item Kennenlernen von gcc, make, autotools
\end{itemize}
diff --git a/application-devel/debugging-tools/pres_debugging-tools_de.tex b/application-devel/debugging-tools/pres_debugging-tools_de.tex
index 8e5feac..a49d9ee 100644
--- a/application-devel/debugging-tools/pres_debugging-tools_de.tex
+++ b/application-devel/debugging-tools/pres_debugging-tools_de.tex
@@ -324,13 +324,13 @@ Program exited normally.
\frametitle{Wichtige GDB Kommandos}
\begin{verbatim}
(gdb) list
-1 #include <stdio.h>
-2
-3 int main (void)
-4 {
-5 printf("Hello world\n");
-6 return 0;
-7 }
+1 #include <stdio.h>
+2
+3 int main (void)
+4 {
+5 printf("Hello world\n");
+6 return 0;
+7 }
(gdb) break 5
Breakpoint 1 at 0x400528: file hello.c, line 5.
\end{verbatim}
@@ -343,10 +343,10 @@ Breakpoint 1 at 0x400528: file hello.c, line 5.
Starting program: /home/jan/work/examples/hello
Breakpoint 1, main () at hello.c:5
-5 printf("Hello world\n");
+5 printf("Hello world\n");
(gdb) next
Hello world
-6 return 0;
+6 return 0;
(gdb) continue
Continuing.
\end{verbatim}
@@ -427,8 +427,8 @@ Loaded symbols for /lib64/ld-linux-x86-64.so.2
Core was generated by `./hello_segfault'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000400538 in main () at hello_crash.c:6
-6 printf("Hello segfaulting world %s\n",
- *arthur_dent);
+6 printf("Hello segfaulting world %s\n",
+ *arthur_dent);
(gdb) bt
#0 0x0000000000400538 in main () at hello_crash.c:6
\end{lstlisting}
@@ -757,12 +757,12 @@ int main(void)
{
int *my_array = (int*) malloc(10 * sizeof(int));
int i = 0;
- memset(my_array, 0, 10 * sizeof(int));
+ memset(my_array, 0, 10 * sizeof(int));
for(i = 0; i < 11; i++)
printf("%d ", my_array[i]);
- printf("\n");
+ printf("\n");
return 0;
}
\end{lstlisting}
@@ -1236,7 +1236,7 @@ Hardware assisted breakpoint 1 at 0x20011c: file main.c, line 68.
(gdb) c
Continuing.
Breakpoint 1, main () at main.c:68
-68 hw_init();
+68 hw_init();
\end{verbatim}
\end{frame}
@@ -1247,14 +1247,14 @@ Breakpoint 1, main () at main.c:68
(gdb) c
Continuing.
Breakpoint 1, main () at main.c:68
-68 hw_init();
+68 hw_init();
(gdb) next
-83 load_nandflash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
+83 load_nandflash(IMG_ADDRESS, IMG_SIZE, JUMP_ADDR);
(gdb) next
-84 dbg_print(">NANDflash ready\r\n");
+84 dbg_print(">NANDflash ready\r\n");
(gdb) step
dbg_print (ptr=0x200e2c ">NANDflash ready\r\n") at driver/debug.c:90
-90 }
+90 }
\end{verbatim}
\end{frame}
diff --git a/application-devel/devel-best-practices/hints_devel-best-practices_de.tex b/application-devel/devel-best-practices/hints_devel-best-practices_de.tex
index 3f7a48f..298ead4 100644
--- a/application-devel/devel-best-practices/hints_devel-best-practices_de.tex
+++ b/application-devel/devel-best-practices/hints_devel-best-practices_de.tex
@@ -9,12 +9,12 @@
\subsection*{Lernziele}
\begin{itemize}
\item Kennenlernen gängiger Techniken (Versionskontrolle, Code-Review,
- Test-Skripte)
+ Test-Skripte)
\item Kennenlernen wichtiger Design-Grundsätze
\item Kennenlernen gängiger Probleme bezüglich Plattform-Unabhängigkeit
- (32/63-Bit, Endianness, Text- statt Binär-Dateien)
+ (32/63-Bit, Endianness, Text- statt Binär-Dateien)
\item Kennenlernen des Unix-Konzepts, Applikationen in mehrere Programme
- aufzuteilen. Trennung Commandline-Programme und GUI.
+ aufzuteilen. Trennung Commandline-Programme und GUI.
\end{itemize}
\subsection*{Unterrichts-Ablauf}
diff --git a/application-devel/devel-environment/handout_devel-environment_de.tex b/application-devel/devel-environment/handout_devel-environment_de.tex
index 1ac1b6f..5ffdcd5 100644
--- a/application-devel/devel-environment/handout_devel-environment_de.tex
+++ b/application-devel/devel-environment/handout_devel-environment_de.tex
@@ -133,12 +133,12 @@ M\"oglichkeit Plugins von so genannten 'update-sites' nach zu installieren.
Freie oder kommerzielle Eclipse Plugins gibt es f\"ur viele Aufgaben:
\begin{itemize}
- \item Versionskontrolle: cvs, git, svn, \dots
- \item Programmiersprachen: java, C, C++, Python, \dots
- \item Workflows: UML, Modelling, bugzilla, JIRA, Remote Target Management,
- \dots
- \item Frameworks: QT, CORBA, Eclipse Plugin Development, \dots
- \item \dots
+\item Versionskontrolle: cvs, git, svn, \dots
+\item Programmiersprachen: java, C, C++, Python, \dots
+\item Workflows: UML, Modelling, bugzilla, JIRA, Remote Target Management,
+\dots
+\item Frameworks: QT, CORBA, Eclipse Plugin Development, \dots
+\item \dots
\end{itemize}
Aus einer Zusammenstellung von Plugins entstehen die sogenannten 'Eclipse
@@ -147,19 +147,19 @@ erhaeltlich sind.
Freie Eclipse basierte IDEs:
\begin{itemize}
- \item Eclipse IDE for JAVA Developers (http://www.eclipse.org/downloads)
- \item Eclipse IDE for C++ Developers (http://www.eclipse.org/downloads)
- \item Eclipse Modeling Tools (http://www.eclipse.org/downloads)
- \item Pydev for Python Developers (http://pydev.sourceforge.net)
+\item Eclipse IDE for JAVA Developers (http://www.eclipse.org/downloads)
+\item Eclipse IDE for C++ Developers (http://www.eclipse.org/downloads)
+\item Eclipse Modeling Tools (http://www.eclipse.org/downloads)
+\item Pydev for Python Developers (http://pydev.sourceforge.net)
\end{itemize}
Kommerzielle Eclipse basierte IDEs:
\begin{itemize}
- \item Windriver Workbench (http://www.windriver.com/products/workbench)
- \item IBM Rational/Websphere Suites (http://www.ibm.com)
- \item Montavista DevRocket
- (http://www.mvista.com/product\_detail\_devrocket.php)
- \item SAP Netweaver (http://www.sap.com/platform/netweaver/index.epx)
+\item Windriver Workbench (http://www.windriver.com/products/workbench)
+\item IBM Rational/Websphere Suites (http://www.ibm.com)
+\item Montavista DevRocket
+ (http://www.mvista.com/product\_detail\_devrocket.php)
+\item SAP Netweaver (http://www.sap.com/platform/netweaver/index.epx)
\end{itemize}
Es besteht auch die M\"oglichkeit, sich eine Eclipse IDE selber zusammen zu
@@ -170,39 +170,39 @@ Die hier n\"ahers vorgestellte Eclispe basierte IDE wurde von Linutronix
speziell f\"ur die embedded Anwendungsentwicklung zusammengestellt und bietet
unterst\"utzung in folgenden Punkten:
\begin{itemize}
- \item Programmiersprachen:
- \begin{itemize}
- \item C
- \item C++
- \item JAVA / Open JDK 1.6
- \end{itemize}
- \item Versionskontrolle:
- \begin{itemize}
- \item Subversion
- \item CVS
- \item git
- \end{itemize}
- \item Profiling mit valgrind:
- \begin{itemize}
- \item memory leak detection
- \item heap analyzation
- \end{itemize}
- \item QT 4.5 Integration
- \item Remote Target Managment
- \begin{itemize}
- \item Target File Explorer
- \item Target Process Viewer
- \item Remote Debugging
- \item Target Monitoring
- \end{itemize}
- \item ARM Device Emulation
- \item Bugzilla Bugtracking Integration
- \item Modelierungswerkzeuge
- \begin{itemize}
- \item UML2
- \item Eclipse Modeling Framework
- \item Graphical Modeling Framework
- \end{itemize}
+\item Programmiersprachen:
+\begin{itemize}
+\item C
+\item C++
+\item JAVA / Open JDK 1.6
+\end{itemize}
+\item Versionskontrolle:
+\begin{itemize}
+\item Subversion
+\item CVS
+\item git
+\end{itemize}
+\item Profiling mit valgrind:
+\begin{itemize}
+\item memory leak detection
+\item heap analyzation
+\end{itemize}
+\item QT 4.5 Integration
+\item Remote Target Managment
+\begin{itemize}
+\item Target File Explorer
+\item Target Process Viewer
+\item Remote Debugging
+\item Target Monitoring
+\end{itemize}
+\item ARM Device Emulation
+\item Bugzilla Bugtracking Integration
+\item Modelierungswerkzeuge
+\begin{itemize}
+\item UML2
+\item Eclipse Modeling Framework
+\item Graphical Modeling Framework
+\end{itemize}
\end{itemize}
\paragraph{Bedienoberf\"ache}
diff --git a/application-devel/devel-scenarios/pres_devel_scenarios_de.tex b/application-devel/devel-scenarios/pres_devel_scenarios_de.tex
index 2033f5b..de01170 100644
--- a/application-devel/devel-scenarios/pres_devel_scenarios_de.tex
+++ b/application-devel/devel-scenarios/pres_devel_scenarios_de.tex
@@ -10,7 +10,7 @@
\def\lximg{none}
\begin{frame}
- \tableofcontents
+\tableofcontents
\end{frame}
\subsection{Enwicklungsszenarien}
diff --git a/application-devel/posix-ipc/pres_posix_ipc_de.tex b/application-devel/posix-ipc/pres_posix_ipc_de.tex
index 9174c17..3c15d8f 100644
--- a/application-devel/posix-ipc/pres_posix_ipc_de.tex
+++ b/application-devel/posix-ipc/pres_posix_ipc_de.tex
@@ -11,7 +11,7 @@
\def\lximg{none}
\begin{frame}
- \tableofcontents
+\tableofcontents
\end{frame}
\subsubsection{Message Queues}
@@ -308,17 +308,17 @@ int shm_unlink(const char *name);
fd = shm_open("my_shm", O_RDWR | O_CREAT, 0777);
if (fd < 0) {
- perror("Can't open Shared Memory\n");
- goto out;
+ perror("Can't open Shared Memory\n");
+ goto out;
}
if (ftruncate(fd, 4096) == -1) {
- perror("ltrunc\n");
- goto out;
+ perror("ltrunc\n");
+ goto out;
}
addr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (addr == MAP_FAILED) {
- perror("mmap() failed\n");
- goto out;
+ perror("mmap() failed\n");
+ goto out;
}
ret = 0;
*addr = 'A';
@@ -337,14 +337,14 @@ out:
fd = shm_open("my_shm", O_RDWR, 0777);
if (fd < 0) {
- perror("Can't open Shared Memory\n");
- goto out;
+ perror("Can't open Shared Memory\n");
+ goto out;
}
addr = mmap(0, 4096, PROT_READ | PROT_WRITE, MAP_SHARED, fd, 0);
if (addr == MAP_FAILED) {
- perror("mmap() failed\n");
- goto out;
+ perror("mmap() failed\n");
+ goto out;
}
printf("Reading from SHM -> %c\n", *addr);
ret = 0;