Schulungen zu MATLAB und Simulink

Entwicklung von Embedded Software mit dem Embedded Coder

Kursbeschreibung

In diesem zweitägigen Kurs bereiten Sie Modelle in der Simulink®-Umgebung für die Implementierung in eingebetteten Systemen vor. Sie generieren, validieren und implementieren C-Code mit Embedded Coder®.

Themen sind unter anderem:

  • Struktur und Ausführung von generiertem Code
  • Codegenerierungsoptionen und Optimierung
  • Integrieren von generiertem und externem Code
  • Codegenerierung für Multiraten-Systeme und nichtperiodische Systeme
  • Anpassen von generiertem Code
  • Anpassen von Daten

Tag 1 von 2


Codegenerierung für eingebettete Systeme

Ziel: Aus einem Simulink-Modell C-Code generieren und den generierten Code interpretieren, um einen Überblick über die Verwendung von Embedded Coder zu erhalten.

  • Architektur einer eingebetteten Anwendung
  • Beschreibung des Beispiels
  • Generieren von Code
  • Code-Module
  • Aufzeichnen von Zwischensignalen
  • Datenstrukturen im generierten Code
  • Verifizieren des generierten Codes
  • Embedded Coder Build-Prozess

Optimieren von generiertem Code

Ziel: Identifizieren von Anforderungen an den generierten Code wie z.B. Effizienz oder Sicherheit und Anpassen der Modellkonfiguration, um diese Anforderungen zu erfüllen.

  • Überlegungen zur Codeoptimierung
  • Eliminieren überflüssigen Codes
  • Eliminieren überflüssiger Datenunterstützung
  • Optimieren der Datennutzung (Signal Storage)
  • Analysieren des Laufzeitverhaltens des generierten Codes
  • Codegenerierungsziele

Integrieren von generiertem Code mit externem Code

Ziel: Simulink-Modelle und externe Dateien vorbereiten, um mit Embedded Coder generierten und externen Code zusammenführen zu können.

  • Übersicht der Integration von externem Code
  • Übersicht über Modelleinsprungspunkte
  • Aufrufen von generiertem Code
  • Festlegen des Speicherortes für den generierten Code
  • Packen generierten Codes

Festlegen der Funktionsprototypen

Ziel: Anpassen der Funktionsprototypen der Modelleinsprungspunkte im generierten Code, um Funktionsargumente wahlweise per Pointer oder direkt zu übergeben.

  • Standardfunktionsprototypen
  • Ändern der Funktionsprototypen
  • Codegenerierung mit geänderten Funktionsprototypen
  • Verwenden des generierten Codes mit geänderten Funktionsprototypen
  • Überlegungen zu Funktionsprototypen
  • Ändern der Standardfunktionsprototypen

Anpassen von Dateneigenschaften in Simulink®

Ziel: Einstellen von Datentypen und Speicherklassen (Storage Classes) von Daten in Simulink-Modellen, um C-Code generieren zu können, der mit externen Code-Modulen integriert werden kann.

  • Dateneigenschaften
  • Klassifizierung von Datentypen
  • Konfigurieren von Datentypen in Simulink
  • Festlegen der Speicherklassen für Signale
  • Festlegen der Speicherklassen für Zustände
  • Auswirkung der Speicherklasse auf die Namensgebung von Symbolen

Tag 2 von 2


Festlegen von Dateneigenschaften mit Datenobjekten

Ziel: Festlegen des Datentyps und der Speicherklasse von Daten mit Datenobjekten, um die Flexibilität und Wartbarkeit von Modellen zu verbessern.

  • Überblick über Datenobjekte in Simulink
  • Festlegen von Datentypen mit Datenobjekten
  • Erstellung rekonfigurierbarer Datentypen
  • Festlegen von Speicherklassen mit Datenobjekten
  • Festlegen der Namen von Datentypen und Variablen
  • Data Dictionaries

Anpassen der Architektur von generiertem Code

Ziel: Verwenden von Komponenten wie atomaren Subsystemen oder Varianten, um die Architektur des generierten Codes festzulegen.

  • Architektur eines Simulink-Modells
  • Konfigurieren der Code-Partitionierung
  • Generieren von wiederverwendbarem Code für Subsysteme
  • Generieren von Code für Komponentenvarianten
  • Optionen zur Code-Platzierung

Busobjekte und Modellreferenzierung

Ziel: Verwenden von Busobjekten und Signalobjekten, um an Modellschnittstellen die Datentypen innerhalb eines Bussignals und die Speicherklasse des Bussignals für die Codeerzeugung konfigurieren zu können.

  • Generieren wiederverwendbaren Codes mit Modellreferenzen
  • Einstellen des Datentyps eines Bussignals
  • Einstellen der Speicherklasse eines Bussignals
  • SIL-Verifikation generierter Software mit Modellreferenzen

Scheduling des generierten Codes

Ziel: Simulink-Modelle mit mehreren Abtastraten so konfigurieren, dass der generierte Code im Single-Tasking-Modus, Multi-Tasking-Modus oder über Function Calls implementiert werden kann.

  • Ausführungsschemata für Einzelraten- und Multiratensysteme
  • Codegenerierung für Einzelratenmodelle
  • Codegenerierung für Multiratenmodelle im Single-Tasking Modus
  • Codegenerierung für Multiratenmodelle im Multi-Tasking Modus
  • Generieren exportierbarer Funktionen

Verbessern der Codeeffizienz und Konformität

Ziel: Verwenden des Model Advisor, um die Konformität eines Simulink-Modells mit Standards und Richtlinien sicherzustellen.

  • Der Model Advisor
  • Parameter zur Implementierung auf Hardware
  • Konformität mit Standards und Richtlinien

Stufe: Aufbaukurs

Dauer: 2 Tage

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