blobly_emb
public · MIT V · ThreadXThe embedded stack. A non-AUTOSAR automotive runtime: you write function blocks, and one config file wires them across cores, to the bus, and into a diagnostic server.
Open-source tools for building and testing automotive ECUs. blobly_emb turns one config file into ECU firmware: function blocks exchanging signals across cores, CAN and CAN-FD, a UDS server with fault memory, persistent data and a signed bootloader, on STM32H7 boards or a Linux host. blobly_net is the bus tester that goes with it, and it works just as well on its own, with the CAN adapter already on your desk.
A function block reports a fault or keeps a value across a power cycle by writing one of its ports; everything else is configuration. Start on Linux with virtual buses and no hardware, then run the same generated code on silicon.
system.tomlmalloc, no collector, checked in CIFunction blocks declare what they read and write. The generated Loom wires them across cores and to the bus.
blobly_embFour boards composed in one system.toml. Cross-board wiring is derived and checked at build time.
A DTC is a port write. A signal declared persist survives a power cycle. A UDS server reads both back.
Fixed arrays and static tables only, enforced by a lint gate in CI. 200 blocks link to a 448 KB binary.
blobly_netSocketCAN, Vector, Kvaser, PCAN and CANsub, CAN-FD on all of them. Or no hardware at all.
blobly_netUDS from Lua: DTCs as records, DIDs, functional addressing over CAN and DoIP, and flashing.
blobly_netSimulated ECUs from a DBC, E2E stamped and checked, and rest-bus replay of MF4 recordings.
measured149 ns cross-core reads on a host, and what the H755's shared SRAM does differently.
The embedded stack. A non-AUTOSAR automotive runtime: you write function blocks, and one config file wires them across cores, to the bus, and into a diagnostic server.
The bus tester that drives and watches it. CAN, CAN-FD, DoIP and SOME/IP; diagnostics, scripted tests, simulated ECUs and replay, from a GUI or headless in CI.