Embedded and real-time systems

Firmware that is checked on the equipment it controls.

Herder develops firmware, interfaces, and test paths for systems where timing, signals, and fault behavior have to match the physical equipment.

The problem

Firmware can look correct until it meets the real device. A timer may slip under interrupt load. An ADC channel may use the wrong scale. An encoder may be read at the wrong edge. A command may arrive after the machine is no longer in the state that accepts it. The work is to make the hardware and software agree, then test the agreement.

The work

FirmwareEmbedded C/C++, state machines, timers, interrupts, PWM, ADC, encoder feedback, command checks, and fault response.
ArchitectureDual-core coordination, shared memory, target-side records, heartbeats, fault reporting, and explicit timing boundaries.
InterfacesCAN, SCI/UART, SPI, sensors, actuators, motor-control signals, and documented message paths.
VerificationBench bring-up, scope captures, serial and CAN logs, timing checks, controlled faults, and repeatable procedures.

Evidence

STM32H747 dual-core optical motion testbed

The 400 MHz Cortex-M7 and 200 MHz Cortex-M4 coordinate through OpenAMP/RPMsg and a shared 256 KiB AXI-SRAM ring. The target records timestamps, sequence gaps, overflow, heartbeats, and faults while host tooling supports motion analysis.

Signal work25 kHz STEP/DIR with a differential encoder interface.
Why target captureIt avoids timing interference caused by relying only on host-side logging.