UART2 crashes after some use
Posted: Thu Jul 06, 2017 8:33 am
I have several UART crashes.
So the application runs on CPU 1 and i am using the UART2.
The application sends several get commands to an open Socket and the
answer is forwarded to the UART2.
Crashes occures after about 110 requests, and as you see on the picture from the scope,
the RTS signal is set, but no data goes out.
After this situation the esp32 crashes.
Blue line is the RTS signal, whereis the red lines are the data itself.
On the left of the picture is an (last) example, where data gets out.
The example in the middle provote the crash, the RTCS signal is set successfully,
but no data was sended in the gab between (no red bytes).
Uart2 sending example is:
len = uart_write_bytes(m_UartNumber, (char*)pData, bufSize);
ERR = uart_wait_tx_done(m_UartNumber, 15); //here there is never a error!
-UART2 is using
-Uart thread stacksize is 2600
-UART2 config is:
uart_config_t uart_config;
uart_config.baud_rate = 2 * 115200;
uart_config.data_bits = UART_DATA_8_BITS;
uart_config.parity = UART_PARITY_EVEN;
uart_config.stop_bits = UART_STOP_BITS_1;
uart_config.flow_ctrl = UART_HW_FLOWCTRL_DISABLE;
uart_config.rx_flow_ctrl_thresh = 10;
uart_param_config(m_UartNumber, &uart_config);
My suspicion was, that we run into the rundom address error, which is described in
the errata sheets.
Thanks for helping
So the application runs on CPU 1 and i am using the UART2.
The application sends several get commands to an open Socket and the
answer is forwarded to the UART2.
Crashes occures after about 110 requests, and as you see on the picture from the scope,
the RTS signal is set, but no data goes out.
After this situation the esp32 crashes.
Blue line is the RTS signal, whereis the red lines are the data itself.
On the left of the picture is an (last) example, where data gets out.
The example in the middle provote the crash, the RTCS signal is set successfully,
but no data was sended in the gab between (no red bytes).
Uart2 sending example is:
len = uart_write_bytes(m_UartNumber, (char*)pData, bufSize);
ERR = uart_wait_tx_done(m_UartNumber, 15); //here there is never a error!
-UART2 is using
-Uart thread stacksize is 2600
-UART2 config is:
uart_config_t uart_config;
uart_config.baud_rate = 2 * 115200;
uart_config.data_bits = UART_DATA_8_BITS;
uart_config.parity = UART_PARITY_EVEN;
uart_config.stop_bits = UART_STOP_BITS_1;
uart_config.flow_ctrl = UART_HW_FLOWCTRL_DISABLE;
uart_config.rx_flow_ctrl_thresh = 10;
uart_param_config(m_UartNumber, &uart_config);
My suspicion was, that we run into the rundom address error, which is described in
the errata sheets.
Thanks for helping