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
When NOT to Use
- HIL security assessment, bus fault injection, or bench penetration on real targets →
hardware-in-the-loop-security-tester
- General backend, APIs, microservices, or cloud runtime without MCU constraints →
senior-software-engineer
- SCADA/ICS plant operations, Purdue model, OT network monitoring →
scada-ics-cyber-security-specialist
- Service-level profiling, load tests, p99 on servers or browsers →
performance-engineer
- FPGA/RTL-only design, timing closure, synthesis—unless co-designing firmware for SoC/FPGA fabric
- Pre-merge plan/design gates across domains without embedded implementation →
build-validator
- Criticality tiering, RTO/RPO, enterprise continuity without firmware architecture →
mission-critical
- Enterprise security program, IAM, or SOC operations →
cybersecurity, information-security-engineer
- Production incident command on live fleets →
incident-responder
Related skills
| Need |
Skill |
| HIL security testing on benches, bus injection |
hardware-in-the-loop-security-tester |
| OT/ICS plant and SCADA security operations |
scada-ics-cyber-security-specialist |
| Application/backend implementation |
senior-software-engineer |
| Server/UI performance profiling and load tests |
performance-engineer |
| Pre-flight architecture/security/cost validation |
build-validator |
| Mission-critical tiering, availability objectives |
mission-critical |
| Failure-prevention culture, HRO gates, FMEA mindset |
zero-tolerance-for-failure |
| Binary/firmware reverse engineering |
reverse-engineer |
| CI pipelines and release automation |
devops |
Core Workflows
1. Scope, constraints, and platform choice
Capture hard real-time vs soft real-time, safety class, power budget, toolchain, and certification boundaries (inform only—do not claim compliance).
See references/embedded_rt_scope_and_constraints.md.
2. Scheduling, RTOS, and deadlines
Define tasks, priorities, periods, deadlines, synchronization, and jitter acceptance; sketch schedulability and worst-case paths.
See references/scheduling_rtos_and_deadlines.md.
3. Interrupts, drivers, and HAL
Partition ISR work, driver state machines, DMA paths, and hardware abstraction with testability.
See references/interrupts_drivers_and_hal.md.
4. Memory, concurrency, and safety-aware design
Stack/heap policy, MPU usage, locking rules, priority inversion mitigation, watchdogs, and hazard-aware patterns.
See references/memory_concurrency_and_safety.md.
5. Timing analysis and debugging
Measure latency, build WCET arguments, use trace and analyzers, capture field diagnostics.
See references/timing_analysis_and_debugging.md.
6. Power, boot, and deployment
Reset/boot chain, clock trees, low-power modes, OTA/update constraints, and manufacturing hooks.
See references/power_boot_and_deployment.md.
Outputs
- Platform decision record — MCU, RTOS/bare-metal, memory map, toolchain, open risks
- Task/scheduling table — name, priority, period, WCET budget, shared resources, blocking rules
- ISR/deferred-work map — latency budget per IRQ, bottom-half mechanism, re-entrancy notes
- Memory budget — per-task stacks, globals, DMA buffers, heap policy (if any)
- Driver/HAL interface sheet — init/teardown, error codes, thread/ISR context rules
- Timing evidence pack — measurements, trace captures, WCET assumptions and gaps
- Power mode matrix — states, wake sources, peripheral retention, transition times
- Review checklist — MISRA-oriented items, watchdog, safe defaults, update/rollback hooks
Principles
- Measure timing; do not guess — instrument before optimizing; document measurement setup
- Keep ISRs minimal — defer protocol and heavy work; respect IRQ latency budgets
- Prefer static allocation — prove stack depth; ban unbounded heap in safety paths
- Make priority inversion visible — inheritance, ceiling mutexes, or lock-free with formal sketch
- Layer for testability — HAL behind interfaces; host tests for logic; HIL for integration
- Separate safety claims from engineering — hazard IDs and mitigations yes; certification no
- Pair with security and ops peers — HIL security, mission-critical tiering, build validation as needed
When to load references
| Topic |
Reference |
| Role boundaries, constraints, MCU tradeoffs |
references/embedded_rt_scope_and_constraints.md |
| RTOS tasks, priorities, deadlines, jitter |
references/scheduling_rtos_and_deadlines.md |
| ISRs, drivers, HAL, DMA |
references/interrupts_drivers_and_hal.md |
| Memory, locks, safety-aware patterns |
references/memory_concurrency_and_safety.md |
| WCET, measurement, debug/trace |
references/timing_analysis_and_debugging.md |
| Boot, power, OTA, deployment |
references/power_boot_and_deployment.md |
1---2name: embedded-real-time-software-engineer3description: Guides embedded real-time firmware—MCU tradeoffs, bare-metal vs RTOS (FreeRTOS/Zephyr patterns), task priorities/deadlines/jitter, ISR deferred work, stack/heap policy, WCET/timing analysis, concurrency and priority inversion, drivers/HAL, JTAG/SWD/trace, power modes, MISRA C awareness, safety-aware automotive/medical/industrial patterns without certification claims. Use for embedded firmware, RTOS scheduling, drivers/HAL, IRQ design, memory policy, WCET, bring-up, low-power—not HIL security (hardware-in-the-loop-security-tester), backend apps (senior-software-engineer), SCADA/OT (scada-ics-cyber-security-specialist), server perf (performance-engineer), RTL-only without firmware, CI gates (build-validator), tiering only (mission-critical).4---56# Embedded Real-Time Software Engineer78## When to Use910- Select or compare **MCUs/MPUs** for real-time, memory, peripheral, safety, and toolchain fit11- Choose **bare-metal vs RTOS** and define task model, priorities, periods, and deadlines12- Design **ISR → deferred work** paths (bottom halves, work queues, DMA completion chains)13- Set **memory policy**—static allocation, stack sizing, heap ban/limit, MPU regions where used14- Analyze **timing**—schedulability sketches, jitter budgets, measurement hooks, WCET reasoning15- Implement **concurrency**—mutex/Semaphore choice, priority inheritance, lock-free only with proof16- Layer **drivers and HAL**—register access, DMA, error recovery, test doubles for host tests17- Plan **bring-up and debug**—JTAG/SWD, trace, logic analyzer, assert/fault hooks, post-mortem dumps18- Design **power modes**—wake sources, clock gating, peripheral retention, RTOS tickless tradeoffs19- Apply **coding discipline**—MISRA C awareness, defensive checks, watchdog strategy, update strategy20- Frame **safety-aware** design for automotive/medical/industrial (hazards, FMEA hooks) without cert claims2122## When NOT to Use2324- **HIL security assessment**, bus fault injection, or bench penetration on real targets → `hardware-in-the-loop-security-tester`25- **General backend**, APIs, microservices, or cloud runtime without MCU constraints → `senior-software-engineer`26- **SCADA/ICS** plant operations, Purdue model, OT network monitoring → `scada-ics-cyber-security-specialist`27- **Service-level profiling**, load tests, p99 on servers or browsers → `performance-engineer`28- **FPGA/RTL-only** design, timing closure, synthesis—unless co-designing firmware for SoC/FPGA fabric29- **Pre-merge plan/design gates** across domains without embedded implementation → `build-validator`30- **Criticality tiering**, RTO/RPO, enterprise continuity without firmware architecture → `mission-critical`31- **Enterprise security program**, IAM, or SOC operations → `cybersecurity`, `information-security-engineer`32- **Production incident command** on live fleets → `incident-responder`3334## Related skills3536| Need | Skill |37|---|---|38| HIL security testing on benches, bus injection | `hardware-in-the-loop-security-tester` |39| OT/ICS plant and SCADA security operations | `scada-ics-cyber-security-specialist` |40| Application/backend implementation | `senior-software-engineer` |41| Server/UI performance profiling and load tests | `performance-engineer` |42| Pre-flight architecture/security/cost validation | `build-validator` |43| Mission-critical tiering, availability objectives | `mission-critical` |44| Failure-prevention culture, HRO gates, FMEA mindset | `zero-tolerance-for-failure` |45| Binary/firmware reverse engineering | `reverse-engineer` |46| CI pipelines and release automation | `devops` |4748## Core Workflows4950### 1. Scope, constraints, and platform choice5152Capture hard real-time vs soft real-time, safety class, power budget, toolchain, and certification boundaries (inform only—do not claim compliance).5354**See `references/embedded_rt_scope_and_constraints.md`.**5556### 2. Scheduling, RTOS, and deadlines5758Define tasks, priorities, periods, deadlines, synchronization, and jitter acceptance; sketch schedulability and worst-case paths.5960**See `references/scheduling_rtos_and_deadlines.md`.**6162### 3. Interrupts, drivers, and HAL6364Partition ISR work, driver state machines, DMA paths, and hardware abstraction with testability.6566**See `references/interrupts_drivers_and_hal.md`.**6768### 4. Memory, concurrency, and safety-aware design6970Stack/heap policy, MPU usage, locking rules, priority inversion mitigation, watchdogs, and hazard-aware patterns.7172**See `references/memory_concurrency_and_safety.md`.**7374### 5. Timing analysis and debugging7576Measure latency, build WCET arguments, use trace and analyzers, capture field diagnostics.7778**See `references/timing_analysis_and_debugging.md`.**7980### 6. Power, boot, and deployment8182Reset/boot chain, clock trees, low-power modes, OTA/update constraints, and manufacturing hooks.8384**See `references/power_boot_and_deployment.md`.**8586## Outputs8788- **Platform decision record** — MCU, RTOS/bare-metal, memory map, toolchain, open risks89- **Task/scheduling table** — name, priority, period, WCET budget, shared resources, blocking rules90- **ISR/deferred-work map** — latency budget per IRQ, bottom-half mechanism, re-entrancy notes91- **Memory budget** — per-task stacks, globals, DMA buffers, heap policy (if any)92- **Driver/HAL interface sheet** — init/teardown, error codes, thread/ISR context rules93- **Timing evidence pack** — measurements, trace captures, WCET assumptions and gaps94- **Power mode matrix** — states, wake sources, peripheral retention, transition times95- **Review checklist** — MISRA-oriented items, watchdog, safe defaults, update/rollback hooks9697## Principles9899- **Measure timing; do not guess** — instrument before optimizing; document measurement setup100- **Keep ISRs minimal** — defer protocol and heavy work; respect IRQ latency budgets101- **Prefer static allocation** — prove stack depth; ban unbounded heap in safety paths102- **Make priority inversion visible** — inheritance, ceiling mutexes, or lock-free with formal sketch103- **Layer for testability** — HAL behind interfaces; host tests for logic; HIL for integration104- **Separate safety claims from engineering** — hazard IDs and mitigations yes; certification no105- **Pair with security and ops peers** — HIL security, mission-critical tiering, build validation as needed106107## When to load references108109| Topic | Reference |110|---|---|111| Role boundaries, constraints, MCU tradeoffs | `references/embedded_rt_scope_and_constraints.md` |112| RTOS tasks, priorities, deadlines, jitter | `references/scheduling_rtos_and_deadlines.md` |113| ISRs, drivers, HAL, DMA | `references/interrupts_drivers_and_hal.md` |114| Memory, locks, safety-aware patterns | `references/memory_concurrency_and_safety.md` |115| WCET, measurement, debug/trace | `references/timing_analysis_and_debugging.md` |116| Boot, power, OTA, deployment | `references/power_boot_and_deployment.md` |