Skip to content

Roller23/digi-avr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

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?