[bootlin/training-materials updates] master: Embedded Linux: misc improvements (328b33d3)
Michael Opdenacker
michael.opdenacker at bootlin.com
Tue Mar 16 13:59:49 CET 2021
Repository : https://github.com/bootlin/training-materials
On branch : master
Link : https://github.com/bootlin/training-materials/commit/328b33d3edbeb244aac11b1ab73ce5b22046c321
>---------------------------------------------------------------
commit 328b33d3edbeb244aac11b1ab73ce5b22046c321
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date: Tue Mar 16 13:59:49 2021 +0100
Embedded Linux: misc improvements
Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>
>---------------------------------------------------------------
328b33d3edbeb244aac11b1ab73ce5b22046c321
common/linux-programming-interface.png | Bin 0 -> 187074 bytes
.../kernel-resources-references.tex | 2 +-
.../linux-programming-interface.png | Bin 187074 -> 0 bytes
.../sysdev-application-development.tex | 4 ++--
slides/sysdev-realtime/rt-patch-sizes.ods | Bin 17021 -> 17016 bytes
slides/sysdev-realtime/rt-patch-sizes.png | Bin 77617 -> 77040 bytes
slides/sysdev-realtime/sysdev-realtime.tex | 17 +++++++++--------
.../book-embedded-linux-primer2.jpg | Bin 35476 -> 0 bytes
slides/sysdev-references/sysdev-references.tex | 12 +++++++-----
9 files changed, 19 insertions(+), 16 deletions(-)
diff --git a/common/linux-programming-interface.png b/common/linux-programming-interface.png
new file mode 100644
index 00000000..7c167efd
Binary files /dev/null and b/common/linux-programming-interface.png differ
diff --git a/slides/kernel-resources-references/kernel-resources-references.tex b/slides/kernel-resources-references/kernel-resources-references.tex
index 3c37badd..2cb6537c 100644
--- a/slides/kernel-resources-references/kernel-resources-references.tex
+++ b/slides/kernel-resources-references/kernel-resources-references.tex
@@ -60,7 +60,7 @@
\column{0.3\textwidth}
\begin{center}
\includegraphics[height=0.4\textheight]{slides/kernel-resources-references/linux-kernel-development.jpg}\\
- \includegraphics[height=0.4\textheight]{slides/kernel-resources-references/linux-programming-interface.png}
+ \includegraphics[height=0.4\textheight]{common/linux-programming-interface.png}
\end{center}
\end{columns}
\end{frame}
diff --git a/slides/kernel-resources-references/linux-programming-interface.png b/slides/kernel-resources-references/linux-programming-interface.png
deleted file mode 100644
index 7c167efd..00000000
Binary files a/slides/kernel-resources-references/linux-programming-interface.png and /dev/null differ
diff --git a/slides/sysdev-application-development/sysdev-application-development.tex b/slides/sysdev-application-development/sysdev-application-development.tex
index 80d4c5a6..881b5084 100644
--- a/slides/sysdev-application-development/sysdev-application-development.tex
+++ b/slides/sysdev-application-development/sysdev-application-development.tex
@@ -120,7 +120,7 @@
\item {\em autotools} is ancient, complicated but very
widely used.
\item We recommend to invest in {\em CMake} instead: modern, simpler, smaller but
- growing user base.
+ growing user base. See an example on \url{https://cmake.org/examples/}
\end{itemize}
\end{itemize}
\end{frame}
@@ -220,7 +220,7 @@
Emacs}. They can integrate with debuggers, source code browsers
such as {\em cscope}, offer syntax highlighting and more.
\item People also use {\bf QtCreator}, even for non Qt projects
- \item {\bf Atom} is a very popular text editor too
+ \item {\bf Atom} (from GitHub) is a very popular text editor too
\item See Stack Overflow's survey of most popular IDEs (2019): \url{https://frama.link/bfPgbb88}
\end{itemize}
All these tools are available in most Linux distributions, simply
diff --git a/slides/sysdev-realtime/rt-patch-sizes.ods b/slides/sysdev-realtime/rt-patch-sizes.ods
index f37d4190..b74775b9 100644
Binary files a/slides/sysdev-realtime/rt-patch-sizes.ods and b/slides/sysdev-realtime/rt-patch-sizes.ods differ
diff --git a/slides/sysdev-realtime/rt-patch-sizes.png b/slides/sysdev-realtime/rt-patch-sizes.png
index 7bc8b679..33b33295 100644
Binary files a/slides/sysdev-realtime/rt-patch-sizes.png and b/slides/sysdev-realtime/rt-patch-sizes.png differ
diff --git a/slides/sysdev-realtime/sysdev-realtime.tex b/slides/sysdev-realtime/sysdev-realtime.tex
index 0ae9e191..e63735b6 100644
--- a/slides/sysdev-realtime/sysdev-realtime.tex
+++ b/slides/sysdev-realtime/sysdev-realtime.tex
@@ -138,7 +138,8 @@
no nested interrupts. Only one interrupt handler can run
at the same time on a given CPU core. Therefore, your critical
interrupt handler may wait for the completion of another,
- non-critical handler.
+ non-critical handler.\\
+ Solution: make interrupt handlers run as quickly as possible.
\item Sections of kernel code when disabling interrupts is
necessary, typically in some {\em spinlocks}.
\end{itemize}
@@ -507,8 +508,8 @@
\item PREEMPT\_RT is delivered as a patch against the mainline
kernel
\begin{itemize}
- \item Only long term stable releases of the kernel
- are actively supported and maintained, currently: 5.10, 5.4, 4.19,
+ \item Only the latest and long term stable releases of the kernel
+ are actively supported and maintained, currently: 5.11, 5.10, 5.4, 4.19,
4.14, 4.9, 4.4. This is yet another advantage of using a mainline
LTS kernel release! It will be difficult to port the patches to
other kernel versions.
@@ -1053,13 +1054,13 @@ cat /sys/kernel/tracing/tracing_max_latency
\column{0.8\textwidth}
\url{https://www.xenomai.org/}
\begin{itemize}
- \item Started in 2001 as a project aiming at emulating traditional
- RTOS.
+ \item Started in 2001, as an extension to RTAI, to emulate
+ traditional RTOS APIs.
\item Initial goals: facilitate the porting of programs to GNU /
- Linux.
+ Linux.
\item Skins mimicking the APIs of the VxWorks and pSOS traditional
- real-time operating systems, as well as the POSIX API, and offering
- a “native” API too.
+ real-time operating systems, as well as the POSIX API, and offering
+ a {\em native} API too.
\item Offers two solutions:
\begin{itemize}
\item {\em Cobalt}: (like {\bf Co}-kernel), using
diff --git a/slides/sysdev-references/book-embedded-linux-primer2.jpg b/slides/sysdev-references/book-embedded-linux-primer2.jpg
deleted file mode 100644
index 80b67fe1..00000000
Binary files a/slides/sysdev-references/book-embedded-linux-primer2.jpg and /dev/null differ
diff --git a/slides/sysdev-references/sysdev-references.tex b/slides/sysdev-references/sysdev-references.tex
index 4801dac8..a36ba9fe 100644
--- a/slides/sysdev-references/sysdev-references.tex
+++ b/slides/sysdev-references/sysdev-references.tex
@@ -12,10 +12,12 @@
An up-to-date resource covering most aspects of embedded Linux
development.\\
\url{https://bit.ly/2A9Pb5Y}
- \item {\bf Embedded Linux Primer, Second Edition, Prentice Hall}\\
- By Christopher Hallinan, October 2010\\
- Covers a very wide range of interesting topics.\\
- \url{https://j.mp/17NYxBP}
+ \item The Linux Programming Interface, Oct 2010
+ \begin{itemize}
+ \item Michael Kerrisk, No Starch Press
+ \item \url{https://man7.org/tlpi/}
+ \item A gold mine about Linux system programming
+ \end{itemize}
\item {\bf Embedded Linux System Design and Development}\\
P. Raghavan, A. Lad, S. Neelakandan, Auerbach, Dec. 2005.
Very good coverage of the POSIX programming API (still up
@@ -26,7 +28,7 @@
\column{0.15\textwidth}
\includegraphics[height=0.25\textheight]{slides/sysdev-references/book-mastering-embedded-linux2.jpg}\\
\vspace{0.5cm}
- \includegraphics[height=0.25\textheight]{slides/sysdev-references/book-embedded-linux-primer2.jpg}\\
+ \includegraphics[height=0.25\textheight]{common/linux-programming-interface.png}\\
\vspace{0.5cm}
\includegraphics[height=0.25\textheight]{slides/sysdev-references/book-embedded-linux-sysdev.jpg}\\
\end{columns}
More information about the training-materials-updates
mailing list