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?
I am not sure if it is necessary to turn on the 'Generate re-entrant library' flag. I hope you can wait for our forum experts to share their ideas about this issue. For the meantime you might want to check these old threads with the similar linker error: E0562310:Undefined external symbol (1), E0562310:Undefined external symbol (2), CS+ project occur E0562310:Undefined external symbol.
SaiRenesasRulz Forum Moderator
https://renesasrulz.com/ https://academy.renesas.com/ en-support.renesas.com/knowledgeBase
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.