rtos_trace/
trace.rs

1#![allow(unused)]
2
3use crate::TaskInfo;
4
5#[cfg(feature = "trace_impl")]
6extern "Rust" {
7    fn _rtos_trace_task_new(id: u32);
8    fn _rtos_trace_task_terminate(id: u32);
9    fn _rtos_trace_task_exec_begin(id: u32);
10    fn _rtos_trace_task_exec_end();
11    fn _rtos_trace_task_ready_begin(id: u32);
12    fn _rtos_trace_task_ready_end(id: u32);
13
14    fn _rtos_trace_system_idle();
15
16    fn _rtos_trace_isr_enter();
17    fn _rtos_trace_isr_exit();
18    fn _rtos_trace_isr_exit_to_scheduler();
19
20    fn _rtos_trace_marker(id: u32);
21    fn _rtos_trace_marker_begin(id: u32);
22    fn _rtos_trace_marker_end(id: u32);
23
24    fn _rtos_trace_task_send_info(id: u32, info: TaskInfo);
25    fn _rtos_trace_time() -> u64;
26
27    fn _rtos_trace_system_description();
28    fn _rtos_trace_sysclock() -> u32;
29}
30
31#[inline]
32pub fn task_new(id: u32) {
33    #[cfg(feature = "trace_impl")]
34    unsafe { _rtos_trace_task_new(id) }
35}
36#[inline]
37pub fn task_terminate(id: u32) {
38    #[cfg(feature = "trace_impl")]
39    unsafe { _rtos_trace_task_terminate(id) }
40}
41#[inline]
42pub fn task_exec_begin(id: u32) {
43    #[cfg(feature = "trace_impl")]
44    unsafe { _rtos_trace_task_exec_begin(id) }
45}
46#[inline]
47pub fn task_exec_end() {
48    #[cfg(feature = "trace_impl")]
49    unsafe { _rtos_trace_task_exec_end() }
50}
51#[inline]
52pub fn task_ready_begin(id: u32) {
53    #[cfg(feature = "trace_impl")]
54    unsafe { _rtos_trace_task_ready_begin(id) }
55}
56#[inline]
57pub fn task_ready_end(id: u32) {
58    #[cfg(feature = "trace_impl")]
59    unsafe { _rtos_trace_task_ready_end(id) }
60}
61
62#[inline]
63pub fn system_idle() {
64    #[cfg(feature = "trace_impl")]
65    unsafe { _rtos_trace_system_idle() }
66}
67
68#[inline]
69pub fn isr_enter() {
70    #[cfg(feature = "trace_impl")]
71    unsafe { _rtos_trace_isr_enter() }
72}
73#[inline]
74pub fn isr_exit() {
75    #[cfg(feature = "trace_impl")]
76    unsafe { _rtos_trace_isr_exit() }
77}
78#[inline]
79pub fn isr_exit_to_scheduler() {
80    #[cfg(feature = "trace_impl")]
81    unsafe { _rtos_trace_isr_exit_to_scheduler() }
82}
83
84#[inline]
85pub fn marker(id: u32) {
86    #[cfg(feature = "trace_impl")]
87    unsafe { _rtos_trace_marker(id) }
88}
89#[inline]
90pub fn marker_begin(id: u32) {
91    #[cfg(feature = "trace_impl")]
92    unsafe { _rtos_trace_marker_begin(id) }
93}
94#[inline]
95pub fn marker_end(id: u32) {
96    #[cfg(feature = "trace_impl")]
97    unsafe { _rtos_trace_marker_end(id) }
98}
99
100#[inline]
101pub fn task_send_info(id: u32, info: TaskInfo) {
102    #[cfg(feature = "trace_impl")]
103    unsafe { _rtos_trace_task_send_info(id, info) }
104}
105#[inline]
106pub fn time() -> u64 {
107    #[cfg(feature = "trace_impl")]
108    unsafe { _rtos_trace_time() }
109    #[cfg(not(feature = "trace_impl"))]
110    0
111}
112
113#[inline]
114pub fn system_description() {
115    #[cfg(feature = "trace_impl")]
116    unsafe { _rtos_trace_system_description() }
117}
118#[inline]
119pub fn sysclock() -> u32 {
120    #[cfg(feature = "trace_impl")]
121    unsafe { _rtos_trace_sysclock() }
122    #[cfg(not(feature = "trace_impl"))]
123    0
124}