#rtos #cortex-m #no-std

no-std systemview-target

为SEGGER SystemView实现的RTOS跟踪特性

3个版本

0.1.2 2022年8月20日
0.1.1 2022年7月19日
0.1.0 2022年7月19日

1083 in 嵌入式开发

MIT许可证

270KB
3.5K SLoC

C 3K SLoC // 0.5% comments Rust 515 SLoC // 0.0% comments GNU Style Assembly 126 SLoC // 0.5% comments

systemview-target

为SEGGER SystemView实现的RTOS跟踪特性。

SEGGER SystemView可用于非商业项目且免费,可在这里获取。

特性

  • callbacks-os:检查RTOS是否支持从SystemView的跟踪回调。
  • callbacks-os-time:检查RTOS是否支持从SystemView的时间戳回调。
  • callbacks-app:检查您的应用程序是否支持来自SystemView的回调。
  • log:通过RTT激活全局log
  • cortex-m:启用Arm Cortex-M支持。

使用方法

如果您正在使用支持rtos-trace的RTOS,请添加以下依赖项

# Cargo.toml
[dependencies]
rtos-trace = "0.1"
systemview-target = { version = "0.1", features = ["log", "callbacks-app", "callbacks-os", "callbacks-os-time", "cortex-m"] }
log = { version = "0.4", features = ["max_level_trace", "release_max_level_warn"] }

并将以下代码添加到您的代码中

// for tracing
use systemview_target::SystemView;
rtos_trace::global_trace!{SystemView}

static LOGGER: systemview_target::SystemView = systemview_target::SystemView::new();

fn main() -> ! {
    LOGGER.init();
    // for logs
    log::set_logger(&LOGGER).ok();
    log::set_max_level(log::LevelFilter::Trace);
    /*..*/
}

依赖项

~0–2.7MB
~42K SLoC