Any plan of Renesas RXv3 port layer supporting RXv3's double precision FPU?

Hello Richard,

Is there any plan of such RXv3 port layer? If so, is there any rough schedule? Because…

Recently Renesas ships new RX MCUs which have new RXv3 CPU core. Some of them, RX72M, RX72N and RX66N, have a double precision FPU (DPFPU) and this DPFPU has dedicated data registers and controle registers. I think that these dedicated registers have to be saved/restored in the task switching sequence but the RXv2 port layer, of course, does not take care of them.

RX Family RXv3 Instruction Set Architecture User’s Manual: Software
https://www.renesas.com/us/en/search/keyword-search.html#genre=document&q=r01us0316
r01us0316ej0100-rxv3sm.pdf
Page 38 / 396
1.10 Double-Precision Floating-Point Coprocessor

Last week I started the following Japanese thread regarding to this issue. But now I think that asking you about any plan of new port layer supporting the DPFPU is better to know than not asking, regardless of whether proceeding the thread or not. And I’d like to post a report about your answer to the thread.

A consideration of developing a FreeRTOS kernel RXv3-DPFPU port layer (Please note that original title and all contents are Japanese.)
http://japan.renesasrulz.com/cafe_rene/f/forum21/6329/freertos-kernel-rxv3-dpfpu-port-layer

Best regards,
NoMaY

Yes it would be good to have upstream support for this. I would have to get the hardware first. We also accept pull requests https://github.com/FreeRTOS/FreeRTOS-Kernel if somebody needed this sooner - we would still need to get hardware but the task would be faster as we would just need to verify the testing.

Hello Richard,

Thank you for your reply. I’d like to proceed with the Japanese thread as possible as I can. And I’d like to post a pull request after I finish it (if I can finish it).

By the way, I will use the following hardware i.e. I will not be able to use “Starter Kit”.

https://www.renesas.com/us/en/products/software-tools/boards-and-kits/eval-kits/rx72n-envision-kit.html

https://github.com/renesas/rx72n-envision-kit/wiki

As of todya, Renesas uses the RX600v2 port layer for its firmware.

https://github.com/renesas/rx72n-envision-kit/blob/master/freertos_kernel/portable/Renesas/RX600v2/port.c

Best regards,
NoMaY

Hello Richard,

Two weeks have passed since my last reply but two more weeks seem to be necessary to post a pull request. When I’ll post a pull request, I’d like to include four RTOSDemo projects for the following environments (if any serious bugs of compilers were not found).

  • GNURX/e2 studio
  • ICCRX/EWRX
  • CC-RX/e2 studio
  • CC-RX/CS+

These projects will be derived from the RX71M RSK’s RTOSDemo projects. Additionally, these projects will be composed according to the e2 studio’s Renese RX FreeRTOS project style. (Latest e2 studio can generate the Renese RX FreeRTOS project for CC-RX and GNURX in case of recent RX MCUs such as RX130, RX231, RX64M, RX65N and so on like the following screen copy.)

Best regards,
NoMaY

Looks good - we can communicate back and forth in the pull requests if any updates are needed to the project.

Note the FreeRTOS kernel is now in its own repo https://github.com/FreeRTOS/FreeRTOS-Kernel so that is where the port layer pull requests can go. The kernel git repo is then sub-moduled into the repo that contains the full download https://github.com/FreeRTOS/FreeRTOS so that is where the demos go.

In the mean time I purchased two RX72N dev kits and can send one to one of my colleagues.