DA14531 cannot reuse JTAG SWDIO or SCLK pins as GPIO with pull-up/pull-down ? (blinky demo)


I am using a DA14531 with SDK version

I am using a custom PCB, but I have also confirmed this behaviour on a dev board kit.

I have confirmed the behaviour using the blinky demo in both cases.

I have modified the blinky demo (main.c:blinky_test() function) like so: 

void blinky_test(void)
    volatile int i=0;

    // printf_string(UART, "\n\r\n\r");
    // printf_string(UART, "***************\n\r");
    // printf_string(UART, "* BLINKY DEMO *\n\r");
    // printf_string(UART, "***************\n\r");


        if (LED_OFF_THRESHOLD == i)
            GPIO_ConfigurePin(LED_PORT, LED_PIN, INPUT_PULLDOWN, PID_GPIO, false);
            // GPIO_SetActive(LED_PORT, LED_PIN);
            // printf_string(UART, "\n\r *LED ON* ");

        if (LED_ON_THRESHOLD == i)
            GPIO_ConfigurePin(LED_PORT, LED_PIN, INPUT_PULLUP, PID_GPIO, true);
            // GPIO_SetInactive(LED_PORT, LED_PIN);
            // printf_string(UART, "\n\r *LED OFF* ");

        if (i == 2 * LED_ON_THRESHOLD)
            i = 0;

I change the pin via \blinky\include\user_periph_setup.h

/* LED configuration                                                                    */
// Define LED Pad
#if defined (__DA14531__)
    #define LED_PORT                GPIO_PORT_0
    #define LED_PIN                 GPIO_PIN_3
    // #define LED_PIN                 GPIO_PIN_5
    // #define LED_PIN                 GPIO_PIN_2
    #define LED_PORT                GPIO_PORT_1
    #define LED_PIN                 GPIO_PIN_0

I have tested the behaviour with:

Pin Observation
P0_03 Line toggles between VBAT_HIGH and 0V as expected
P0_02 Line remains low (but doesn't appear to be pulled down)
P0_05 Line remains low (but doesn't appear to be pulled down)

Reproduction steps

To test the behaviour I program the dev daughter board with the J1 jumpers on SWCLK and SWDIO and RST enabled. I then disconnect the jumpers and probe the headers (on the daughterboard connection side). I can probe the MISO point on J1 for P0_03 and that is where I confirm I get the correct blinky behaviour.

Similarly when testing my target PCB I am using the Dev motherboard as a J-Link and after programming the PCB I disconnect the SWCLK, SWDIO and RST headers and then probe the test points on the target PCB. I have the grounds linked between my target PCB and the dev motherboard when using this configuration.

In both cases, when I do not disconnect the J1 jumpers for SWD I can see activity on the lines while debugging as expected, hence why they are disconnected to properly measure the signal.


I need to use P0_02 and P0_05 for my target application, am I missing a configuration in order to use those pins?