200+ MIPS Performance
Blazing fast emulation speed achieved through hand-optimized x64 assembly implementation. Test firmware in real-time.
High-performance ARM Cortex-M emulator implemented in x64 assembly. Execute and debug ARM firmware on your development PC with cycle-accurate emulation achieving over 200 MIPS.
// Initialize the ARM emulator
emu_init();
// Load firmware binary at flash address
emu_load_binary(firmware, 0x08000000);
// Configure memory regions
emu_set_flash_size(512 * 1024); // 512KB
emu_set_ram_size(128 * 1024); // 128KB
// Run until breakpoint
emu_run_until_break();
// Inspect registers
uint32_t pc = emu_get_reg(REG_PC);
uint32_t sp = emu_get_reg(REG_SP);
// Disassemble current instruction
char buf[64];
emu_disassemble(pc, buf, sizeof(buf));
Blazing fast emulation speed achieved through hand-optimized x64 assembly implementation. Test firmware in real-time.
Complete support for Cortex-M0, M0+, M3, M4, M4F, and M7 cores including all DSP and SIMD instructions.
Full FPv4 and FPv5 single-precision floating-point unit emulation for M4F and M7 cores.
Complete Thumb and Thumb-2 instruction set coverage with 100% accuracy for all supported cores.
Integrated debugging API with breakpoints, watchpoints, single-stepping, and memory inspection.
Runs on Windows 10+ and Linux. Available as static library or DLL for easy integration.
emu_init()
emu_init_ex()
emu_reset()
emu_shutdown()
emu_step()
emu_run()
emu_run_until_break()
emu_load_binary()
emu_read8()
emu_read16()
emu_read32()
emu_write8()
emu_write16()
emu_write32()
emu_get_reg()
emu_set_reg()
emu_disassemble()
emu_get_cycle_count()
emu_set_breakpoint()
emu_get_version()
| Architecture | ARMv7-M (Cortex-M0/M0+/M3/M4/M4F/M7) |
|---|---|
| Instruction Set | Thumb, Thumb-2 (270 instructions, 100% coverage) |
| FPU Support | FPv4-SP, FPv5-SP (single-precision) |
| DSP Extensions | Full DSP/SIMD instruction support |
| Performance | 200+ MIPS on modern x64 CPUs |
| Memory | Configurable Flash (up to 16MB) and RAM (up to 4MB) |
| Host Platform | Windows 10+, Linux (x64) |
| Implementation | x64 Assembly (MASM/GAS) |
| Integration | C API, Static Library, DLL |
| Current Version | 6.1.1 |
Get started with NitroSIM today. Contact us for evaluation access and licensing information.