Janmesh PatelRobotics software
No. 03

Real-time embedded systems

A set of STM32/FreeRTOS and Embedded Linux projects about timing, synchronization, logging and handling faults.

0Valgrind-reported leaks
RTOSDeterministic multitasking
RTOS SCHEDULE · STM32 / FreeRTOSILLUSTRATIVESENSOR ISRCONTROLSPI + DMA LOGTELEMETRYIDLEt₀t₀ + 1Tt₀ + 2Tt₀ + 3Tt₀ + 4Tt₀ + 5T
Fig. 03: concept diagram, not real test data.

1Problem

Embedded code has to run several tasks and talk to devices on a predictable schedule. It also has to cope when a sensor stalls, a buffer fills up or a task runs over its time budget.

2What I built

  1. 01

    FreeRTOS on STM32

    Multiple tasks with synchronization, SPI + DMA logging, telemetry and fault handling.

  2. 02

    Profiling

    Task profiling and timing measurements.

  3. 03

    Embedded Linux

    pthreads, Linux PWM, signal handling and state-machine control on a BeagleBone Black. Valgrind reported no memory leaks.

3Result

Each project is small, and I kept the focus on behavior I could measure and test.

Next projectLow-latency robot teleoperation & constrained IKQuestions about this project?janmesh.4300@gmail.com