Skip to content

Latest commit

 

History

History
18 lines (11 loc) · 1001 Bytes

README.md

File metadata and controls

18 lines (11 loc) · 1001 Bytes

ATmega328p Emulator

An ATmega328p (commonly found in Arduino devices) emulator written in C. Some parts depend on avra and avr-gcc toolchains in order to work.

Supports most of the MCU's functionality - it's able to decode and execute all AVR instructions, it can handle interrupts, supports sleep mode.

API makes it easily embeddable (as a shared library or just by including the source code)

Contains two GUI apps - one that runs in terminal and one that runs in a browser (requires compiling to shared library and setting up a Python server)

image image image

TODO:

  • Write tests for the rest of the instructions
  • A just-in-time recompiler to speed things up maybe?