REAL TIME SYSTEMS AND APPLICATIONS

Alessia SAGGESE REAL TIME SYSTEMS AND APPLICATIONS

0622700097
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA MAGISTRALE
INGEGNERIA INFORMATICA
2023/2024

OBBLIGATORIO
ANNO CORSO 2
ANNO ORDINAMENTO 2022
PRIMO SEMESTRE
CFUOREATTIVITÀ
324LEZIONE
324ESERCITAZIONE
324LABORATORIO
Obiettivi
CONOSCENZE E CAPACITÀ DI COMPRENSIONE:
L’INSEGNAMENTO MIRA A FORNIRE LE CONOSCENZE PER LA PROGETTAZIONE E REALIZZAZIONE DI FIRMWARE PER MICROCONTROLLORI ARM BASATI SU SISTEMI OPERATIVI REAL-TIME. IN PARTICOLARE IL CORSO FORNIRÀ LE BASI TEORICHE NECESSARIE A COMPRENDERE LE PRINCIPALI PROBLEMATICHE INERENTI ALLA SCHEDULAZIONE DI TASK REAL-TIME.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE:
ESEMPI PRATICI FOCALIZZATI SUL SISTEMI FREERTOS SARANNO MIRATI A MOSTRARE COME REALIZZARE FIRMWARE TASK-BASED, LA SCHEDULAZIONE, LA GESTIONE DELLA MEMORIA, LA COMUNICAZIONE E LA CONCORRENZA TRA I TASK NONCHÉ COME STRUTTURARE SEMPLICI DRIVER PER INTERFACCIARSI CON PERIFERICHE BASATE SU INTERFACCE SERIALI. IL CORSO SI CONCLUDE CON UN’ATTIVITÀ PROGETTUALE CHE HA L’OBIETTIVO DI PROGETTARE, REALIZZARE E VALIDARE IL FIRMWARE PER IL CONTROLLO DI UN ROVER.
Prerequisiti
PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI DEL CORSO È RICHIESTA LA CONOSCENZA DEL LINGUAGGIO C, DELL’AMBIENTE STM32CUBEIDE PER LA PROGRAMMAZIONE DI MICROCONTROLLORI PRODOTTI DA STMICROELECTRONICS E CONOSCENZE DI BASE SUI SISTEMI OPERATIVI.
Contenuti
UNITÀ DIDATTICA 1: SISTEMI OPERATIVI REAL-TIME E SCHEDULAZIONE
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 14/4/0)
- 1 (2 ORE LEZIONE): INTRODUZIONE AL CORSO, RICHIAMI AI CONCETTI SUI SISTEMI REAL-TIME ED INTRODUZIONE AI SISTEMI OPERATIVI REAL-TIME
- 2 (2 ORE LEZIONE): INTRODUZIONE AI CONCETTI DI BASE: VINCOLI TEMPORALI, VINCOLI DI PRECEDENZA, VINCOLI DI RISORSE, IL CONCETTO DI SCHEDULING E METRICHE DI PERFORMANCE
- 3 (2 ORE LEZIONE): SCHEDULAZIONE DI TASK APERIODICI
- 4 (2 ORE LEZIONE): SCHEDULAZIONE DI TASK PERIODICI
- 5 (2 ORE ESERCITAZIONE): ESERCIZI SULLA SCHEDULAZIONE DI TASK APERIODICI E PERIODICI
- 6 (2 ORE LEZIONE): SPORADIC SERVERS, FIXED-PRIORITY SERVERS, DINAMIC-PRIORITY SERVERS
- 7 (2 ORE LEZIONE): PROTOCOLLI DI ACCESSO ALLE RISORSE
- 8 (2 ORE LEZIONE): PROBLEMATICHE DI PROGETTAZIONE A LIVELLO KERNEL E A LIVELLO APPLICAZIONE
- 9 (2 ORE ESERCITAZIONE): ESERCIZI SU FIXED-PRIORITY SERVERS E ACCESSO ALLE RISORSE
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: CONOSCENZA DEI CONCETTI DI BASE DELLA SCHEDULAZIONE DI TASK REAL-TIME, COMPRENSIONE DELLE PRINCIPALI PROBLEMATICHE PROGETTUALI DI SISTEMI HARD REAL-TIME
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: CAPACITÀ DI PROGETTARE E ANALIZZARE LA SCHEDULAZIONE DI TASK REAL-TIME

UNITÀ DIDATTICA 2: RTOS PROGRAMMING BASICS
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/6/4)
- 1 (2 ORE LEZIONE): INTRODUZIONE A FREERTOS, CMSIS ED I PRINCIPALI AMBIENTI DI SVILUPPO
- 2 (2 ORE ESERCITAZIONE): CONFIGURAZIONE DELL'AMBIENTE DI SVILUPPO E STRUMENTI DI DEBUG
- 3 (2 ORE ESERCITAZIONE): HELLO WORLD CON FREERTOS (USARE L'HAL CON FREERTOS PER L'ACCENSIONE DI LED)
- 4 (2 ORE ESERCITAZIONE): HELLO WORLD CON FREERTOS (UTILIZZARE PIÙ TASK PER IL LAMPEGGIO DI LED A FREQUENZE DIFFERENTI TRAMITE LOOP)
- 5 (2 ORE LEZIONE): SINCRONIZZAZIONE E COMUNICAZIONE TRA TASK (CODE E SEGNALAZIONI)
- 6 (2 ORE LABORATORIO): ESERCIZIO SU SINCRONIZZAZIONE E COMUNICAZIONE TRA TASK (COORDINAMENTO TRA DUE TASK DI LETTURA PULSANTE E ACCENSIONE LED IN LOOP)
- 7 (2 ORE LABORATORIO): ESERCIZIO SU SINCRONIZZAZIONE E COMUNICAZIONE TRA TASK (ESERCIZIO DI SOPRA MA CON PIÙ LED)

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DEI CONCETTI DI BASE DEL SISTEMA OPERATIVO FREERTOS
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: PROGETTARE, REALIZZARE E TESTARE UN FIRMWARE BASATO SU FREERTOS.

