EMBEDDED SYSTEMS

Obiettivi formativi

L' obiettivo del corso è quello di sviluppare negli studenti conoscenza e capacità di comprensione nell'ambito della progettazione dei circuiti digitali per sistemi embedded, nonché la capacità di giudizio nella derivazione delle soluzioni progettuali dalle specifiche tecniche, selezionando le architetture più adeguate alle diverse applicazioni. GENERALI Il modulo fornisce: le basi della progettazione dei circuiti digitali per sistemi embedded, la capacità di giudizio nella derivazione delle soluzioni progettuali dalle specifiche tecniche, selezionando le architetture più adeguate alle diverse applicazioni. SPECIFICI • Conoscenza e capacità di comprensione: conoscere le architetture per sistemi embedded nelle loro diverse forme e caratteristiche, conoscere le architetture delle CPU a 8, 16 e 32 bit, le caratteristiche di un Instruction Set Architecture, le caratteristiche tipiche delle unità esterne: memorie, timer, interrupt controller, unità di comunicazione. Toolchain di compilazione su sistemi embedded, linguaggi di alto livello e assembly, analisi del codice prodotto e debug. • Capacità di applicare conoscenza e comprensione: applicare metodologie di progettazione di sistemi embedded, capacità di scrivere codice caratteristico dei sistemi embedded (es. accesso diretto all'hardware, routine di interrupt). • Capacità critiche e di giudizio: Capacità di scegliere le soluzioni e le architetture di microcontrollori più adatte al contesto del progetto, distinguendo le prestazioni/caratteristiche delle diverse CPU e delle unità esterne presenti nell'architettura. • Abilità comunicative: saper descrivere le soluzioni scelte per risolvere il problema progettuale: caratteristiche dell'Instruction Set Architecture, livello di programmazione necessario (linguaggio C, assembly), prestazioni attese e descrizione dell'organizzazione del progetto software. • Capacità di proseguire lo studio in modo autonomo nel corso della vita: capacità di proseguire gli studi successivi approfondendo le tematiche sulle architetture hardware/software più avanzate, ad esempio sistemi multicore o sistemi basati su microkernel.

Canale 1
FRANCESCO MENICHELLI Scheda docente

Programmi - Frequenza - Esami

Programma
Introduction (4 hours) - Embedded systems definition and application domains - Embedded systems components Hardware units (28 hours) - Instruction Set Architecture Design - The ARM Architecture and ISA - Memory and memory map, bus, bus hierarchy - GPIO Devices - Timers, Capture/Compare/PWM, clock generation in microcontrollers, watchdogs - Interrupts, interrupt controller, vector table - Communication devices, RS232, SPI, I2C, CAN - Acquisition devices, ADC, DAC Software and toolchain (16 hours) - Embedded systems toolchain, compiler, assembler, linker - Interaction between C and assembly code - Embedded systems software structure, code and data - Debug, verification, executable analysis
Prerequisiti
Digital electronic circuits and systems, C language programming.
Testi di riferimento
Course slides and additional material available at https://sites.google.com/site/embeddedsystemssapienza/
Frequenza
Non-mandatory attendance
Modalità di esame
Written open questions on concepts exposed during the course
Modalità di erogazione
Frontal lectures in classroom
  • Codice insegnamento1038139
  • Anno accademico2024/2025
  • CorsoIngegneria Elettronica - Electronics Engineering
  • CurriculumIngegneria Elettronica (percorso valido anche ai fini del conseguimento del doppio titolo italo-statunitense o italo-francese)
  • Anno1º anno
  • Semestre2º semestre
  • SSDING-INF/01
  • CFU6
  • Ambito disciplinareAttività formative affini o integrative