Struttura del corso
Introduzione
Concetti base sui sistemi operativi in tempo reale (RTOS)
Il concetto di multitasking nei sistemi embedded
Panoramica sul kernel di FreeRTOS
Descrizione generale della scheda STM32 MCU
Configurazione dell’ambiente di sviluppo
- Scaricamento e installazione di tutti i software necessari
- Impostazione del firmware e dell’hardware STM32
Gestione delle attività nel RTOS
- Memoria dello stack e dimensionamento dello stack delle attività
- Creazione delle prime attività
- Utilizzo dei parametri nelle attività
- Impostazione delle priorità delle attività
- Analisi degli stati in cui può trovarsi un’attività
- Implementazione di ritardi temporali
- Utilizzo del hook della task idle
- Cancellazione delle attività
Comunicazione tra le attività
- Gestione delle code
- Cos’è una coda?
- Utilizzo pratico di una coda
- Gestione degli interrupt (semamfori)
- Nozioni generali su interrupt e semamfori
- Scrivere un gestore di interrupt in FreeRTOS
- Utilizzo dei semamfori per sincronizzare le attività con gli interrupt
- Inserimento dati nelle code all’interno delle routine di servizio degli interrupt
Gestione delle risorse
- Utilizzo dei mutex
- Impiego dei semamfori binari
- Adozione dei semamfori numerici
Gestione della memoria e del tempo
Approfondimenti interni di FreeRTOS
- Strumenti di debug e ottimizzazione delle prestazioni
- Come funziona internamente il kernel
Sviluppo di un progetto per far lampeggiare una scheda utilizzando FreeRTOS
- Conoscenza dei pin GPIO sulla scheda STM32
- Programmazione delle attività per far lampeggiare un LED integrato
- Controllo dell’accensione e dello spegnimento del LED tramite code di comunicazione
- Gestione della commutazione on/off del LED mediante interrupt
Risoluzione dei problemi comuni
Considerazioni finali
Requisiti
- Conoscenza di base dei sistemi embedded
- Esperienza basilare nella programmazione in C
Destinatari del corso
- Ingegneri
- Studenti di ingegneria
- Chiunque sia interessato ad approfondire FreeRTOS
- Chiunque abbia interesse nei sistemi embedded
Recensioni (7)
Essere in grado di richiedere argomenti avanzati anche se non erano stati pianificati inizialmente.
Gabriel Chouinard - Spark Microsystems
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
Ciò che mi è piaciuto di più è stato coprire l'intera struttura di FreeRTOS e sapere come utilizzare gli strumenti diversi forniti da questo tipo di programmazione per i miei progetti personali.
Jaime - Cetem
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
La parte pratica del corso
Sergio - Cetem
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
Mi è piaciuto molto che Grzegorz fosse un vero professionista, una persona che sapeva di cosa stava parlando. Si poteva avvertire che padroneggiava l'argomento e era disposto a condividere questa conoscenza con noi. La conoscenza trattata durante la parte teorica era davvero importante e presentata in modo comprensibile.
Piotr - Kongsberg
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
Il corso di formazione era organizzato molto bene. Il formatore possedeva la conoscenza e l'esperienza necessarie sull'argomento. Abbiamo avuto molti esercizi che ci hanno permesso di comprendere a fondo ciò che veniva discusso durante le lezioni. Il formatore ha dimostrato pazienza quando sono sorti problemi e ha risposto a tutte le domande.
Alexandru - Siemens
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
L'istruttore era molto competente e gli esempi di codifica live su un dispositivo hardware "reale" con schermo erano ottimi.
Silver Kuusik - Engie Mobisol GmbH
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica
Mi è piaciuto il fatto che la formazione fosse più indirizzata come un caos preparato. Ciò significa che la formazione ha preso una vita strutturata propria, ma ha lasciato ampio spazio per l'apprendimento e gli errori.
julius gunn - self
Corso - FreeRTOS: Programming for Real Time Operating Systems
Traduzione automatica