Hi.
I have some issues with unexpected OAT application restart. I use UART Device Service to open UART2 port and get access to UART port events. In order to do that I fill sUartEvent_t structure and pass a pointer to it in event_handlers field of sUartSettings_t structure. To begin with I set handler to TX_COMPLETE event.
When the port is opened I send there some data and expect my handler to be called, but I get application restart instead.
Here is part of the code where sUartEvent_t structure is filled.
memset(&uart_events, 0, sizeof(uart_events));
uart_events.op = G_IOC_OP_SET;
uart_events.valid_cb = (eUartEvId_t)(UART_CB_ON_TX_COMPLETE);
uart_events.user_data = (void*)-1L;
uart_events.cb_list[0].evt_hdl = (pGEvtNotif_t)OnTXC;
uart_events.cb_list[0].user_data = NULL;
OnTXC is empty handler and is defined like this:
void OnTXC(void* p1, void* p2){ }
Program restart occurs when all data is transmitted through UART port. If I connect to the other side with terminal I can see incoming data.
If a NULL pointer is passed to “event_handlers” field of “sUartSettings_t” structyre program runs fine.
CPU: 2686H, FW: R73_00gg.Q2686H