Percepio Trace Recorder v4.8.0.hotfix1
Loading...
Searching...
No Matches
trcStaticBuffer.h
Go to the documentation of this file.
1/*
2* Percepio Trace Recorder for Tracealyzer v4.8.0.hotfix1
3* Copyright 2023 Percepio AB
4* www.percepio.com
5*
6* SPDX-License-Identifier: Apache-2.0
7*/
8
15#ifndef TRC_STATIC_BUFFER_H
16#define TRC_STATIC_BUFFER_H
17
18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
19
20#if (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING)
21
22#include <trcTypes.h>
23
24#ifdef __cplusplus
25extern "C" {
26#endif
27
34/* A buffer type that is maximum size */
35typedef uint8_t TraceStaticBuffer_t[TRC_MAX_BLOB_SIZE];
36
40typedef struct TraceCoreStaticBufferCore /* Aligned */
41{
42 TraceStaticBuffer_t dummyEvents[(TRC_CFG_MAX_ISR_NESTING) + 1];
43} TraceCoreStaticBuffer_t;
44
48typedef struct TraceStaticBufferTable /* Aligned */
49{
50 TraceCoreStaticBuffer_t coreDummyEvents[TRC_CFG_CORE_COUNT];
51} TraceStaticBufferTable_t;
52
53extern TraceStaticBufferTable_t* pxTraceStaticBufferTable;
54
64traceResult xTraceStaticBufferInitialize(TraceStaticBufferTable_t* pxBuffer);
65
66#if ((TRC_CFG_USE_TRACE_ASSERT) == 1)
67
76traceResult xTraceStaticBufferGet(void **ppvBuffer);
77
78#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
79
88#define xTraceStaticBufferGet(ppvBuffer) (*(ppvBuffer) = (void*)&pxTraceStaticBufferTable->coreDummyEvents[TRC_CFG_GET_CURRENT_CORE()].dummyEvents[xTraceISRGetCurrentNestingReturned() + 1], TRC_SUCCESS)
89
90#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
91
94#ifdef __cplusplus
95}
96#endif
97
98#endif /* (TRC_CFG_RECORDER_MODE == TRC_RECORDER_MODE_STREAMING) */
99
100#endif /* (TRC_USE_TRACEALYZER_RECORDER == 1) */
101
102#endif /* TRC_STATIC_BUFFER_H */
#define xTraceStaticBufferGet(ppvBuffer)
Gets trace static buffer.
Definition: trcStaticBuffer.h:88