#embedded
3 pieces tagged embedded.
-
A Heap Without a Tail: A TLSF Allocator for VaiOS, and Teaching QEMU to Measure It
VaiOS's heap is fast on average and resists fragmentation — but its malloc has a worst case that grows with the heap, and it runs with interrupts off, which makes it an interrupt-latency problem in disguise. I gave the kernel a second allocator — TLSF, O(1) in the worst case — behind a swappable backend interface, so either can be selected from config. Then I tried to measure the difference under QEMU and found the cycle counter was fake. This is how I made the measurement honest: a real time source from semihosting, and a deterministic metric that doesn't need one at all.
-
From Mesh to Motion: The Mechanics and Numerics of a Flight Simulator
vsim_d is the physics daemon that flies Vayu's real firmware in software. A field report from the seam where Newton–Euler rigid-body mechanics meets RK4, quaternion drift, impulse contact, and a hard-real-time loop — including the cleanest way I know to turn a triangle mesh into an inertia tensor, and the bugs where the physics was right but the numerics (or the systems) lied.
-
Benchmarking VAIOS Against FreeRTOS and Zephyr
We measured our in-house real-time operating system against FreeRTOS and Zephyr on the same flight-controller hardware — scheduling, IPC, memory, timing, and footprint. Here is the full set of results.