Formation Zephyr RTOS

Réf : PHYTEC-5185

  • Intitulé : Zephyr RTOS
  • Durée : 4 jours
  • Sessions : intra-entreprise
  • Plate-forme :  carte Phytec Reel Board - SoC nRF52840
  • Adaptation de contenu sur demande

Formation Zephyr RTOS

Cette formation est basé sur la version Zephyr Project 3.3, sur la base de la carte Phytec Reel Board - SoC nRF52840

• Maîtriser l’installation de l’environnement de développement Zephyr
• Gérer la configuration de build
• Générer ses propres devicetree
• Ajouter et Mettre en oeuvre ses propres drivers de périphériques matériels
• Construire et customiser son image Zephyr RTOS
• Maitriser les APIs Système   
• Développer et mettre au point des applications sous Zephyr RTOS

Notre formation Zephyr RTOS est adaptée aux développeurs en informatique et techniciens dans le domaine de RTOS confrontés aux problèmes de portage d’applications en exploitant pleinement ses capacités, notamment temps réel. Une connaissance des commandes UNIX usuelles et des notions de programmation en langage C sont souhaitables.

Zephyr RTOS

• Présentation de Zephyr OS
• Zephyr Ecosystem
• Architecture

Projet Zephyr

• Principaux composants
• Zephyr SDK
• Cross-Compiler : GCC - CMake/Ninja/Make
• IDE et Debogger
• Emulateur QEMU
• Shell Support API

Travaux pratiques

• Utilisation de l'outils de construction West
• Execution d'application POSIX sur émulateur QEMU
• Execution d'application sur cible Phytec Reel Board
• Mise en œuvre de la chaine de deboggage sous Eclipse et DAPLink interface

Zephyr OS image

• Architecture kernel et devicetree
  - Architecture Configuration Options
  - Driver Configuration Options
  - Kernel Configuration Options

• Configuration d'un Projet
  - Library Configuration Options
  - Subsystem Configuration Options

• Modules externes
  - External Module Configuration Options 

Travaux pratiques

• Customisation de la configuration pour Phytec Reel Board
• Customisation du devicetree pour Phytec Reel Board

Principales API Periphériques

• ADC
• EC Host Command
• EEPROM
• Flash
• GPIO
• Hardware Information
• I2C
• IPM
• LED
• Pinmux
• PWM
• RTC
• Sensors
• SPI
• UART
• Watchdog

Travaux pratiques

• Mise en œuvre d'un Shell via UART
• Mise en œuvre d'application de gestion d'interruption sur GPIO
• Mise en œuvre d'application de gestion de mesure de Température et Accelero

Zephyr Kernel Services

• Threads
• Scheduling
• System Threads
• Workqueue Threads
• Interrupts
• Polling API
• Semaphores
• Mutexes
• Condition Variables
• Symmetric Multiprocessing

Zephyr support POSIX API 

Logging support

• Global Kconfig Options
• Logger API 

Travaux pratiques

• Mise en œuvre de trace d'application POSIX multi-thread sur QEMU
• Mise en œuvre de trace d'application Zephyr Kernel API multi-thread sur carte Phytec Reel Board

Device Driver Model

• Driver subsystem et API
• Driver architecture (Single / multi-instances)
• Driver Devicetree support

Power Management Support

• Architecture Zephyr Power Managment
• Device Power Management API

Storage API

• Non-Volatile Storage (NVS)
• Disk Access
• SDHC
• Flash map
• Flash Circular Buffer (FCB)
• Stream Flash

Travaux pratiques

• Mise en œuvre d'un driver avec gestion de Power Managment