[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>


 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 @@
-      \includegraphics[height=0.4\textheight]{slides/kernel-resources-references/linux-programming-interface.png}
+      \includegraphics[height=0.4\textheight]{common/linux-programming-interface.png}
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/}
@@ -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}
     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}.
@@ -507,8 +508,8 @@
   \item PREEMPT\_RT is delivered as a patch against the mainline
-    \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
-    \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:
 	 \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
-    \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 @@
-    \includegraphics[height=0.25\textheight]{slides/sysdev-references/book-embedded-linux-primer2.jpg}\\
+    \includegraphics[height=0.25\textheight]{common/linux-programming-interface.png}\\

More information about the training-materials-updates mailing list