TF-M vs TF-A — When Do You Reach For Which?

TF-M lives on Cortex-M with SAU and NSC veneers. TF-A lives on Cortex-A with EL3 and BL1/BL2/BL31. Pick by the silicon, not by preference.

March 17, 2026 · 2 min

Do I Need a Secure Element If My MCU Has a Crypto Accelerator?

Why a hardware accelerator and a secure element aren’t substitutes for each other, when one is enough, and when you actually want both.

March 15, 2026 · 2 min

Is SysTick Accurate Enough for Microsecond Timing?

What SysTick gets right at microsecond resolution, what bites you, and when to reach for a hardware timer instead.

March 12, 2026 · 2 min

Why Does My Code Work in Debug But Break in Release?

The four usual suspects when code works at -O0 and breaks at -O2, in the order to check them.

September 23, 2025 · 2 min

What Actually Happens Before main() Runs?

The six things that happen between reset and main() on a typical Cortex-M, in order, and what goes wrong at each stage.

May 3, 2025 · 2 min