A Visual Studio Code extension providing a hardware simulator for the AVR ATmega644 microcontroller, specifically optimized for SPOS (Simple Operating System) development.
⚡️ How to use?
Install extension, open command palette (Mac: SHIFT + CMD + P, Windows: SHIFT + CTRL + P) and search SPOS: Open AVR ATmega644 SPOS Simulator. This should open a sideview.
If you save your code the extension automatically detects a Makefile and compiles the code, converts it to HEX instruction format and executes it on the simulator.
You can use the settings to mark map areas of the heaps so it is easier to understand whats happening
Please report bugs or suggest features using the Issues function of GitHub
💥 Troubleshooting
Make sure you have installed a avr compiler for your terminal. It should include the commands make and avr-objcopy -> Test it in your terminal
Make sure your project is compiling (in release mode), you can check this by executing make all in the folder that contains your Makefile
🚀 Features
Real-time Emulation: Simulate ATmega644 instruction execution and register states.
React-Powered UI: A modern, responsive dashboard to visualize memory, I/O ports, and CPU status.
SPOS Integration: Tailored support for the SPOS academic OS environment.
Bun-Powered Build: Uses Bun for lightning-fast bundling of both the extension and the webview.
🏗️ Project Structure
The codebase is organized into two primary layers:
src/extension.ts (Host): The VS Code extension entry point. It manages the editor lifecycle, commands, and communication with the simulator logic.
src/webview/ (Frontend): A React application that serves as the simulator's user interface, displaying the state of the AVR core.