Ground Embedded KO Subscribe

Roadmap / Firmware

Firmware Design & Quality

Production firmware is maintained by many people for years. Working code and maintainable code are different things.

Goal Design firmware others can read, change and keep alive.

  1. 01
    Layered architecture

    HAL, drivers, services, application, and the direction of dependencies.

    Read the note KR

  2. 02
    Modules and interfaces

    Drawing boundaries with headers and hiding the internals.

    Read the note KR

  3. 03
    Coding rules

    What MISRA C forbids, and why.

    Read the note KR

  4. 04
    Unit testing

    Testing firmware logic on a PC without hardware.

    Read the note KR

  5. 05
    Static analysis

    Compiler warnings and tools such as cppcheck that find bugs before running.

    Read the note KR

  6. 06
    Version control

    Git branches, commit granularity and release tags for firmware history.

    Read the note KR

  7. 07
    Logging and debug output

    printf debugging, ring-buffer logs, real-time trace.

    Read the note KR

  8. 08
    Firmware updates

    OTA structures that update devices in the field safely.

    Read the note KR