Embedded Systems

Course objectives

ENG GENERAL The module provides: the basics of the design of digital circuits for embedded systems, the ability to make decisions in the derivation of design solutions from technical specifications, selecting the most suitable architectures for different applications. SPECIFIC • Knowledge and understanding: to know the architectures for embedded systems in their different shapes and characteristics, to know the architectures of 8, 16 and 32 bit CPUs, the characteristics of an Instruction Set Architecture, the typical characteristics of external units: memories, timers, interrupt controllers, communication units. Building toolchains for embedded systems, high-level languages and assembly, code analysis and debugging. • Applying knowledge and understanding: to apply embedded system design methodologies, ability to write code characteristic of embedded systems (e.g. direct access to hardware, interrupt routines). • Making judgements: to carry out embedded systems design solutions based on requirements. • Communication skills: to know how to describe the solutions chosen to solve the design problem: characteristics of instruction set architectures, required level of programming (C language, assembly), expected performance and description of the organization of the software project. • Learning skills: ability to continue subsequent studies considering more advanced hardware/software architectures, for example multicore systems or microkernel-based systems.

Channel 1
FRANCESCO MENICHELLI Lecturers' profile

Program - Frequency - Exams

Course program
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
Prerequisites
Digital electronic circuits and systems, C language programming.
Books
Course slides and additional material available at https://sites.google.com/site/embeddedsystemssapienza/
Frequency
Non-mandatory attendance
Exam mode
Written open questions on concepts exposed during the course
  • Lesson code1038139
  • Academic year2025/2026
  • CourseElectronics Engineering
  • CurriculumIngegneria Elettronica (percorso valido anche ai fini del conseguimento del doppio titolo italo-statunitense o italo-francese)
  • Year1st year
  • Semester2nd semester
  • SSDING-INF/01
  • CFU6