Développement logiciels Linux temps réel et embarqué

Le cours pratique se concentre les aspects temps réel et embarqués de la programmation du noyau. Les travaux pratique en laboratoire font partie intégrante du cours.



Référence de la formation

KLI001

Niveau

Intermédiaire

Nombre de jours

40 heures (4 heures/jour)

Prix

2.526,00 € HT

Lieu de la formation

V: v-learning, classe virtuelle



Pre-requis

  • Les participants doivent disposer d'une bonne connaissance d'Unix ou de Linux et d'une bonne maîtrise de la programmation en C.
  • Bases de Linux, Introduction à Linux ou équivalent. Programmation de systèmes Linux ouéquivalent. Une connaissance de base des pilote (drivers) et des modulesdu noyau est essentielle.
  • Un niveau d'anglais business moyen est requise car la formation sera dispensé en anglais.

Public

Programmeurs embarqués et temps réel développant des drivers à l'aide
du noyau Linux et des développeurs de drivers pour les périphériques
internes ou externes

Objectifs de la formation

Le système d'exploitation GNU / Linux est le système d'exploitation de choix pour de nombreux développeurs embarqués et temps réel: les principales raisons étant que le code source est gratuit, il n'y a pas de redevances d'exécution et c'est un système d'exploitation fiable et robuste avec un excellent support réseau. Le cours pratique se concentre les aspects temps réel et embarqués de la programmation du noyau. Les travaux pratique en laboratoire font partie intégrante du cours.

Contenu du cours

Table 1: KLI001 - Contenu du cours
Chapter Description
Introduction

• Linux overview
• Real time and embedded
• The kernel and its role
• Linux supported architectures

Build Root • Project overview
• Getting buildroot
• Quick start
• Configuration interfaces
• Using a predefined configuration
Cross tool chains • The need for cross tool chains
• Tools naming convention
• Getting and installing a tools chain
• Cross building software
• Cross debugging
• uClibc
Configuring and Building the Linux Kernel • Getting the sources
• The structure of source tree
• Configuring and building the kernel
• Compiling the kernel
• Kernel modules:
− Cross compiling modules
− Integrating modules into the kernel source tree
• Configuring buildroot:
− Configuring the kernel in buildroot
Customizing Buildroot • Integrating Additional packages into buildroot:
− dl
− packages
− config.in
• Overlays
Device Trees • Working without device trees
• What is a device tree
• DTS and DTB
• Device tree integration into driver code.
• The syntax of DTS files
Linux Boot Sequence • Embedded Linux boot process
• Kernel boot parameters
• Bootloaders, U-Boot
• Buildroot configuring system components:
− init, busy box, U-Boot
• root-fs:
− initrd & initramfs
− overlayfs
Net-Booting and The Network File System (NFS) • How does NFS aid the embedded development process
• Preparing NFS
• Mounting an NFS volume
• NFS daemons
• Exports file
• root-fs over NFS
• tftp
• DHCP
User-mode Programming • librt overview
• Scheduling policies and priorities.
• CPU affinity
• Memory
• RT signals:
− explanation
− comparison with standard signals
• Asynchronous I/O
• POSIX IPC:
− Semaphores
− Message Queues
− Shared memory
• POSIX timers.
• Tips for improving user space RT performance.
• Command line tools for manipulating scheduling policy / priority, and CPU affinity
Linux and Real Time • RTOS memory issues and Linux.
• Linux hardware interaction
• Latency (kernel, interrupt, scheduler)
• Kernel preemption
• Linux hard real time extensions
• Applying the RT patch
• Threaded IRQ’s
• Voluntarily giving up CPU
– cond_resched
• Controlling kernel preemption:
− preempt_disable
− preempt_enable
− preempt_count
• spinlocks and raw spinlocks.
• Priority inheritance
• Priority inversion
• Don’t do’s
Introduction to The Yocto Project • Project overview
• The Yocto project development environment
• Setting up a Yocto project:
• Supported build hosts
• Build host packages
• Getting Yocto
• Example
– Building an image and testing it on an emulator
• Development models:
− System development
− Application development
• Image development:
− Toaster − Hob
• Receipes
The End • Summary
• Q&A
• Evaluation

Dates


05 Oct 2020 au 09 Oct 2020


NOTE :
ATTENTION CETTE FORMATION EST SUR MESURE
CE COURS EST REALISABLE TOUTE L'ANNEE AVEC UN MINIMUM DE 5 PARTICIPANTS


Des questions ?

+33 (0) 950 20 91 64


Inscription ou Demande de devis