Back to browse
GitHub Repository

m33mu is a Cortex-M33 emulator. m33mu emulates ARMv8-M Cortex-M targets with TrustZone awareness.

32 starsC

M33mu – Cortex-M33 emulation with TrustZone, reverse stepping, and GDB

by danielinux·Mar 19, 2026·2 points·0 comments

AI Analysis

●●SolidNiche GemWizardry

TrustZone-aware emulation with reverse stepping beats flashing physical boards.

Strengths
  • Secure/Non-secure domain emulation handles TrustZone transitions locally.
  • Reverse stepping and call-trace support drastically shorten debug loops.
  • TUI and GDB server integration work without modifying existing firmware.
Weaknesses
  • Only supports Cortex-M33, limiting use for other ARM cores.
  • AGPL license may restrict adoption in commercial proprietary firmware projects.
Target Audience

Embedded firmware engineers

Similar To

QEMU · Renode · Wokwi

Post Description

I’ve been building m33mu, a Cortex-M33 emulator for running and debugging ARMv8-M firmware on a regular host machine.

The main reason I started it was that I wanted a tighter loop for firmware work than “flash board, reproduce bug, attach debugger, repeat”, especially for TrustZone-related behavior where secure/non-secure transitions are part of the problem.

m33mu can run firmware images directly on the host, has a built-in GDB remote server, supports multiple images for secure/non-secure setups, and has a terminal UI for inspecting execution state. One phase I care about a lot is facilitating my debugging sessions, so I also added execution recording for reverse stepping and call-trace support.

It emulates eleven different microcontrollers, covering extended SPI bus with plugins, Ethernet via tap or VDE, USB (MCU is device side, connected to real host) via GadgetFS backend

Although early, it is already usable today and I’m using it in interactive debug sessions (TUI), automated scripts and even in GitHub Actions of other projects, to boot and test real firmware images in the cloud and replace Hardware-in-the-loop in automated tests.

I’d really like feedback from people who work on embedded firmware, emulators, debuggers, or TrustZone-enabled systems.

Similar Projects

Education●●Solid

M68k assembly emulator that runs in the browser

Zero-setup 68k assembly debugger that finally replaces the Windows-only Easy68K standard.

Niche GemCozy
aldino97
1932mo ago
Developer Tools●●Solid

Claude Code for Mobile GUI Automation

Splitting planner (Claude/Codex) from an orchestrator/skill layer that handles retries, rollback and stateful sessions is the project's best idea — it directly targets the brittleness of long LLM GUI workflows. The repo gives practical bits (CLI, install script, direct coordinate tap mode and unified JSON outputs), but it's early and niche: useful if you're building LLM-controlled phone automation, less interesting for general automation folks.

Big BrainNiche Gem
UgOrange
103mo ago