Im trying to implement Continuous Recording for systemview over UART on an STM32F103. my application is using FreeRTOS v11. I am able to successfully get data in snapshot mode and view it in systemview. I tried implementing continuous mode using uart by adding the following code to SEGGER_SYSVIEW_Config_UART.h
void BSP_UART_Init(uint32_t uart_port, uint32_t baudrate) {
static uint8_t rxByte = 0;
static uint8_t txByte = 0;
// Assign the pointers to these local static bytes
recieveData = &rxByte;
transmitData = &txByte;
if (uart_port == 0) {
MX_USART2_UART_Init(baudrate);
HAL_UART_Receive_IT(&huart2, (uint8_t *)recieveData, 1);
}
}
/*********************************************************************
*
* HAL_UART_TxCpltCallback
*/
void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) {
(void)huart;
_SysView_OnTxComplete(_SYSVIEW_UART_PORT);
}
/*********************************************************************
*
* HAL_UART_RxCpltCallback
*/
void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) {
(void)huart;
_SysView_OnRxComplete(_SYSVIEW_UART_PORT, *recieveData);
}
The recording starts but stops in between. I've attached a screenshot below showing the behavior
I've set SEGGER_SYSVIEW_RTT_BUFFER_SIZE to 20KB