UNITÀ DIDATTICA 3: I/O CON FREERTOS
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 2/0/22)
- 1 (2 ORE LEZIONE): STRUTTURA BASE DI UN DRIVER SU FREERTOS
- 2 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER UART CON POLLING
- 3 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER UART CON POLLING
- 4 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON INTERRUZIONI
- 5 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON INTERRUZIONI
- 6 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON DMA (BASE)
- 7 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON DMA (BUFFERING)
- 8 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON DMA (BUFFERING)
- 9 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON DMA (STREAM BUFFER)
- 10 (2 ORE LABORATORIO): SCRITTURA DI UN DRIVER PER UART CON DMA (STREAM BUFFER)
- 11 (2 ORE LABORATORIO): UTILIZZO AVANZATO DELLE CODE PER MIGLIORARE IL DISACCOPPIAMENTO TRA TASK
- 12(2 ORE LABORATORIO): UTILIZZO AVANZATO DELLE CODE PER MIGLIORARE IL DISACCOPPIAMENTO TRA TASK

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENSIONE DELLE PRINCIPALI MODALITÀ DI REALIZZAZIONE DI UN DRIVER PER SISTEMA FREERTOS.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: PROGETTARE, REALIZZARE E TESTARE UN DRIVER PER DISPOSITIVI BASATI SU UART PER IL SISTEMA FREERTOS.

UNITÀ DIDATTICA 4: PROJECT WORK (16 ORE)
IPOTESI DI PROJECT WORK: PROGETTAZIONE, REALIZZAZIONE E VALIDAZIONE DELLA STRUTTURA DEL FIRMWARE REAL-TIME ALL'INTERNO DEL QUALE ANDRANNO INTEGRATI I TASK DI DEL ROVER.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE: COMPRENDERE LE PRINCIPALI PROBLEMATICHE NELLA PROGETTAZIONE, REALIZZAZIONE E VALIDAZIONE DI UN FIRMWARE GENERICO PER IL CONTROLLO DI UN ROVER.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: PROGETTARE E REALIZZARE LA STRUTTURA DI UN FIRMWARE REAL-TIME PER IL CONTROLLO DI UN ROVER.
Metodi Didattici
IL CORSO SI ARTICOLA IN UN INSIEME DI LEZIONI TEORICHE, ESERCITAZIONI, CON UNA PARTE DEL CORSO DEDICATO AL PROGETTO APPLICATIVO. NELLE ESERCITAZIONI SARANNO PRESENTATI ALCUNI ESEMPI IN GRADO DI DECLINARE IN CONCRETO QUANTO ILLUSTRATO DAL PUNTO DI VISTA TEORICO.
Verifica dell'apprendimento
LA VALUTAZIONE DEGLI ALLIEVI SARÀ DECLINATA ATTRAVERSO LE SEGUENTI FASI:

- VALUTAZIONE DELLA CAPACITÀ DA PARTE DELL’ALLIEVO DI SAPER PROGETTARE FIRMARE PER ARM BASATI SU SISTEMI REAL TIME: GLI ALLIEVI SARANNO DIVISI IN GRUPPI DI LAVORO, E DOVRANNO DOCUMENTARE E SVILUPPARE, IN TUTTE LE SUE FASI, LA PROGETTAZIONE E REALIZZAZIONE DI UN APPLICAZIONE DI SISTEMA E DRIVERS PER DISPOSITIVI PER APPLICAZIONI REAL TIME.
- VALUTAZIONE DELL’ACQUISIZIONE DA PARTE DELL’ALLIEVO DEGLI ARGOMENTI TEORICI: L’ALLIEVO, A VALLE DELLA CONSEGNA DEL PROGETTO, DOVRÀ MOSTRARE DI AVER ACQUISITO COMPETENZE SUGLI ARGOMENTI TEORICI ATTRAVERSO UNA PROVA ORALE IN CUI VERRÀ DISCUSSO IL PROGETTO SVILUPPATO.
Testi
LIBRO HANDS-ON RTOS WITH MICROCONTROLLERS E CODICE SORGENTE DELLE ESERCITAZIONI PREVISTE DAL LIBRO

LIBRO HARD REAL-TIME COMPUTING SYSTEMS - PREDICTABLE SCHEDULING ALGORITHMS AND APPLICATIONS (BUTTAZZO)

SLIDE DEL CORSO ED ESERCITAZIONI
Altre Informazioni
L'INSEGNAMENTO E' EROGATO IN ITALIANO
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-05]