Re-entrant library for RX needed for running FreeRTOS?

Our software, running on the RX72N and compiled with e2studio 2021-04 with RX CCRX Compiler v3.03 is migrating to FreeRTOS. Previous software wasn't running on an OS. It was a 'simple' while (1) without tasks. There were some interrupts, but nothing else.

While checking all the project settings I saw the flag 'Generate re-entrant library (-reent)' in the Library Generator -> Object settings.

I was wondering, is it necessary to turn on this flag because several tasks are running now that can all call, for example, sprintf()?

In the CC-RX compiler user manual v3.03.00, chapter 7.3 a list is given which library functions are reentrant and which not:

[Reentrant column O: Reentrant X: Non-reentrant D: Sets the errno variable]

We example use the sprintf() function in multiple tasks.

When turning on the flag the following linker errors were given:

<see first reply, somehow I couldn't post the linker errors included in this post>

So to summarize my question(s):

1. It is needed to turn on the flag 'Generate re-entrant library (-reent)' if we are using FreeRTOS?

2. If it is needed, how can I solve the linker errors?

Parents Reply Children
  • Thank you for the old threads. Unfortunately I cannot use it to solve the problem. The undefined external symbols are related to the library. Only when making it re-entrant the errors occur. I still don't know how to solve this.

    Also, first question if a re-entrant library is needed is still unanswered. Hope someone can advice us.