Ecosystem, Tooling, and Observability

The criterion. Writing the code is half the battle; debugging determines the timeline. Look for out-of-the-box trace/profiling integration (SEGGER SystemView, Percepio Tracealyzer) and execution hooks to track CPU load, stack usage, and runtime anomalies.

How Revera answers it

Revera has one instrumentation vocabulary at every scheduler / sync event, fanning out to two backends: a portable flight-recorder ring (SMP-safe, dumped over any console after a fault — the “last N events before the crash” black box) and SEGGER SystemView (live timeline over J-Link). Both are zero-cost when off. On top of that: post-mortem fault/panic decode, a ps/top-style snapshot, per-thread CPU accounting and stack high-water, and weak hooks (idle, stall, watchdog) the application overrides.

Feature · how to turn it on · how to use it · where it works

Feature

Turn on with

Use these APIs

Where

Flight-recorder trace ring

TK_CONFIG_ENABLE_TRACE

tk_trace_dump, tk_trace_format

all

SEGGER SystemView

TK_CONFIG_ENABLE_SYSVIEW

(automatic — same call sites)

ARM Cortex-M + J-Link

Post-mortem / panic decode

—

fault handlers + trace dump

all (see examples)

Thread snapshot (ps/top)

TK_CONFIG_ENABLE_INTROSPECT

tk_kernel_thread_snapshot, tk_thread_set_name

all

Per-thread CPU accounting

TK_CONFIG_ENABLE_PROFILING

tk_thread_cpu_ticks, tk_thread_run_count

all

Stack high-water / overflow

TK_CONFIG_ENABLE_STACK_CHECK (default on)

tk_thread_stack_peak / _free, tk_set_stack_overflow_hook

all

Execution hooks

—

tk_kernel_set_idle_hook, tk_kernel_on_stall (weak), tk_watchdog_kick (weak)

all

Full signatures and contracts: API reference — Threads / Tooling.

Limits & roadmap

  • Live-timeline integration is SystemView (ARM + J-Link); Percepio Tracealyzer is not integrated (the portable ring is the vendor-neutral alternative).

  • Build/packaging tooling from the project’s history — the tkgen board-config generator and an SDK packaging script — is not in 0.1.0 but is port-forward-ready.

Learn more

  • Run it: examples/trace · examples/sysview · examples/panic / panic_decode · examples/hardfault · examples/stall_detect.

  • Full API: API reference.