C Stand Alone Programming With 2 Cores - Limitations

Do any one knows if there is a formal documentation with the limitations of the C API ?
I want to know what API or C function is multi core safe, or if I can take some kind of care using IO Ports with multiple CORES.

Right now I’m having problems with a solution, that uses CORE 0 to RUN a KMODEL and after that I’m using CORE 1 to ENCODE the Image to JPEG and sent it to a HTTP Server.

Both CORE 0 and CORE 1 are working in parallel and every time CORE 1 ends sending data to the HTTP Servers it takes the next image created by the CORE 0.

The solutions works fine for 30 minutes or for 3 hours, but it frezess randomly calling SYSTEM EXIT with 0 as parameter, I have modified the C API for the system_exit function to see if there is a memory problem, but it isn’t. I also have search the source code of all the drivers libreary of the SDK but there is no call to the system_exit function with 0 as parameter.

I think that the problem is that KPU API is using IO Ports that the UART PORT needs, and every time the system_exit function is called is because the system has found some type of conflict.

I hope some one could help me.

Marko Chu

hi, it is hard to explian in this post, please send you code to support@sipeed.com to check

Thank you for your replay.

I will try to create an small version of my code, because it is very large, as soon I can recreate this error with a simple code i will send it to you.

Hi, I can’t create a light version of my code, to generate the same error, because we are in the middle of the devolopment of new modules, end I don’t have time.

Please, could you give me some clues to understand under what conditions the system_exit function is called, with 0 as the parameter value ?

I have added some logs instructions along the code and the function is called randomly, I mean that there is no single part when the error fires, and I can’t isolate the error.