Formation
STM32MP1
Réf : PHYTEC-5180
- Durée : 5 jours
- Sessions : intra-entreprise
- Plate-forme: Kit Sargas STM32MP157
- Adaptation de contenu sur demande
Cette formation est réalisée autour du BSP Yocto Phytec PD_20.1.0, Linux kernel sur le Kit Sargas STM32MP157.
maîtriser l’installation de l’environnement Yocto
Maîtriser les commandes usuelles Bitbake
Gérer la configuration de build et de la Machine phyCORE STm32MP1
Ajouter et Mettre en oeuvre ses propres layers Yocto
Configurer et adapter le noyau linux à sa plate-forme STM32MP1
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 phyCORE STM32MP1
Développer et mettre au point des applications FreeRTOS avec le SDK Yocto phyCORE sTM32MP1
Notre formation Yocto BSP pour processeurs STM32MP1 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 STM32MP1 sous Yocto, en exploitant les capacités temps réel du Cortex-M4 et les mécanismes de sécurité du Cortex-A7.
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 openSTLinux
• Les images applicatives proposées
Travaux pratiques
• Mise en oeuvre 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 : Kit Phytec SBC Sargas phyCORE-STM32MP1
Phytec Yocto STM32 MPU BSP
• Fichier local.conf et réglages globaux
• Notion de MACHINE et de PROVIDER
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
• Ajout de son propre Layer YOCTO BSP et creation de sa propre MACHINE STM32MP1
• Configuration du noyau linux du kit Phytec SBC Sargas phyCORE STM32MP15
• Modification 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 STM32MP15
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
• Ecriture et ajout d’un layer à la compilation du système Linux embarqué Yocto pour MACHINE STM32MP1
Customisation d’une Image Yocto openSTLinux (suite)
• Customisation de recettes
• Ajout de d’étapes de compilation
• Notion de classes
Travaux pratiques
• Ajouter des fichiers de configuration à une recette
• Recette d’ajout de script de démarrage avec systemd, passage initd pour distribution minimale Tiny openSTLinux
• Ajout de package-dev et header kernel pour développement de device driver
• Génération et déploiement d’un SDK Yocto complet
• 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 STM32MP1
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
Travaux pratiques
• Compilation et déploiement d’un module linux externe/propriétaire avec le SDK Yocto
• 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
• Programmation de pilotes de périphériques Linux, Signaux et Timer en kernel mode sur plateforme STM32MP1
• Driver bloquant, gestion d’interruption sur plateforme sur SBC Sargas phyCORE STM32MP1
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 STM32MP1
• Exemple de Trusted Application Cortex-A (OP-TEE Monitor)
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