#logging #cortex-m #no-std

no-std itm_logger

通过ITM stim端口0发送日志信息的日志外观实现

3个版本

0.1.2 2020年9月17日
0.1.1 2020年4月22日
0.1.0 2020年4月21日

#587调试

Download history 22/week @ 2024-03-11 20/week @ 2024-03-18 34/week @ 2024-03-25 92/week @ 2024-04-01 19/week @ 2024-04-08 52/week @ 2024-04-15 23/week @ 2024-04-22 14/week @ 2024-04-29 17/week @ 2024-05-06 15/week @ 2024-05-13 16/week @ 2024-05-20 23/week @ 2024-05-27 14/week @ 2024-06-03 19/week @ 2024-06-10 23/week @ 2024-06-17 16/week @ 2024-06-24

74 每月下载量
用于 5 个crate(3个直接使用)

MIT/Apache

10KB
154

itm_logger

通过ITM stim端口0发送日志信息的日志外观实现

Crate Documentation

许可证

此模板根据您的选择许可为以下之一


lib.rs:

通过ITM stim端口0发送日志信息的日志外观实现

如果没有启用 logging 特性,日志宏的调用将优化为无操作。

用法

use itm_logger::{
    logger_init,
    update_tpiu_baudrate,
    log,
    info,
    error,
    Level,
};

logger_init();
// if you change the CPU clock during boot up
let sysclk: Hertz = clocks.sysclk().into();
update_tpiu_baudrate(sysclk.0, ITM_BAUD_RATE).expect("Failed to reset TPIU baudrate");

perform-enabled-checks 特性

默认不启用

启用此特性会导致日志记录器在写入之前尝试检查ITM是否已启用。

这应该在所有cortex-m(除了M0)上工作。有关更多信息,请参阅is_debugger_attached 文档

执行检查包括

  • 调试已启用(DCB::DHCSR::DEBUGEN)
  • ITM已启用(ITM::TCR::ITMENA)
  • 我们使用的激励端口已启用(ITM::TER[PORT])

依赖关系

~200KB