Should external processor example projects automatically start the GTL interface

We have configured the GPIO UART pins in the prox_reporter_ext example project user_periph_setup.h file to conform to our hardware layout and kept every other setting identical apart from the dcdc converter setting.

After the boot procedure (SPI slave boot step), the DA14531 chip does not seem to initialize the UART interface as the TX and RTS line remain low with no activity. Should this happen automatically or are there API functions to call in order to initialize GTL and/or the UART ROM driver?

The firmware flash process seems to work as the barebones advertising example seems to run just fine.

We use SDK6.0.22 with a GCC build system and copied all the required files and defines from the example projects .uvprojx file.

Parents
  • HI There,

    Thank you for posting your question online?
    Are you using DA14531 FCQFN24 package or the WLCP17 package?

    We have configured the GPIO UART pins in the prox_reporter_ext example project user_periph_setup.h file to conform to our hardware layout and kept every other setting identical apart from the dcdc converter setting.

    Which GPIOs have you configured for UART?
    Please check on DA14531 Datasheet

    M
    y guess would be that you have used the SWD Pins for UART pins as well.
    Please check on: Can I Remap SWD Pins to GPIOs? | Renesas Customer Hub
    You can remap the SWD pins to GPIOs and then initialize the UART interface.

    Best Regards,
    OV_Renesas

  • We are using the WLCP17 package. The RX pin is indeed mapped to 0_1 (SWDIO). After your response I put  SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0); in the periph_init() function to disable the debugger, this sadly had no effect.

    Are the UART lines supposed to be active high or active low?

    Also, is the UART1 ROM driver usable with differing GPIO pins?

  • Hi There,

    Thank you for the reply.

    We are using the WLCP17 package. The RX pin is indeed mapped to 0_1 (SWDIO). After your response I put  SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0); in the periph_init() function to disable the debugger, this sadly had no effect.

    Could you please share where exactly you called this?
    Did you initialize the UART interface and configure the GPIOs for UART after that?


    Are the UART lines supposed to be active high or active low?

    By default on the prox_reporter_ext it is low.
    This depends on the parameters on the GPIO_ConfigurePin API:

        GPIO_ConfigurePin(UART1_TX_PORT, UART1_TX_PIN, OUTPUT, PID_UART1_TX, false);
        GPIO_ConfigurePin(UART1_RX_PORT, UART1_RX_PIN, INPUT, PID_UART1_RX, false);
        GPIO_ConfigurePin(UART1_RTSN_PORT, UART1_RTSN_PIN, OUTPUT, PID_UART1_RTSN, false);
        GPIO_ConfigurePin(UART1_CTSN_PORT, UART1_CTSN_PIN, INPUT, PID_UART1_CTSN, false);
        
        /**
     ****************************************************************************************
     * @brief Combined function to set the state and the type and mode of the GPIO pin.
     * @param[in] port     GPIO port
     * @param[in] pin      GPIO pin
     * @param[in] mode     GPIO pin mode. INPUT = 0, INPUT_PULLUP = 0x100, INPUT_PULLDOWN = 0x200, OUTPUT = 0x300,
     * @param[in] function GPIO pin usage. GPIO_FUNCTION enumaration.
     * @param[in] high     set to TRUE to set the pin into high else low
     ****************************************************************************************
     */
    void GPIO_ConfigurePin(GPIO_PORT port, GPIO_PIN pin, GPIO_PUPD mode,
                                  GPIO_FUNCTION function, const bool high);

    Also, is the UART1 ROM driver usable with differing GPIO pins?

    Yes, it is usable with different GPIOs.

    Best Regards,
    OV_Renesas

Reply
  • Hi There,

    Thank you for the reply.

    We are using the WLCP17 package. The RX pin is indeed mapped to 0_1 (SWDIO). After your response I put  SetBits16(SYS_CTRL_REG, DEBUGGER_ENABLE, 0); in the periph_init() function to disable the debugger, this sadly had no effect.

    Could you please share where exactly you called this?
    Did you initialize the UART interface and configure the GPIOs for UART after that?


    Are the UART lines supposed to be active high or active low?

    By default on the prox_reporter_ext it is low.
    This depends on the parameters on the GPIO_ConfigurePin API:

        GPIO_ConfigurePin(UART1_TX_PORT, UART1_TX_PIN, OUTPUT, PID_UART1_TX, false);
        GPIO_ConfigurePin(UART1_RX_PORT, UART1_RX_PIN, INPUT, PID_UART1_RX, false);
        GPIO_ConfigurePin(UART1_RTSN_PORT, UART1_RTSN_PIN, OUTPUT, PID_UART1_RTSN, false);
        GPIO_ConfigurePin(UART1_CTSN_PORT, UART1_CTSN_PIN, INPUT, PID_UART1_CTSN, false);
        
        /**
     ****************************************************************************************
     * @brief Combined function to set the state and the type and mode of the GPIO pin.
     * @param[in] port     GPIO port
     * @param[in] pin      GPIO pin
     * @param[in] mode     GPIO pin mode. INPUT = 0, INPUT_PULLUP = 0x100, INPUT_PULLDOWN = 0x200, OUTPUT = 0x300,
     * @param[in] function GPIO pin usage. GPIO_FUNCTION enumaration.
     * @param[in] high     set to TRUE to set the pin into high else low
     ****************************************************************************************
     */
    void GPIO_ConfigurePin(GPIO_PORT port, GPIO_PIN pin, GPIO_PUPD mode,
                                  GPIO_FUNCTION function, const bool high);

    Also, is the UART1 ROM driver usable with differing GPIO pins?

    Yes, it is usable with different GPIOs.

    Best Regards,
    OV_Renesas

Children
No Data