RA - > Synergy BSP Problems

Hello everyone. My customer has requested I move from RA to Synergy, and I'm perplexed by the HAL differences.  

This project uses just about every peripheral available, and I enjoyed porting to RA initially.  The IDE and configurator and code all worked exceptionally well.  The R_ interfaces for configuring and using the underlying driver model had few bugs or issues, and I really appreciated being able to mouse over and get the help context popups too for each R_ function.  

But Synergy is really taxing me. While the R_ functions are sometimes defined in the synergy driver libraries, they all appear to be private, and instead the framework exposes global members with their own differently-named functions for performing the same functions. I've been told by our local Renesas FAEs that examples don't exist for much of the BSP and pointed me to the Synergy Software Package User's Manual. But this does not list the names of the global variables and many of the underlying structures used to make this all work.

For example with the ADC. On FSP you'd do:

err = R_ADC_Open (&g_adc0_ctrl, &g_adc0_cfg);

In SPP however this becomes

err = g_adc_on_adc.open(g_adc0.p_ctrl, g_adc0.p_cfg);

For some peripherals I've been able to sort out the syntactical changes. But others are just eluding me. There's just a never-ending depth to all the configure and control registers and their new associated global structures. So I'm hesitant to proceed without asking for help first. Am I missing the big picture here? Is there a way to enable access to the R_ calls I'm used to?

Thank you for any insight you can provide!

- Jason

Parents
  • Hello,

    I am a bit surprised that someone moves from RA to Synergy, which means from a newer device family to an older.

    However there is no migration guide from RA to Synergy or vice versa to automate the process of porting between the families. You would need to manually re-create a new project and add the software modules from the beginning. SSP and FSP are similar but not identical so every change of API should be handled individually.

  • Yes, I am starting with a blank project from scratch and attempting to recreate everything inside SSP with Synergy.  But the HAL calls and foundational structure is considerably different.  The documentation is often outdated, and code examples do not seem to exist.  FSP with RA was a breeze to work with.  SSP with Synergy is very bad in comparison.  Please confirm this is the way of things?

    As to the why...

    Renesas unfortunately provided my customer and I with some initial bad recommendations, with continued mixed messaging.  Renesas never released 5V tolerant capable of IO to the RA packages the product requires.  So that set the stage for where things ended up.

  • which RA would you target ? some of the lower end devices are 5V tolerant (e.g. RA2 family)..

  • The other boards were designed to use R7FS3A77C3A01CFB#AA1.  The design fully utilizes the high pin count and resources available.  Our customer designed in the RA6M3G on the board I initially ported, which I was able to just desolder/swap out and have been using as my development platform for the second stage of porting.  

    We were told: While we have some new RA devices that support 5V operation, none of them have as much I/O, RAM, and Flash as the S3A7. The closest we have is the RA2A2 with 512K Flash 48K RAM and a 100pin option. Additionally, looking at the roadmap out through 2026, we do not have anything that would match the S3A7 and support 5V. 

    Thanks!

  • Hello,

    I cannot see how RA6M3 (or another RA) would not be as good as S3A7 or even better.

    RA6M3 has 21 5-V tolerant GPIOs:

    Also RA6M3 has more I/O ports, up to 2MB flash (more than S3A7) and up to 640-KB SRAM (more than S3A7).

    Before migrating from RA to Synergy (which does not make much sense) I would recommend to consider carefully the selection of the device.

    Let me know if you have other questions.

Reply
  • Hello,

    I cannot see how RA6M3 (or another RA) would not be as good as S3A7 or even better.

    RA6M3 has 21 5-V tolerant GPIOs:

    Also RA6M3 has more I/O ports, up to 2MB flash (more than S3A7) and up to 640-KB SRAM (more than S3A7).

    Before migrating from RA to Synergy (which does not make much sense) I would recommend to consider carefully the selection of the device.

    Let me know if you have other questions.

Children