Anyone have experience with RL78 port on e2 studio IDE and native compiler instead of IAR?

Hello,

I ported Demo/RL78_multiple_IAR project in FreeRTOS v10.0.1 to CC-RL/CS+, CC-RL/e2 studio and GNURL78/e2 studio in the following thread. Please note that this thread was written in Japanese but I think that files in zip is a starting point for you. These zips contain only additional (or replacing) files to FreeRTOS v10.0.1 folder tree so that you have to download also FreeRTOS v10.0.1 zip or installer exe then extract them and merge them into combined folder tree.

https://japan.renesasrulz.com/cafe_rene/f/forum21/4826/freertos-fit-cg-pdg2-csplus/27325#27325
FreeRTOS_Demo_RL78_multiple_RenesasCCRL_CS+_20180218.zip
FreeRTOS_Demo_RL78_multiple_RenesasCCRL_e2studio_20180218.zip

https://japan.renesasrulz.com/cafe_rene/f/forum21/4826/freertos-fit-cg-pdg2-csplus/27179#27179
FreeRTOS_Demo_RL78_multiple_GCC_e2studio_20180204.zip

RL78 port for CC-RL and GNURL78 (and also ICCRL) is simpler than RX port as follows:

(1) RL78 port doesn’t permit interrupt nesting. (This might be a big problem for your BLDC motor control application.)
(2) RL78 port (to be more accurate, RL78 itself) doesn’t have dedicated interrupt stack. (So every stack must have additional space for ISR.)

And there was the following problem when I run the full demo program:

(X) After quarter or half of a day (or after one day), the program shows runtime error. i.e LED blinked faster than the interval of no error state. I’d like to check this problem again with FreeRTOS v10.3.1’s kernel and demo source but I haven’t started it yet.

Moreover RL78 port for CC-RL has the following memory model issue:

(A) In case of ICCRX, ‘small’ and ‘large’ memory model (i.e. date pointer size == function pointer size) are supported but other models aren’t supported.
(B) On the other hand, CC-RL has ‘small’ and ‘medium’ memory model but it doesn’t have ‘large’ memory model. RL78 MCUs which has more than 64K code flash memory has to use ‘medium’ memory model (i.e. date pointer size != function pointer size) but I’m not sure whether FreeRTOS kernel works perfectly with such memory model. (My tiny test shows that it seems to work but I’m not sure…)

By the way, I posted other RL78 ports which are easier to use with code generating functionality of e2 studio and CS+ in Japanese user forum of Renesas but they are still in study.

Best regards,
NoMaY