Hello
We use freertos based 10.4.3 (Zynq 7000 Soc).
After set “use_newlib_reent true” we have observed that no output is show in the UART (std::cout) from any thread.
While debugging the issue I have found that just by “printing” something before start scheduler the issue is fix, UART messages are shown normally from all thread.
I don’t understand why.
I appreciated if anyone can help to understand what it’s going on.
Below you can find the pseudocode of the:
CASE1-> no output in the UART when do any “std::cout <<“a messge”;”
CASE2-> everything works fine.
I want to remark that:
1.-Without enable reent we don’t observe this behaviour.
2.-The only difference from CASE1 and CASE2 is the line “std::cout << “Just print something” << std::endl;”
Thank you all.
Regards.
A.
CASE1: No output is shown in the UART when try to print in main thread and other threads in the code:
static Tools::SPDThread mainThread(&mainProcess, “Main”, 8192, NULL, tskIDLE_PRIORITY + 1);
Tools::SPDThread::StartScheduler();
CASE2: Everything worsks fine: I can use uart all over the main thread and other threads in the code:
std::cout << “Just print something” << std::endl;
static Tools::SPDThread mainThread(&mainProcess, “Main”, 8192, NULL, tskIDLE_PRIORITY + 1);
Tools::SPDThread::StartScheduler();