Skip to content

GR712RC / GR740 QEMU Emulator

QEMU emulation of two Cobham Gaisler space-grade SoCs, targeting RTEMS 5 applications built with the RCC 1.3.2 (RTEMS Compiler Collection) toolchain:

  • -M gr712rc — dual-core LEON3FT
  • -M gr740 — quad-core LEON4 (NGMP)

Both machine types are implemented as patches on top of QEMU 8.2.2 and live in the qemu/ submodule.

Screenshot

Documentation

Architecture & internals

  • QEMU primer — QEMU architecture explained for TSIM / TEMU / GRSIM users: TCG, QOM, MemoryRegion, qemu_irq, timers, and how a bus cycle travels from RTEMS to a device and back.
  • Code map — where things live: relevant files in the QEMU tree, the GR712RC / GR740 memory maps, RTEMS BSP sources worth reading, and the Kconfig / Meson build wiring.
  • Adding a peripheral — step-by-step walkthrough for adding a new GRLIB APB device, including build-system integration, APB PnP registration, IRQ wiring, and timer-driven devices.
  • Debugging — GDB remote debugging, QEMU monitor commands, the trace subsystem, quick fprintf instrumentation, and a catalogue of common failure modes with root causes and fixes.
  • Contributing — Git workflow for this repo: cloning with submodules, editing QEMU source and committing to the fork, updating the submodule pointer, toolchain setup, and rebasing on upstream QEMU releases.

Interfaces

  • UART socket interface — connecting external simulators to APBUARTs 1–4 via TCP socket backends; raw byte-stream protocol; extending the convention to CAN and SpaceWire.
  • Adapter API — v0 HTTP/WebSocket contract for the FastAPI service that wraps qemu-system-sparc and exposes it to UIs and external models.
  • Running the service — operator walkthrough for starting the adapter + bundled React UI, both natively and via Docker Compose.
  • Portable export — packaging the full emulator + UI as a docker save tarball for demoing on a fresh PC with no source.

Hardware reference

  • GR740 IP cores — emulation status and strategy for every IP core in the GR740 datasheet, with difficulty ratings.

Source

Source code, issue tracker, and CI live on GitHub.