Formation Yocto BSP i.MX 8MP

Réf : PHYTEC-5152

  • Durée : 5 jours
  • Sessions : intra-entreprise
  • Plate-forme: i.MX 8M Plus
  • Adaptation de contenu sur demande

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 Zeus 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.2 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-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)