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
Yocto FSL Community
• Les layers spécifiques FSL
• Les différentes distributions FSL et FSLC
• 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 fslc-framebuffer à générer pour une machine spécifique: SBC phyBOARD- Polis i.MX 8M Mini
FSL Community BSP
• 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 FSL Community
• 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 Polis i.MX 8M Min
Customisation d’une DISTRO Yocto FSL Community (suite)
• Bootloader u-boot et barebox
• Spécificités et optimisation du noyau linux-fslc et linux-imx sous Yocto
• Customisation du kernel devicetree
Travaux Pratiques :
• Configuration du noyau linux PREEMPT-RT low-latency pour MACHINE dérivée du kit Phytec phyBOARD Polis i.MX 8M Mini
• 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 SBC Polis i.MX 8M Mini avec partition rootfs readonly
Customisation d’une Image Yocto FSL Community
• 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 Polis i.MX 8M Mini
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 LinRT sous Eclipse
• Programmation de pilotes de périphériques Linux, Signaux et Timer en kernel mode sur plateforme i.MX 8
• Driver bloquant, gestion d’interruption sur plateforme sur cible Phytec Polis i.MX 8M Mini
Software Development Kit Qt sous BSP LinRT Yocto FSL Community
• Intégration Qt sous Yocto FSL Community
• Support Hardware GPU openGL ES, VPU, Audio
• Support KMS/DRM et support Multi-Framebuffer
• Spécificités d’un SDK Yocto Qt 5.13 LinRT et support GPU : différents réglages des packages de modules Qt 6.4 entre CPU iMX 8.
Travaux Pratiques
• Personnalisation de l’image fslc-framebuffer avec ajout de layer Qt 6.4 sous Yocto kirkstone 6.4 et des modules QtCANbus, QtSerialPort et QtSerialBus pour le Kit Phytec Polis i.MX 8M Mini
• Mise en œuvre du SDK Qt 6.4 Yocto sous QtCreator : configuration, déploiement et débogage sur cible Polis i.MX 8M Mini (qmake et cmake build)