6 releases (breaking)

0.5.1 Dec 5, 2024
0.5.0 Nov 23, 2024
0.4.0 Sep 27, 2024
0.3.0 Mar 2, 2024
0.1.0 Feb 19, 2023

#384 in Embedded development

Download history 1353/week @ 2024-11-01 754/week @ 2024-11-08 690/week @ 2024-11-15 896/week @ 2024-11-22 922/week @ 2024-11-29 1468/week @ 2024-12-06 1468/week @ 2024-12-13 1477/week @ 2024-12-20 877/week @ 2024-12-27 907/week @ 2025-01-03 717/week @ 2025-01-10 625/week @ 2025-01-17 812/week @ 2025-01-24 746/week @ 2025-01-31 1341/week @ 2025-02-07 708/week @ 2025-02-14

3,734 downloads per month

MIT license

6KB
52 lines

rtt-log

Log facade implementation for the Segger RTT protocol supported by the J-Link, ST-Link and other debug probes. It is based on rtt-target.

[!NOTE]

rtt-target introduced log integration with version 0.6.1, making this crate obsolete.

Please refer to the rtt-target docs for further details.

Usage

// Init the logger with maximum level (Trace).
rtt_log::init();

// Alternatively, init the logger with specific level.
rtt_log::init_with_level(log::LevelFilter::Debug);

// Log something.
log::debug!("Application started");

Use a tool like probe-rs on the host to print the messages.

[!NOTE]

RTT uses a global symbol _SEGGER_RTT that can only appear once in a compiled binary. Therefore, if you want to use functions from rtt-target directly, import them from rtt-log instead of adding rtt-target as a separate dependency. Otherwise, a linker error about duplicate symbols will occur.

use rtt_log::rtt_target::rprintln;

rprintln!("Hello, world!");

License

Published under the MIT license.

Author: Oliver Rockstedt info@sourcebox.de

Dependencies

~1.5MB
~22K SLoC