Emul8 lets you develop embedded systems in your PC.

Features

Full Observability

Discover everything there is to know about your embedded system, detect illegal memory accesses, addressing nonexisting peripherals and bugs in protocols; understand how your code really works by seeing how it interacts with the hardware.

State Saving / Loading

Instantly save your entire system to a single file, send it to other members of your team over the network to collaborate without the "works-for-me" effect. Clone your entire development environment within seconds and resume where you left off last time.

Automation / Scriptability

Automatically run and re-run your software in different configurations and setups, in a self-contained environment where you have full control over. Run tests and do continuous integration on a scale previously unknown to embedded systems software development.

Run Unmodified Binaries

Forget about having to tweak your embedded program and OS, just compile and run it as you normally would - except in a virtual environment. This way, you can effortlessly switch back and forth between real and emulated hardware.

API-based

Benefit from autocompletion and suggestions thanks to a self-describing API that exposes a wide array of capabilities. Easily create models for new hardware with built-in support for Emul8 features through inheritance.

Plugins / Extensibility

Create custom platforms, extensions and integrations for visualisation, debugging, analysis and interoperability purposes. Extend the framework and adapt it to your needs through plugins.