RA6M5 SPI: where is p_transfer_tx/p_transfer_rx configured?


I'm working on a project which uses RA6M5 MCU. The FSP version is 3.7.0. The Smart Configurator version is 2022-04 (22.4.0).

I added an SPI stack and configured it as this screen shot. As you can see, I don't have DTC for Rx/Tx.

After that, I generated the project content. I noticed the p_transfer_tx is set to g_spi1_P_TRANSFER_TX which is defined as NULL. But I couldn't find a way to explicitly set it as NULL in the "Properties" by using the Smart Configurator.

const spi_cfg_t g_spi1_cfg =
    .channel             = 1,
    . . .
    .p_transfer_tx       = g_spi1_P_TRANSFER_TX,
    .p_transfer_rx       = g_spi1_P_TRANSFER_RX,
    . . .

// hal_data.h
#define RA_NOT_DEFINED (1)
    #define g_spi1_P_TRANSFER_TX (NULL)
    #define g_spi1_P_TRANSFER_TX (&RA_NOT_DEFINED)
    #define g_spi1_P_TRANSFER_RX (NULL)
    #define g_spi1_P_TRANSFER_RX (&RA_NOT_DEFINED)

Is there anyway to set p_transfer_tx/p_transfer_rx as NULL by using the Smart Configurator?


  • Hello sir,

    Thanks for reaching out Renesas Engineering Community.

    Please let me inform you that  the FSP version you are using is quite old and we would suggest to you to upgrade your FSP version to the latest one or a newer one than FSP version 3.7.0.

    Here you can find all the different FSP releases and download e2studio IDE with the corresponded FSP version.


    In order to enable the DTC for both transition and reception you should go under the r_spi stack and add  the DTC submodules for transmitting and receiving data.

    You should be able to see something like this:

    And when you add this submodules:

    And then press Generate Code you will see that the SPI transfer instances for TX and RX which are hold into the spi_cfg_t structure in hal_data.c file which holds the configurations and the settings of the SPI peripheral.

    Are defined as in hal_data.h generated file:

    Which are the transfer instances for the two DTCs configured for transition and reception.

    Also declared in hal_data.h file, where g_transfer0 is the DTC instance for TX and g_transfer1 is the DTC instance for RX.

    Best Regards,


  • Hi IK_Renesas,

    Thank you so much for such detailed explanation! This makes sense.

    We're going to consider upgrade our FSP version.