Skip to content

Toolchain

A C toolchain for MIPS-X as ESS built it in the ES3890. It is not tied to the telephone adapters, so it may be useful for other ES38xx devices too.

Part What Where
Compiler and linker Clang and lld with an experimental MIPSX target llvm-project, branch mipsx
C library picolibc, ported to MIPS-X picolibc, branch mipsx
ABI Registers, calls, stack, assembler syntax, ELF and relocations mipsx-sdk/docs/abi.md
Simulator Runs a linked program, reports pipeline hazards, and can model the SPA3000's board mipsx-sdk/sim
Image tools Pack an ELF into an SPA3000 upgrade image, verify one, and talk to the stock recovery program mipsx-sdk/tools
Libraries lwIP, littlefs and BearSSL, built and tested on the simulator mipsx-sdk/third_party-builds
Ghidra module A processor module for MIPS-X and a loader for SPA firmware images ghidra-mipsx

The first release, with archives and a container image, is in preparation. Until then, the mipsx-sdk README says how to build everything from source.