embedded-real-time-software-engineer
Installation
SKILL.md
Embedded Real-Time Software Engineer
When to Use
- Select or compare MCUs/MPUs for real-time, memory, peripheral, safety, and toolchain fit
- Choose bare-metal vs RTOS and define task model, priorities, periods, and deadlines
- Design ISR → deferred work paths (bottom halves, work queues, DMA completion chains)
- Set memory policy—static allocation, stack sizing, heap ban/limit, MPU regions where used
- Analyze timing—schedulability sketches, jitter budgets, measurement hooks, WCET reasoning
- Implement concurrency—mutex/Semaphore choice, priority inheritance, lock-free only with proof
- Layer drivers and HAL—register access, DMA, error recovery, test doubles for host tests
- Plan bring-up and debug—JTAG/SWD, trace, logic analyzer, assert/fault hooks, post-mortem dumps
- Design power modes—wake sources, clock gating, peripheral retention, RTOS tickless tradeoffs
- Apply coding discipline—MISRA C awareness, defensive checks, watchdog strategy, update strategy
- Frame safety-aware design for automotive/medical/industrial (hazards, FMEA hooks) without cert claims