First things first.

Get some basic knowledge about Emul8.
Done that already? Skip this section and get started!

What is Emul8?

Emul8, as the name suggests, is an emulator of various embedded systems. With Emul8 you can develop embedded software entirely in a virtual environment that runs within your PC.

Emul8 is an Instruction Set Simulator (ISS), meaning it offers functional simulation of an embedded device or set of devices at the instruction level, and it is built for speed necessary to do iterative software development without getting irritated. Typically, you can work with your code in Emul8 more effectively than you would on real hardware, with comparable execution times but without the overhead of e.g. reprogramming the device or adding logs to produce more debug output.

How is that useful?

Running embedded software in a PC abstracts out the physicality of a real embedded system - since you are working in a fully controlled environment, you can monitor and influence all the elements in the system. This is difficult to impossible in typically constrained embedded devices, where debug output is scarce and the real state of the system unknown and hard to trace.

Will it replace my hardware?

Naturally, no. After all, you are probably developing a real embedded system, and while Emul8 is meant to enhance the development process by increasing your possibilities of debugging, testing and continuous integration, the final tests and deployment are always done on real hardware. The intention with Emul8 is to help you get there sooner and produce higher quality embedded software.

What architectures does it support?

  • ARM Cortex-A and Cortex-M
  • PowerPC
  • x86 (experimental)

Meaning that you can run a wide array of embedded systems on your PC host.

Interesting! What next?

Head on to the get started section, grab the code and check out how Emul8 can help you!


We are happy to answer!