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 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.

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

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

Children
  • 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