Détails de la formation
Les thèmes comprennent :
- Structure et exécution du code généré
- Options et optimisations de la génération de code
- Intégration du code généré avec du code externe
- Génération de code pour systèmes multitaux et non périodiques
- Personnalisation du code généré
- Personnalisation des données
- Test du code généré sur cible hardware
- Déploiement du code
Jour 1 sur 3
Génération de code embarqué
Objectif: Configurer les modèles Simulink pour la génération de code embarqué et comprendre le code généré.
- Architecture d'une application embarquée
- Spécification système
- Génération de code
- Modules de code
- Enregistrement des signaux intermédiaire
- Les structures de données du code généré
- Vérification du code généré
- Processus de compilation Embedded Coder®
Optimisation du code généré
Objectif: Identifier les exigences de l'application et configurer les paramètres d'optimisation pour satisfaire ces exigences.
- Considérations sur l'optimisation
- Suppression du code inutile
- Suppression des types de données non utilisés
- Optimisation du stockage des données
- Profilage du code généré
- Objectifs de la génération de code
Intégration du code généré avec du code externe
Objectif: Modifier les modèles et les fichiers pour intégrer du code généré dans du code externe.
- Intégration de code externe
- Points d'entrée du modèle
- Intégration du code généré dans un projet externe
- Contrôle de la destination du code
- Packaging du code généré
Prototypes de fonction
Objectif: Personnaliser les prototypes de fonction des points d'entrée du modèle dans le code généré.
- Prototype de fonction par défaut
- Modification des prototypes de fonction
- Code généré avec des prototypes de fonction modifiés
- Considérations sur le prototype de fonction
- Fonctions réentrantes
- Template de fonctions
Jour 2 sur 3
Personnalisation du format des données dans Simulink®
Objectif: Apprendre à modifier les types de données et les Storage Classes dans Simulink.
- Caractéristiques des données
- Classification des types de données
- Configuration des types de données dans Simulink
- Configuration des Storage Classes des signaux
- Configuration des Storage Classes des états
- Impact des Storage Classes sur les symboles
Personnalisation du format des données avec les Data Objects
Objectif: Apprendre à modifier les types de données et concevoir des Storage Classes personnalisées (Custom Storage Classes) à l'aide des Data Objects.
- Vue d'ensemble des Data Objects dans Simulink®
- Modification des types de données avec des Data Objects
- Création de types de données reconfigurables
- Modification des Storage Classes avec des Data Objects
- Modification des types de données et des noms de variables
- Dictionnaire de données
Création de Storage Classes
Objectif: Concevoir des Storage Classes et les utiliser pour la génération de code.
- Storage Classes personnalisées
- Création de Storage Classes
- Manipulation des Storage Classes
- Partage des définitions de Storage Classes
Personnalisation de l'architecture du code généré
Objectif: Modifier l'architecture du code généré en fonction des exigences de l'application.
- Architecture d'un modèle Simulink
- Modification du partitionnement du code
- Génération de fonction réutilisable pour un sous-système
- Génération de code pour des composants variants
- Options de placement des données
Les bus objects et le référencement de modèle
Objectif: Configurer le type de donnée et la Storage Class des bus objects, et les utiliser pour la génération de code depuis un modèle qui référence d'autres modèles.
- Création de modèles réutilisables
- Configurer le type de donnée d'un bus
- Configurer la Storage Class d'un bus
- Tests du logiciel venant d'un modèle référencé
Jour 3 sur 3
Ordonnancement de l'exécution du code généré
Objectif: Générer du code pour des systèmes multitaux en configurations mono-tâche, multi-tâches et modèles de type export-function.
- Scénarios d'exécution pour des systèmes à échantillonnage simple et multiple
- Code généré pour des modèles à échantillonnage simple
- Code à échantillonnage multiple en configuration mono-tâche
- Code à échantillonnage multiple en configuration multi-tâches
- Génération de code pour modèle de type export-function
Test du code généré sur cible hardware
Objectif: Utiliser la simulation processor-in-the-loop (PIL) pour valider, profiler et optimiser le code généré sur le hardware cible.
- Présentation du support hardware
- Configuration pour Arduino
- Validation du code généré sur la cible
- Vue d'ensemble de l'optimisation sur cible
- Profiler le code généré sur la cible
- Utilisation les bibliothèques de code optimisées pour la cible
- Création de bibliothèques de code optimisées pour la cible
Déploiement du code généré
Objectif: Créer une application temps-réel fonctionnelle pour une carte Arduino® en utilisant le support existant pour la cible.
- Architecture d'une application embarquée
- Création d'un harnais de déploiement
- Utilisation des blocs de driver de la cible
- Exécution de l'application en temps-réel
- Mode externe
Intégration de pilotes de cartes
Objectif: Générer des blocs personnalisés pour l'intégration de drivers de périphérique dans Simulink et dans le code généré.
- Vue d'ensemble des pilotes de périphérique
- Utilisation du Legacy Code Tool
- Personnaliser les composants de drivers de périphérique
- Développer des blocs des drivers pour la carte Arduino
Amélioration de l'efficacité et la compatibilité du Code
Objectif: Inspecter l'efficacité du code généré et vérifier la compatibilité avec les standards et les normes.
- Model Advisor
- Paramètres d'implémentation hardware
- Compatibilité avec les standards et les normes
Niveau: Intermédiaire
Pré-requis:
Durée: 3 jour
Langues: Deutsch, English, 中文, 日本語, 한국어