Formation Yocto BSP i.MX 8MP
4 jours (4ème journée au choix)
Réf : PHYTEC-5142
- Durée : 4 jours
- Sessions : intra-entreprise
- Plate-forme: i.MX 8M Plus
- 4 options possibles pour la 4ème journée
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
- 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 Phytec i.MX 8MP
- 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 phyBOARD-Pollux i.MX 8M-Plus
Customisation du BSP Yocto i.MX8M-Plus
- Bootloader u-boot et barebox
- Spécificités et optimisation du noyau linux-imx sous Yocto
- Customisation du kernel devicetree
Travaux Pratiques
- Configuration du noyau linux pour MACHINE dérivée du kit 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 Kit phyBOARD Pollux i.MX 8M Plus avec partition rootfs readonly
Customisation d’une Image Yocto
- Recette minimale de construction de paquetage
- Customisation de recettes
Travaux pratiques
- Écriture d’une recette simple Yocto pour l’intégration de votre application à l’image filesystem finale.
- Analyse d’exemples de paquetages
- Ajouter des fichiers de configuration à une recette
Customisation d’une Image Yocto (suite)
- Notion de classes
- Ajout d’étapes de construction
- Syntaxe bitbake avancée
Travaux pratiques
- Recette d’ajout de script de démarrage avec systemd
- Ajout d'utilisateur Linux
SDK Yocto i.M8M-Plus
- Plugin Eclipse Yocto SDK
- Génération et déploiement d’un SDK Yocto complet
- Ajout de package-dev et header kernel pour développement de device driver
- Notion d’Extended-SDK
Travaux pratiques
- Mise en oeuvre du SDK GNU GCC/GDB Yocto sous Eclipse: configuration, compilation et débogage sur cible SBC phyBOARD Pollux i.MX 8M Plus
Option 1 (1 journée)
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 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 linux externe/propriétaire avec le SDK Yocto
Option 2 (1 journée)
Mise en oeuvre de boot secure
- Context Cortex-A Secure et Non-Secure
- Basic boot chain et trusted boot chain
- Trusted Firmware et Trusted Devices
- Notion de Trusted Application et de secure Monitor
- Crypto support et Signed Bootloader
Travaux Pratiques
- Mise en oeuvre Boot Secure sur phyBOARD Pollux i.MX 8M Plus
Option 3 (1 journée)
Mise en oeuvre de Mise à jour RAUC
- Définition d'une configuration mise à jour redondante sur plateforme phyBOARD Pollux i.MX 8M Plus : notion de machine et de revision
- Variables d"environnement et Script u-boot spécifique RAUC
- Bundles : Image RAUC
- Gestion de la signature/cryptage des dundles RAUC
- Services de mise à jour automatisée : USB updater et hawkbit updater
Travaux Pratiques
- Création et installation d'un dundle signée
- Mise en oeuvre d'un client et d'un serveur Hawkbit de gestion déploiement de mises à jour
Option 4 (1 journée)
Software Development Kit Qt6 sous BSP Yocto NXP
- Intégration Qt 6 sous Yocto : layer meta-qt6-phytec
- Support Hardware GPU openGL ES, VPU, Audio et support XWayland
- Spécificités d’un SDK Yocto Qt 6 et support GPU : différents réglages des packages Qt 6.3 sur phyBOARD Pollux i.MX 8M Plus
Travaux Pratiques
- Personnalisation de l’image phytec-qt6demo-image avec ajout des modules QtCANbus, QtSerialPort et QtSerialBus pour le Kit phyBOARD Pollux i.MX 8M Plus
- Mise en œuvre du SDK Qt 6.3 Yocto sous QtCreator : configuration, déploiement et débogage sur cible phyBOARD Pollux i.MX 8M Plus
(qmake et cmake build) - Construction, déploiement et débogage d’applications de type QDialog sous environnement Qt Creator
- Écriture d’une recette simple Yocto pour l’intégration de votre application Qt6 à l’image filesystem finale
- Ajout de service de démarrage sous Systemd