01
Firmware
Firmware is software closely coupled to hardware. It configures devices, interacts with registers, handles interrupts, communicates with peripherals, and implements the product's embedded behavior.
02
State Machines
Finite-state machines provide an explicit representation of discrete embedded behavior. They are particularly useful for protocol handling, device modes, fault management, and sequenced operations.
state + event → transition → new state + optional action
03
Debugging
- JTAG/SWD debugging.
- Breakpoints and watchpoints.
- Serial logging.
- Logic analyzers.
- Oscilloscopes.
- Trace systems.
- Hardware-in-the-loop testing.
04
Firmware Updates
Long-lived embedded products need reliable firmware-update mechanisms. Secure boot, signed images, rollback strategies, version management, and recovery paths become important when devices are deployed remotely.