Contattataci

Struttura del corso

Introduzione alla programmazione di sistemi embedded

  • Cos’è un sistema embedded?
  • Sfide e considerazioni nella progettazione di sistemi embedded
  • Introduzione all’utilizzo di Rust per lo sviluppo di sistemi embedded

Configurazione dell’ambiente di sviluppo

  • Installazione di Rust per la programmazione di sistemi embedded
  • Impostazione degli strumenti e dell’ambiente di sviluppo
  • Presentazione delle piattaforme di sviluppo embedded e dei microcontrollori

Concetti fondamentali del linguaggio Rust per sistemi embedded

  • Panoramica sulla sintassi e sui concetti di Rust rilevanti per lo sviluppo embedded
  • Gestione della memoria e regole di ownership nella programmazione embedded
  • Gestione delle interruzioni e programmazione a basso livello con Rust

Lavorare con i periferici e sviluppare driver hardware

  • Interfacciarsi con i pin GPIO (General Purpose Input/Output)
  • Utilizzo di timer, contatori e PWM (Pulse Width Modulation)
  • Comunicazione tramite UART (Universal Asynchronous Receiver-Transmitter)
  • Protocolli SPI (Serial Peripheral Interface) e I2C (Inter-Integrated Circuit)

Concorrenza e programmazione in tempo reale

  • Multitasking e gestione della concorrenza nei sistemi embedded
  • Meccanismi di sincronizzazione adatti ai requisiti in tempo reale
  • Pianificazione delle attività e gestione della priorità delle operazioni in Rust

Astrazioni di basso livello e accesso diretto all’hardware

  • Utilizzo dei registri mappati in memoria e dell’accesso diretto all’hardware
  • Impiego delle librerie HAL (Hardware Abstraction Layer) offerte da Rust
  • Realizzazione di astrazioni a basso livello per un controllo efficiente dell’hardware

Debugging e test delle applicazioni embedded

  • Tecniche e strumenti utili per il debugging nei sistemi embedded
  • Realizzazione di unit test e test d’integrazione per le applicazioni embedded
  • Analisi prestazionale e ottimizzazione del codice destinato a sistemi embedded

Gestione dell’energia e ottimizzazione energetica

  • Strategie per contenere il consumo energetico nei sistemi embedded
  • Ottimizzazione del codice al fine di ridurre l’impatto energetico

Aspetti legati alla sicurezza e all’affidabilità

  • Sicurezza della memoria e buone pratiche di programmazione affidabile nei sistemi embedded
  • Gestione degli errori e tolleranza alle avarie nella programmazione con Rust per sistemi embedded
  • Implementazione di protocolli di comunicazione sicuri e utilizzo della crittografia nelle applicazioni embedded

Sintesi finale e prossimi passi

Requisiti

  • Conoscenze di base dei concetti fondamentali della programmazione
  • Familiarità con un linguaggio di programmazione (ad esempio C o C++)
  • Conoscenza dei microcontrollori e dei loro periferici
  • Comprensione generale dello sviluppo di sistemi embedded

Destinatari del corso

  • Sviluppatori
  • Ingegneri di sistemi embedded
 21 ore

Numero di Partecipanti


Prezzo per partecipante

Recensioni (1)

Corsi in Arrivo

Categorie relative