Percepio Trace Recorder v4.11.0
Loading...
Searching...
No Matches
trcStaticBuffer.h
Go to the documentation of this file.
1/*
2* Percepio Trace Recorder for Tracealyzer v4.11.0
3* Copyright 2025 Percepio AB
4* www.percepio.com
5*
6* SPDX-License-Identifier: Apache-2.0
7*/
8
14
15#ifndef TRC_STATIC_BUFFER_H
16#define TRC_STATIC_BUFFER_H
17
18#if (TRC_USE_TRACEALYZER_RECORDER == 1)
19
20#include <trcTypes.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
31
32/* A buffer type that is maximum size */
33typedef uint8_t TraceStaticBuffer_t[TRC_MAX_BLOB_SIZE];
34
38typedef struct TraceCoreStaticBufferCore /* Aligned */
39{
40 TraceStaticBuffer_t dummyEvents[(TRC_CFG_MAX_ISR_NESTING) + 1];
41} TraceCoreStaticBuffer_t;
42
46typedef struct TraceStaticBufferTable /* Aligned */
47{
48 TraceCoreStaticBuffer_t coreDummyEvents[TRC_CFG_CORE_COUNT];
49} TraceStaticBufferTable_t;
50
51extern TraceStaticBufferTable_t* pxTraceStaticBufferTable;
52
62traceResult xTraceStaticBufferInitialize(TraceStaticBufferTable_t* pxBuffer);
63
64#if ((TRC_CFG_USE_TRACE_ASSERT) == 1)
65
74traceResult xTraceStaticBufferGet(void **ppvBuffer);
75
76#else /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
77
86#define xTraceStaticBufferGet(ppvBuffer) (*(ppvBuffer) = (void*)&pxTraceStaticBufferTable->coreDummyEvents[TRC_CFG_GET_CURRENT_CORE()].dummyEvents[xTraceISRGetCurrentNestingReturned() + 1], TRC_SUCCESS)
87
88#endif /* ((TRC_CFG_USE_TRACE_ASSERT) == 1) */
89
91
92#ifdef __cplusplus
93}
94#endif
95
96#endif
97
98#endif
#define xTraceStaticBufferGet(ppvBuffer)
Gets trace static buffer.
Definition trcStaticBuffer.h:86