
- Define what an embedded system is and list its key characteristics
- Distinguish microcontrollers (MCUs) from microprocessors (CPUs) in practical terms.
- Interpret a simple block diagram and identify key functional units in an MCU.
- Describe the role of common peripherals (GPIO, timers, ADCs, communication interfaces).
- Understand trade-offs in MCU-based system design and recognize real-world application domains.
- Describe the key components and registers of the Cortex-M4 core.
- Explain the processor's memory model and its interaction with peripherals.
- Understand exception types and how the processor handles interrupts.
- Utilize the floating-point unit and CMSIS interface in simple programs.
- Interpret core behavior in debugging scenarios (e.g., stack frames, interrupt flow).
- Interpret STM32F412 datasheet and pinout information
- Use STM32CubeMX to configure peripherals and generate code
- Build, flash, and debug simple embedded applications with STM32CubeIDE
- Describe the alternate function model and how peripherals connect to pins
- Follow safe lab and prototyping practices in real hardware work