Formation
STM32MP15x
Réf : PHYTEC-5182
- Durée : 4 jours
- Sessions : intra-entreprise
- Plates-forme : phyBOARD-Sargas STM32MP157
- 4ème journée au choix : 4 options possibles
- Maîtriser l’installation de l’environnement Yocto
- Maîtriser les commandes usuelles Bitbake
- Gérer la configuration de build et de la Machine phyBOARD®-Sargas STM32MP157
- Ajouter et Mettre en oeuvre ses propres layers Yocto
- Configurer et adapter le noyau linux à sa plate-forme STM32MP15x
- Construire et customisez son image Linux openLinuxST avec Yocto
- Générer ses propres devicetree à l’aide de CubeMX pour STM32 MPU
- Adapter les drivers du noyau Linux pour STM32MP15x
Notre formation Yocto BSP pour processeurs STM32MP15x 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 sur système STM32MP15x sous Yocto.
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 STM32 MPU openSTLinux
- Les layers spécifiques à la distribution openSTLinux
- Les images applicatives proposées
BSP Phytec Yocto STM32 MPU
- Fichier local.conf et réglages globaux
- Notion de MACHINE et de FEATURES
Travaux pratiques
- Mise en oeuvre d’une configuration de BSP avec choix des layers, configuration de la distribution openSTLinux et des images st-image à générer pour une machine spécifique : Kit SBC Sargas phyCORE STM32MP157
- Ecriture et ajout d’un layer à la compilation du système Linux embarqué Yocto pour machine STM32MP15x
- Ajout de son propre layer Yocto BSP et création de sa propre machine STM32MP15x
Phytec Yocto STM32 MPU BSP (suite)
- Spécificités et optimisation du noyau linux stm32mp sous Yocto
- Customisation du kernel devicetree à l’aide de CubeMX
Travaux pratiques
- Configuration du noyau linux du kit SBC Sargas phyCORE-STM32MP157
- Customisation du devicetree et mise en oeuvre d’un patch noyau avec l’utilitaire GIT sous Yocto
- Génération d’une image Linux pour SOM phyCORE STM32MP15x optimisée
Customisation d’une Image Yocto openSTLinux
- Méthodologie
- Recette minimale de construction de paquetage
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 openSTLinux (suite)
- Customisation de recettes
- Notion de classes
- Ajout d’étapes de construction
Travaux pratiques
- Recette d’ajout de script de démarrage avec systemd
- Ajout d'utilisateur Linux
SDK Yocto STM32MP15x
- 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 Sargas phyCORE STM32MP157
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
Concept de Communication Inter Processeurs
- Notion de Domain ID et Ressources
- API RPMSG FreeRTOS M4
- Drivers RPMSG Linux
Travaux pratiques
• Echanges de données entre application sous Linux et Services FreeRTOS via RPMSG
Option 2 (1/2 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 de Trusted device et limitations STM32MP15x
Option 3 (1/2 journée)
Mise en oeuvre de Mise à jour RAUC
- Définition d'une configuration mise à jour redondante sur plateforme STM32MP15x : 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/2 journée)
Mise en oeuvre du SDK Qt5 Yocto
- Spécificité d'une image Yocto Linux Qt5
- Génération et installation du SDK Qt5 Yocto sur poste de développement
Travaux Pratiques
- Installation du SDK Qt5 Yocto et configuration sous QtCreator
- Déploiement et débogage d'application Qt5 sur plateforme SBC phyBOARD-Sargas STM32MP157
- Ecriture d'une recette spécifique Yocto de compilation et installation d'application Qt5, classe qmake, variables d'environnement, service systemd spécifique...