Tool/software:
Hello,
I see a bug in function
"void DRV_UART_printf(void* pContext, const char* pFormat, va_list arg);"
present in
"c:\ti\ind_comms_sdk_am243x_11_00_00_13\examples\industrial_comms\ethernetip_adapter_demo\drivers\uart\drv_uart.c"
The temporary buffer
"static char localString[256] = {0};"
cannot be static because many FreeRTOS tasks can log a message and rewrites data in this buffer!
Because it is only a temporary string output buffer, it should be placed just on stack (no static) in each call of this function invocation:
"char localString[256];" // suggestion
as well as in the Profinet example.
But than a stack problem happens in EtherNet/IP precompiled libraries (FreeRTOS task name "packet").
Please correct your libraries and example to not rewrite logged data.
Wrong EtherNet/IP solution versus correct Profinet solution attached.
Regards,
Vit Triska