Formazione MATLAB e Simulink

Embedded Coder per la generazione di codice di produzione

Guarda il programma e iscriviti

Dettagli dei corsi

Questo corso pratico di tre giorni si focalizza sullo sviluppo di modelli nell'ambiente Simulink® da implementare nei sistemi embedded. Il corso è pensato per gli utenti di Simulink che intendono generare, convalidare e implementare il codice embedded utilizzando Embedded Coder®.

Elenco degli argomenti:
  • Struttura ed esecuzione del codice generato
  • Opzioni di generazione di codice e ottimizzazioni
  • Integrazione del codice generato con il codice esterno
  • Generazione di codice per sistemi multi-rate e non periodici
  • Personalizzazione del codice generato
  • Personalizzazione dei dati
  • Test del codice generato sull'hardware target
  • Implementazione del codice

Giorno 1/3


Generazione di codice embedded

Obiettivo: Configurare i modelli Simulink per la generazione di codice embedded e interpretare efficacemente il codice generato.

  • Architettura di un'applicazione embedded
  • Specifiche di sistema
  • Generazione del codice
  • Moduli del codice
  • Logging dei segnali intermedi
  • Strutture di dati nel codice generato
  • Verifica del codice generato
  • Processo di costruzione di Embedded Coder®

Ottimizzazione del codice generato

Obiettivo: Identificare i requisiti dell'applicazione e configurare le impostazioni di ottimizzazione per soddisfare questi requisiti.

  • Considerazioni sull'ottimizzazione
  • Rimozione del codice non necessario
  • Rimozione del supporto dati non necessario
  • Ottimizzazione dello storage dei dati
  • Profiling del codice generato
  • Obiettivi di generazione di codice

Integrazione del codice generato con il codice esterno

Obiettivo: Modificare i modelli e i file per eseguire insieme il codice generato e il codice esterno.

  • Panoramica sull'integrazione del codice esterno
  • Punti di ingresso del modello
  • Creazione di un harness di esecuzione
  • Integrazione del codice generato in un progetto esterno
  • Controllo della destinazione del codice
  • Packaging del codice generato

Controllo dei prototipi di funzione

Obiettivo: Personalizzare i prototipi di funzione dei punti di ingresso del modello nel codice generato.

  • Prototipo di funzione del modello predefinito
  • Modifica dei prototipi di funzione
  • Codice generato con prototipi di funzione modificati
  • Considerazioni sul prototipo di funzione modello
  • Interfacce riutilizzabili per le funzioni
  • Funzioni predefinite

Giorno 2/3


Personalizzazione delle caratteristiche dei dati in Simulink®

Obiettivo: Controllare i tipi di dati e le classi di storage dei dati in Simulink.

  • Caratteristiche dei dati
  • Classificazione dei tipi di dati
  • Configurazione dei tipi di dati di Simulink
  • Impostazione delle classi di storage dei segnali
  • Impostazione delle classi di storage degli stati
  • Impatto delle classi di storage sui simboli

Personalizzazione delle caratteristiche dei dati usando gli oggetti di dati

Obiettivo: Controllare i tipi di dati e le classi di storage dei dati utilizzando gli oggetti di dati.

  • Panoramica degli oggetti di dati di Simulink®
  • Controllo dei tipi di dati con gli oggetti di dati
  • Creazione di tipi di dati riconfigurabili
  • Controllo delle classi di storage con oggetti di dati
  • Controllo del tipo di dati e dei nomi delle variabili
  • Dizionari dei dati

Creazione di classi di storage

Obiettivo: Progettare classi di storage e usarle per la generazione di codice.

  • Classi di storage definite dall'utente
  • Creazione di classi di storage
  • Uso di classi di storage definite dall'utente
  • Condivisione delle definizioni dei codici utente

Personalizzazione dell'architettura del codice generato

Obiettivo: Controllare l'architettura del codice generato secondo i requisiti dell'applicazione.

  • Architettura dei modelli Simulink
  • Controllo del partizionamento del codice
  • Generazione di codice riutilizzabile del sottosistema
  • Generazione di componenti delle varianti
  • Opzioni per il posizionamento del codice

Riferimento del modello e oggetti bus

Obiettivo: Controllare i tipi di dati e la classe di storage degli oggetti bus e usarli per generare codice dai modelli che fanno riferimento ad altri modelli.

  • Creazione di modelli referenziati riutilizzabili
  • Controllo dei tipi di dati dei segnali bus
  • Controllo della classe di storage dei segnali bus
  • Test del software dei modelli referenziati

Giorno 3/3


Pianificazione dell'esecuzione del codice generato

Obiettivo: Generare codice per i sistemi multi-rate nelle configurazioni per attività singola, per più attività e per le chiamate di funzione.

  • Schemi di esecuzione per sistemi single-rate e multi-rate
  • Codice generato per modelli single-rate
  • Codice per attività singola multi-rate
  • Codice per più attività multi-rate
  • Generazione di funzioni esportate

Test del codice generato sull'hardware target

Obiettivo: Usare la simulazione processor-in-the-loop (PIL) per convalidare, profilare e ottimizzare il codice generato sull'hardware target.

  • Panoramica del supporto hardware
  • Configurazione di Arduino
  • Convalida del codice generato sul target
  • Panoramica dell'ottimizzazione del target
  • Profiling del codice generato sul target
  • Uso delle librerie di sostituzione del codice
  • Creazione di tabelle di sostituzione del codice

Implementazione del codice generato

Obiettivo: Creare un'applicazione funzionante in tempo reale su una scheda Arduino® usando il supporto hardware fornito.

  • Architettura dell'applicazione embedded
  • Creazione di un harness di implementazione
  • Uso dei blocchi del driver del dispositivo
  • Esecuzione di un'applicazione in tempo reale
  • Modalità esterna

Integrazione dei driver dei dispositivi

Obiettivo: Generare blocchi personalizzati per integrare i driver dei dispositivi con Simulink e il codice generato.

  • Panoramica dei driver dei dispositivi
  • Uso dello strumento Legacy Code
  • Personalizzazione dei componenti del driver del dispositivo
  • Sviluppo di un blocco di driver del dispositivo per Arduino

Miglioramento dell'efficienza e della conformità del codice

Obiettivo: Controllare l'efficienza del codice generato e verificare la conformità agli standard e alle linee guida.

  • Model Advisor
  • Parametri di implementazione hardware
  • Conformità agli standard e alle linee guida

Livello: Intermedio

Durata: 3 giorno

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

Guarda il programma e iscriviti