This is an AVR Emulator written for Fun, this emulator currently build For Atmega32, in future I hope to make it general to work with all AVR family.
The resources of information that i follow to build this emulator is
- book :
The AVR Microcontroller and Embedded Systems Using Assembly and C
By Muhammad Ali Mazidi - AVR opcode summary
- AVR instruction set manual
to be able to run the code, you need the Visual Studio 22 or .net 7 SDK to be installed in your machine
-
Download the project : you can download it as ZIP file or through git as following
git clone https://github.com/ibram-reda/AVREmulator.git
-
Open the project folder
cd .\AVREmulator
-
Run the program
- Restore Pakages
dotnet restore
- build the app
dotnet Build --no-restore
- run the UI
dotnet run --project .\AVREmulator.UI\
- Restore Pakages
Note that: the emulator is still not support all kind of AVR instructions so it will probably fail to execute the hex file. you can see all supported instruction in our emulator
the following is a simple code example can run and test with our emulator
Start:
LDi r18,0x29 ;Load Register 18 with value 0x29
rjmp Start ;Repete that again
the hex file for the above program can be found Here