Formations MATLAB et Simulink

Embedded Coder pour la génération de code de production

Afficher le calendrier et s'inscrire

Détails de la formation

Cette formation pratique de trois jours se concentre sur le développement de modèles dans l'environnement Simulink® pour le déploiement sur des systèmes embarqués. Cette formation est destinée aux utilisateurs Simulink qui ont l'intention de générer, valider et déployer du code embarqué à l'aide de Embedded Coder™.

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 automatique 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
  • Structures de données dans le 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 non nécessaire
  • 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
  • Création d'un harnais d'exécution
  • 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

Durée: 3 jour

Langues: Deutsch, English, Français, 日本語, 한국어, 中文

Afficher le calendrier et s'inscrire