Hi all,
I am trying to make a multicore application for the C6678. For debugging purposes, I have lots of platform_write in my code, specially at startup.
When my application runs, these platform_write are mixed and I see garbled text on the console. So, I have made a new function
my_platform_write to ensure that no more than one core accesses platform_write simultaneously. It basically makes this:
GateMP_open()
platform_write()
GateMP_leave()
over a previously created GateMP. With this change the problem has gone. However, the problem still persists with those platform_write called from TI libraries.
For example, when initializing ethernet stuff, there is a
platform_write ("Ethernet subsystem successfully initialized \n");
which mixes with my my_platform_write calls from other cores, since the standard platform_write does not use my gate.
I have followed the code and platform_write calls platform_uart_write for each character, which just calls UartWriteData, which writes a register. So, it seems that there is no entry point for a user synchronization routine.
Is there a way of forcing platform_write (called from supplied libraries) to use my gate or any other similar mechanism to prevent garbling?