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

Intéressé.e par cette formation ?

Cette formation est réalisée autour du BSP-Yocto-NXP-i.MX 8MP-PD22.1.0 :
Hardknott 3.3 et Linux kernel 5.10 sur le Kit Pollux i.MX 8MP

• Maîtriser l’installation de l’environnement Yocto Hardknott 3.3
• Maîtriser les commandes usuelles Bitbake
• Gérer la configuration de build et de la Machine i.MX 8
• Ajouter et Mettre en oeuvre ses propres layers Yocto
• Construire et customisez/optimiser son image Linux avec Yocto
• Développer et mettre au point des applications avec le SDK Yocto i.MX 8
• Configurer et adapter le noyau linux à sa plate-forme i.MX 8
• Adapter les drivers du noyau Linux pour i.MX 8
• Développer et mettre au point des applications Qt 5.15 avec le SDK Yocto i.MX 8

Notre formation Yocto BSP pour processeurs NXP iMX 8 est adaptée aux développeurs en informatique et techniciens dans le domaine de Linux embarqué confrontés aux problèmes de portage d’applications Linux embarqué sur système i.MX 8 sous Yocto. Une connaissance des commandes UNIX usuelles et des notions de programmation en langage C sont nécessaires.

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