Projet Yocto
• Présentation du projet Yocto
• OpenEmbedded Core et poky
• Notion de Layers et de Recettes
• Les utilitaires GIT et repo
• Rôle de l'outil de construction bitbake
BSP-Yocto-NXP-i.MX 8MP-PD22.1.0
• Les layers spécifiques FSL et NXP
• Les différentes distributions
• Les images applicatives proposées
Travaux Pratiques :
• Mise en œuvre d’une configuration de BSP avec choix des layers, configuration de la distribution et de l’image phytec-
headless-image à générer pour une machine spécifique: SBC phyBOARD-Pollux i.MX 8M Plus
Le BSP-Yocto-NXP-i.MX 8MP-PD22.1.0
• Fichier local.conf et réglages globaux
• Les différentes cibles NXP i.MX supportées
• Notion de MACHINE et de PROVIDER
Customisation d’une DISTRO Yocto
• Méthodologie
• Ajout de son propre Layer
Travaux Pratiques :
• Mise en oeuvre de son propre Layer BSP et de sa propre MACHINE
• Génération d’une image optimisée Linux Yocto pour MACHINE dérivée de la SBC Pollux i.MX 8M Plus
Customisation d’une DISTRO BSP-Yocto-NXP-i.MX8MP-PD22.1.0
• Bootloader u-boot et barebox
• Spécificités et optimisation du noyau linux-imx sous Yocto, noyau PREEMPT-RT
• Customisation du kernel devicetree
• Mise à jour Rauc
• Secureboot
Travaux Pratiques :
• Configuration du noyau linux pour MACHINE dérivée du kit Phytec phyBOARD Pollux i.MX 8M Plus
• Modification du devicetree et mise en œuvre d’un patch noyau avec l’utilitaire GIT sous Yocto
• Génération d’une image Linux pour Pollux i.MX 8M Plus avec partition rootfs readonly
Customisation d’une Image Yocto
• Recette minimale de construction de paquetage
• Customisation de recettes
• Ajout des étapes de compilation
• Notion de classes
• Syntaxe bitbake avancée
Travaux pratiques :
• Écriture d'une recette simple Yocto pour l'intégration de votre application à l'image filesystem finale.
• Analyse d’exemples de paquetages et gestion des mises à jour unitaires sous Yocto
• Ajouter des fichiers de configuration à une recette
• Recette d’ajout de script de démarrage avec initd
• Recette d’ajout de service de démarrage sous Systemd
Software Development Kit Yocto FSL Community
• Pluggin Eclipse Yocto SDK
• Ajout de package-dev et header kernel pour développement de device driver
• Génération et déploiement d’un SDK complet
• Notion d’Extended-SDK
Travaux Pratiques
• Mise en œuvre du SDK GNU GCC/GDB Yocto sous Eclipse : configuration, compilation et débogagesur cible Pollux i.MX 8M Plus
Introduction au développement de pilotes Linux / Pilotes de périphériques sous Linux
• Introduction à la programmation en mode noyau
• Architecture d’un module simple
• Programmation de pilote de périphérique
• Programmation de pilotes de périphériques simples : Structure de la File Operation
• API du noyau Linux et gestion mémoire en Kernel Mode
Travaux pratiques
• Compilation et déploiement d’un module driver linux externe/propriétaire avec le SDK Yocto
• Programmation de pilotes de périphériques Linux, Signaux et Timer en kernel mode sur plateforme i.MX 8M Plus
• Driver bloquant, gestion d’interruption sur plateforme sur cible Phytec Pollux i.MX 8M Plus
Software Development Kit Qt sous BSP Yocto NXP
• Intégration Qt sous Yocto
• Support Hardware GPU openGL ES, VPU, Audio
• Support KMS/DRM et support Multi-Framebuffer
• Spécificités d’un SDK Yocto Qt 5.15.2 et support GPU : différents réglages des packages de modules Qt 5.15 entre CPU iMX 8M Plus.
Travaux Pratiques
• Personnalisation de l’image phytec-qt5demo-image avec ajout des modules QtCANbus, QtSerialPort et QtSerialBus pour le Kit Phytec Pollux i.MX 8M Plus
• Mise en œuvre du SDK Qt 5.15.2 Yocto sous QtCreator : configuration, déploiement et débogage sur cible Pollux i.MX 8M Plus (qmake et cmake build)