WARNING
Still Incomplete/TODO
Sources
- Class lecture
- Lecture Slides
Simulators
- Software that copies the behavior of embedded systems on a host machine
- Advantages
- It can save time and costs because it does not require hardware
- Helpful during early-stage development and debugging
- Safety when designing embedded systems with potentially dangerous operations
- Disadvantages
- It represents the ideal situation, so it may not accurately reflect the behavior in the real-world
- It cannot simulate all real-world conditions
- Hardware-specific bugs may remain invisible
- Examples
- Proteus - combines circuit simulation with microcontroller simulation.
- MPLab - it is used for simulating PIC microcontroller code
- Tinkercad - online simulator for Arduino and basic electronic circuits
- Keil
Vision Simulator - used for simulating ARM-based embedded systems - AVR Simulator - for simulating AVR microcontrollers
- SimulIDE - simple, real-time simulator for electronics and PIC/AVR microcontrollers
- PICSsimLab - an open-source simulation tool designed for microcontroller-based electronic circuits, primarily focusing on PIC microcontrollers
- Wokwi - online simulator to simulate Arduino, ESP32, STM32, and other microcontrollers
Emulators
- Tools that replicate the functionality closer than simulators. Unlike simulators, its not limited to software only.
- Advantages
- Real-time debugging capability
- Accurate hardware behavior reproduction
- Can monitor program flow and memory in real-time
- Support breakpoints and step-by-step execution
- Disadvantages
- more expensive than simulators
- Requires specialized hardware
- Examples
- ARM Dstream
- emulator for ARM-based systems
- MPlab real ice
- Keil
- Atmel-Ice
- Segger J-link
- ARM Dstream
Compilers
- components
- preprocessor
- compiler
- assembler
- linkers