/*******************************************************************************\r
- * Trace Recorder Library for Tracealyzer v3.1.2\r
+ * Trace Recorder Library for Tracealyzer v4.1.1\r
* Percepio AB, www.percepio.com\r
*\r
* trcStreamingPort.h\r
*\r
* Tabs are used for indent in this file (1 tab = 4 spaces)\r
*\r
- * Copyright Percepio AB, 2017.\r
+ * Copyright Percepio AB, 2018.\r
* www.percepio.com\r
******************************************************************************/\r
\r
extern "C" {\r
#endif\r
\r
-/*******************************************************************************\r
- * Implement the below macros to define your own stream port. If your transfer \r
- * method uses RTOS functions, you should not send the data directly but use \r
- * the recorder's internal buffer to store the trace data, for later transfer by\r
- * the TzCtrl task. Check the predefined stream ports for examples on how to use \r
- * the internal buffer (e.g., TCP/IP, UART or USB CDC).\r
- *\r
- * Read more at http://percepio.com/2016/10/05/rtos-tracing/ \r
- ******************************************************************************/\r
-\r
/* Include files as needed, in this case it is files from STM32Cube FW_F7 V1.4.1 */\r
#include "usb_device.h"\r
#include "usbd_cdc.h"\r
/* Tested on STM32 devices using Keil/CMSIS USB stack */\r
\r
extern USBD_CDC_ItfTypeDef USBD_Interface_fops_FS;\r
+\r
uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len);\r
\r
int32_t trcCDCReceive(void *data, uint32_t size, int32_t* NumBytes);\r
-int32_t trcCDCTransmit(void* data, uint32_t size, int32_t * noOfBytesSent );\r
\r
-#if TRC_RECORDER_BUFFER_ALLOCATION == TRC_RECORDER_BUFFER_ALLOCATION_STATIC\r
-#define TRC_STREAM_PORT_ALLOCATE_FIELDS() static char _TzTraceData[TRC_CFG_PAGED_EVENT_BUFFER_PAGE_COUNT * TRC_CFG_PAGED_EVENT_BUFFER_PAGE_SIZE]; /* Static allocation. */\r
-#define TRC_STREAM_PORT_MALLOC() /* Static allocation. Not used. */\r
-#else\r
-#define TRC_STREAM_PORT_ALLOCATE_FIELDS() static char* _TzTraceData = NULL; /* Dynamic allocation. */\r
-#define TRC_STREAM_PORT_MALLOC() _TzTraceData = TRC_PORT_MALLOC(TRC_PAGED_EVENT_BUFFER_PAGE_COUNT * TRC_PAGED_EVENT_BUFFER_PAGE_SIZE);\r
-#endif\r
+int32_t trcCDCTransmit(void* data, uint32_t size, int32_t * noOfBytesSent );\r
\r
#define TRC_STREAM_PORT_INIT() \\r
MX_USB_DEVICE_Init(); \\r
TRC_STREAM_PORT_MALLOC(); /*Dynamic allocation or empty if static */\r
\r
-#define TRC_STREAM_PORT_ALLOCATE_EVENT(_type, _ptrData, _size) _type* _ptrData; _ptrData = (_type*)prvPagedEventBufferGetWritePointer(_size);\r
+#define TRC_STREAM_PORT_READ_DATA(_ptrData, _size, _ptrBytesRead) trcCDCReceive(_ptrData, _size, _ptrBytesRead)\r
\r
-#define TRC_STREAM_PORT_ALLOCATE_DYNAMIC_EVENT(_type, _ptrData, _size) TRC_STREAM_PORT_ALLOCATE_EVENT(_type, _ptrData, _size) /* We do the same thing as for non-dynamic event sizes */\r
-#define TRC_STREAM_PORT_COMMIT_EVENT(_ptrData, _size) /* Not needed since we write immediately into the buffer received above by TRC_STREAM_PORT_ALLOCATE_EVENT, and the TRC_STREAM_PORT_PERIODIC_SEND_DATA defined below will take care of the actual trace transfer. */\r
-#define TRC_STREAM_PORT_READ_DATA(_ptrData, _size, _ptrBytesRead) trcCDCReceive(_ptrData, _size, _ptrBytesRead);\r
-#define TRC_STREAM_PORT_PERIODIC_SEND_DATA(_ptrBytesSent) prvPagedEventBufferTransfer(trcCDCTransmit, _ptrBytesSent);\r
+#define TRC_STREAM_PORT_WRITE_DATA(_ptrData, _size, _ptrBytesSent) trcCDCTransmit(_ptrData, _size, _ptrBytesSent)\r
\r
-#define TRC_STREAM_PORT_ON_TRACE_BEGIN() { prvPagedEventBufferInit(_TzTraceData); }\r
-#define TRC_STREAM_PORT_ON_TRACE_END() /* Do nothing */\r
\r
#ifdef __cplusplus\r
}\r