Closed
Description
We have confirmed that the demo does not work correctly when optimizing with the compiler on Renesas RX MCU.
The PortMEMORY_BARRIER definition must be added to portmacro.h.
Confirmed phenomenon
The demo does not work correctly under the following conditions:
- Project: https://github.com/FreeRTOS/FreeRTOS/tree/main/FreeRTOS/Demo/RX700_RX72N_EnvisionKit_Renesas_e2studio_CS%2B
- Set compiler optimization to "-Omax -speed".
When it runs the demo, it loops infinitely in xTaskResumeAll in tasks.c.
Solution (request for this issue)
Add portMEMORY_BARRIER definition to portmacro.h as follows:
- GCC
#define portMEMORY_BARRIER() __asm volatile ( "" ::: "memory" )
- CC-RX
#pragma inline_asm vPortMemoryBarrier static void vPortMemoryBarrier( void ) { } #define portMEMORY_BARRIER() vPortMemoryBarrier()
Target
All series of Renesas RX.