MicCon
MicConOS is a virtual machine for Arduino Due and Mega, that can execute files compiled for it and work with hardware, such as SD, TFT, PS/2 keyboard, RTC.
MicConAsm is a translator for MicConOS (from assembly-like).
Requirements
MicConOS requires the following libraries
- Standart libraries from Arduino framework (Wire.h, SPI.h, libc, etc.)
Device Support
- Arduino Mega2560
- Arduino Due
- SD cards (via SD & SPI Library)
- RTC DS3231 (via Wire Library)
- PS/2 Keyboard
- LCD TFT (via UTFT Library)
Examples
You can compile examples from /prog with MicConAsm, copy *.bin files into SD and execute it with io.bin or 50.bin
Info
General description of system you can read in paradigm.md.
Assembly language table you can find in assembly_language.md.
License
MicConOS and MicConAsm is open-sourced software licensed under the GNU GPL v3.
EXPANDED TECHNICAL DETAILS
Embedded Virtual Machine Architecture
MicCon is an advanced software project that implements a simplified Virtual Machine (VM) and "Command Shell" directly on a standard Arduino.
- Translator/Byte-Code Kernel: The project includes a "Translator" that converts a custom scripting language into compact byte-codes. The Arduino reads these codes from serial or memory and "Executes" them on its virtual stack.
- Visual Studio 2015 Support Environment: The VM toolchain was developed in Visual Studio, ensuring the C++ code is highly modular and memory-efficient for the Arduino's 2KB of RAM.
Interaction
- Live Shell Debugging Interface: Allows the user to "Talk" to the Arduino via a serial shell, executing programs and querying internal machine states in real-time, effectively creating a "Mini OS" for the hardware.