This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

CCS/CC2640R2F: Custom Board returning PIN_NO_ACCESS from PIN_init(BoardGpioInitTable)

Part Number: CC2640R2F
Other Parts Discussed in Thread: LAUNCHXL-CC1352R1

Tool/software: Code Composer Studio

Hi all,


Background
I have designed and fabricated a custom board using CC2640R2FRHBR. I did a basic electrical inspection/test to verify the PCB is fine without any short circuits or such. I am using LAUNCHXL-CC1352R1 as the debugger. 

I can Build--> Upload--> Debug the code without any problem. So I guess there are no issues with the PCB design or fabrication.

I imported empty sketch from SimpleLink CC2640R2 SDK - 4.20.00.04 to CCS 9.3. I changed the toggling LED to Board_GPIO_BLED where it was included in the enum MYBOARD_GPIOName in MYBOARD.h (renamed version of CC2640R2_LAUNCHXL.h), and IO Id mapped accordignly in ioc.h.


Problem

I noticed that the output is not generated as expected. After debugging I found out that,

main_tirtos.c
    int main(void) --> 
        Board_init() --> 

MYBOARD.c
    void MYBOARD_initGeneral(void) --> 
        if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) --> 

PINCC26XX.c -->  
    PIN_Status PIN_init(const PIN_Config pinConfig[]) --> 
        for (i = 0, pinConfigMask = 0; PIN_ID(pinConfig[i]) != PIN_TERMINATE; i++)-->

            // Check that pin exists and is available
            if (PIN_ID(pinConfig[i]) > pinUpperBound || PIN_ID(pinConfig[i]) < pinLowerBound || reservedPinMask & (1 << PIN_ID(pinConfig[i]))) {
                return PIN_NO_ACCESS;
            }

This PIN_NO_ACCESS causes a the app to stay on while(1)

if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) {
        /* Error with PIN_init */
        while (1);
    }

The screenshot below shows the value of variables,watch expressions at the time of failure.

I even tried this BLE-Stack-Debugging Guide, but realized that it is does not relate to the TI Dirver example I am running. I need to atleast blink an LED before moving onto BLE.

What could be the reason for this? How can I resolve this?

Thanks in advance,

  • A RHB package as you use has fewer DIOs than the 7x7 package you have copied the board files from. Basically you have to comment out the DIOs in the board files that doesn't exist on a RHB.

    See https://dev.ti.com/tirex/explore/node?node=APZDQGM5GQ3GRFe6OmUZCg__krol.2c__LATEST and

    to give you an idea.

  • Thank you  TER @612009.

    With your guidance, I could resolve the issue where the program hung up in the infinite while loop. But I am afraid I have a different issue now.

    Now the program runs the whole *mainThread(). It even runs this,

        while (1) {
            sleep(time);
            //GPIO_toggle(Board_GPIO_LED0);
            GPIO_toggle(CC2640R2_LAUNCHXL_PIN_RLED);
        }

    But no LED attached gets toggled,  nor it changes the voltage at the pins.

    I changed the board files to suit the RHB package. There are LEDs attached to DIO2,3,7,8,10,11,12. None of them toggle the output.

    I will share the files for your attention.

    Github repo : git@github.com:tmadushan/cc2640-firmware.git

    I have already verified that the LEDs are not blown.

  • Could you paste in the code that covers the usage of the LED?

    I would assume that something is not defined or similar. 

  • Sure @612009,

    empty.c

    void *mainThread(void *arg0)
    {
        /* 1 second delay */
        uint32_t time = 1;
    
        /* Call driver init functions */
        GPIO_init();
        // I2C_init();
        // SPI_init();
        // UART_init();
        // Watchdog_init();
    
        /* Configure the LED pin */
    
        //GPIO_setConfig(Board_GPIO_LED0, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
        GPIO_setConfig(CC2640R2_LAUNCHXL_DIO11_ANALOG, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    
        /* Turn on user LED */empty.c
        //GPIO_write(Board_GPIO_LED0, Board_GPIO_LED_ON);
        GPIO_write(CC2640R2_LAUNCHXL_DIO11_ANALOG, Board_GPIO_LED_ON);    //CC2640R2_LAUNCHXL_PIN_RLED,CC2640R2_LAUNCHXL_PIN_GLED
    
        while (1) {
            sleep(time);
            //GPIO_toggle(Board_GPIO_LED0);
            GPIO_toggle(CC2640R2_LAUNCHXL_DIO11_ANALOG);
        }
    }

    CC2640R2_LAUNCHXL.h

    .....
    #ifndef __CC2640R2_LAUNCHXL_BOARD_H__ #define __CC2640R2_LAUNCHXL_BOARD_H__ #ifdef __cplusplus extern "C" { #endif /* Includes */ #include <ti/drivers/PIN.h> #include <ti/devices/cc26x0r2/driverlib/ioc.h> /* Externs */ extern const PIN_Config BoardGpioInitTable[]; /* Defines */ #define CC2640R2_LAUNCHXL /* Mapping of pins to board signals using general board aliases * <board signal alias> <pin mapping> */ /* Analog Capable DIOs */ #define CC2640R2_LAUNCHXL_DIO14_ANALOG IOID_14 #define CC2640R2_LAUNCHXL_DIO13_ANALOG IOID_13 #define CC2640R2_LAUNCHXL_DIO12_ANALOG IOID_12 #define CC2640R2_LAUNCHXL_DIO11_ANALOG IOID_11 #define CC2640R2_LAUNCHXL_DIO10_ANALOG IOID_10 #define CC2640R2_LAUNCHXL_DIO9_ANALOG IOID_9 #define CC2640R2_LAUNCHXL_DIO8_ANALOG IOID_8 #define CC2640R2_LAUNCHXL_DIO7_ANALOG IOID_7 /* Digital IOs */ #define CC2640R2_LAUNCHXL_DIO0 IOID_0 #define CC2640R2_LAUNCHXL_DIO1 IOID_1 #define CC2640R2_LAUNCHXL_DIO2 IOID_2 #define CC2640R2_LAUNCHXL_DIO3 IOID_3 #define CC2640R2_LAUNCHXL_DIO4 IOID_4 #define CC2640R2_LAUNCHXL_DIO5_TDO IOID_5 #define CC2640R2_LAUNCHXL_DIO6_TDI IOID_6 #define CC2640R2_LAUNCHXL_DIO7 IOID_7 /* Discrete Inputs */ //#define CC2640R2_LAUNCHXL_PIN_BTN1 IOID_13 //#define CC2640R2_LAUNCHXL_PIN_BTN2 IOID_14 /* GPIO */ #define CC2640R2_LAUNCHXL_GPIO_LED_ON 1 #define CC2640R2_LAUNCHXL_GPIO_LED_OFF 0 /* I2C */ //#define CC2640R2_LAUNCHXL_I2C0_SCL0 IOID_4 //#define CC2640R2_LAUNCHXL_I2C0_SDA0 IOID_5 #define CC2640R2_LAUNCHXL_I2C0_SCL0 IOID_13 #define CC2640R2_LAUNCHXL_I2C0_SDA0 IOID_14 /* I2S */ //#define CC2640R2_LAUNCHXL_I2S_ADO IOID_0 //#define CC2640R2_LAUNCHXL_I2S_ADI IOID_1 //#define CC2640R2_LAUNCHXL_I2S_BCLK IOID_30 //#define CC2640R2_LAUNCHXL_I2S_MCLK PIN_UNASSIGNED //#define CC2640R2_LAUNCHXL_I2S_WCLK IOID_29 /* I2S */ #define CC2640R2_LAUNCHXL_I2S_ADO PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_I2S_ADI PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_I2S_BCLK PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_I2S_MCLK PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_I2S_WCLK PIN_UNASSIGNED /* LEDs */ #define CC2640R2_LAUNCHXL_PIN_LED_ON 1 #define CC2640R2_LAUNCHXL_PIN_LED_OFF 0 #define CC2640R2_LAUNCHXL_PIN_RLED IOID_12 #define CC2640R2_LAUNCHXL_PIN_GLED IOID_7 /* PWM Outputs */ #define CC2640R2_LAUNCHXL_PWMPIN0 CC2640R2_LAUNCHXL_PIN_RLED #define CC2640R2_LAUNCHXL_PWMPIN1 CC2640R2_LAUNCHXL_PIN_GLED #define CC2640R2_LAUNCHXL_PWMPIN2 PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_PWMPIN3 PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_PWMPIN4 PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_PWMPIN5 PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_PWMPIN6 PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_PWMPIN7 PIN_UNASSIGNED /* SPI */ //#define CC2640R2_LAUNCHXL_SPI_FLASH_CS IOID_20 //#define CC2640R2_LAUNCHXL_FLASH_CS_ON 0 //#define CC2640R2_LAUNCHXL_FLASH_CS_OFF 1 #define CC2640R2_LAUNCHXL_SPI_FLASH_CS PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_FLASH_CS_ON 0 #define CC2640R2_LAUNCHXL_FLASH_CS_OFF 1 /* SPI Board */ #define CC2640R2_LAUNCHXL_SPI0_MISO PIN_UNASSIGNED /* RF1.20 */ #define CC2640R2_LAUNCHXL_SPI0_MOSI PIN_UNASSIGNED /* RF1.18 */ #define CC2640R2_LAUNCHXL_SPI0_CLK PIN_UNASSIGNED /* RF1.16 */ #define CC2640R2_LAUNCHXL_SPI0_CSN PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_SPI1_MISO PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_SPI1_MOSI PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_SPI1_CLK PIN_UNASSIGNED #define CC2640R2_LAUNCHXL_SPI1_CSN PIN_UNASSIGNED /* UART Board */ #define CC2640R2_LAUNCHXL_UART_RX PIN_UNASSIGNED /* RXD */ #define CC2640R2_LAUNCHXL_UART_TX PIN_UNASSIGNED /* TXD */ #define CC2640R2_LAUNCHXL_UART_CTS PIN_UNASSIGNED /* CTS */ #define CC2640R2_LAUNCHXL_UART_RTS PIN_UNASSIGNED /* RTS */ ... typedef enum CC2640R2_LAUNCHXL_GPIOName { CC2640R2_LAUNCHXL_GPIO_S1 = 0, CC2640R2_LAUNCHXL_GPIO_S2, CC2640R2_LAUNCHXL_SPI_MASTER_READY, CC2640R2_LAUNCHXL_SPI_SLAVE_READY, CC2640R2_LAUNCHXL_GPIO_LED_GREEN, CC2640R2_LAUNCHXL_GPIO_LED_RED, CC2640R2_LAUNCHXL_GPIO_TMP116_EN, CC2640R2_LAUNCHXL_GPIO_SPI_FLASH_CS, CC2640R2_LAUNCHXL_SDSPI_CS, CC2640R2_LAUNCHXL_GPIO_LCD_CS, CC2640R2_LAUNCHXL_GPIO_LCD_POWER, CC2640R2_LAUNCHXL_GPIO_LCD_ENABLE, CC2640R2_LAUNCHXL_GPIOCOUNT } CC2640R2_LAUNCHXL_GPIOName;

    CC2640R2_LAUNCHXL.c

    const PIN_Config BoardGpioInitTable[] = {
    
        CC2640R2_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        CC2640R2_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off */
        //CC2640R2_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        //CC2640R2_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low */
        CC2640R2_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
        CC2640R2_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
        CC2640R2_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                         /* UART TX via debugger back channel */
        CC2640R2_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */
        CC2640R2_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */
        CC2640R2_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */
    
        PIN_TERMINATE
    };

    Board.h

    #define Board_ADC0              CC2640R2_LAUNCHXL_ADC0
    #define Board_ADC1              CC2640R2_LAUNCHXL_ADC1
    
    #define Board_ADCBUF0           CC2640R2_LAUNCHXL_ADCBUF0
    #define Board_ADCBUF0CHANNEL0   CC2640R2_LAUNCHXL_ADCBUF0CHANNEL0
    #define Board_ADCBUF0CHANNEL1   CC2640R2_LAUNCHXL_ADCBUF0CHANNEL1
    
    #define Board_CRYPTO0           CC2640R2_LAUNCHXL_CRYPTO0
    #define Board_AESCCM0           CC2640R2_LAUNCHXL_AESCCM0
    #define Board_AESGCM0           CC2640R2_LAUNCHXL_AESGCM0
    #define Board_AESCBC0           CC2640R2_LAUNCHXL_AESCBC0
    #define Board_AESCTR0           CC2640R2_LAUNCHXL_AESCTR0
    #define Board_AESECB0           CC2640R2_LAUNCHXL_AESECB0
    #define Board_AESCTRDRBG0       CC2640R2_LAUNCHXL_AESCTRDRBG0
    #define Board_TRNG0             CC2640R2_LAUNCHXL_TRNG0
    
    #define Board_DIO0              CC2640R2_LAUNCHXL_DIO0
    #define Board_DIO1              CC2640R2_LAUNCHXL_DIO1
    #define Board_DIO2              CC2640R2_LAUNCHXL_DIO2
    #define Board_DIO3              CC2640R2_LAUNCHXL_DIO3
    #define Board_DIO4              CC2640R2_LAUNCHXL_DIO4
    #define Board_DIO5_TDO          CC2640R2_LAUNCHXL_DIO5_TDO
    #define Board_DIO6_TDI          CC2640R2_LAUNCHXL_DIO6_TDI
    //#define Board_DIO21             CC2640R2_LAUNCHXL_DIO21
    //#define Board_DIO22             CC2640R2_LAUNCHXL_DIO22
    
    #define Board_DIO7_ANALOG       CC2640R2_LAUNCHXL_DIO7_ANALOG
    #define Board_DIO8_ANALOG       CC2640R2_LAUNCHXL_DIO8_ANALOG
    #define Board_DIO9_ANALOG       CC2640R2_LAUNCHXL_DIO9_ANALOG
    #define Board_DIO10_ANALOG      CC2640R2_LAUNCHXL_DIO10_ANALOG
    #define Board_DIO11_ANALOG      CC2640R2_LAUNCHXL_DIO11_ANALOG
    #define Board_DIO12_ANALOG      CC2640R2_LAUNCHXL_DIO12_ANALOG
    #define Board_DIO13_ANALOG      CC2640R2_LAUNCHXL_DIO13_ANALOG
    #define Board_DIO14_ANALOG      CC2640R2_LAUNCHXL_DIO14_ANALOG
    
    #define Board_GPIO_BUTTON0      CC2640R2_LAUNCHXL_GPIO_S1
    #define Board_GPIO_BUTTON1      CC2640R2_LAUNCHXL_GPIO_S2
    #define Board_GPIO_BTN1         CC2640R2_LAUNCHXL_GPIO_S1
    #define Board_GPIO_BTN2         CC2640R2_LAUNCHXL_GPIO_S2
    #define Board_GPIO_LED0         CC2640R2_LAUNCHXL_GPIO_LED_RED
    #define Board_GPIO_LED1         CC2640R2_LAUNCHXL_GPIO_LED_GREEN
    #define Board_GPIO_LED2         CC2640R2_LAUNCHXL_GPIO_LED_RED
    #define Board_GPIO_RLED         CC2640R2_LAUNCHXL_GPIO_LED_RED
    #define Board_GPIO_GLED         CC2640R2_LAUNCHXL_GPIO_LED_GREEN
    #define Board_GPIO_LED_ON       CC2640R2_LAUNCHXL_GPIO_LED_ON
    #define Board_GPIO_LED_OFF      CC2640R2_LAUNCHXL_GPIO_LED_OFF
    #define Board_GPIO_TMP116_EN    CC2640R2_LAUNCHXL_GPIO_TMP116_EN
    
    #define Board_GPTIMER0A         CC2640R2_LAUNCHXL_GPTIMER0A
    #define Board_GPTIMER0B         CC2640R2_LAUNCHXL_GPTIMER0B
    #define Board_GPTIMER1A         CC2640R2_LAUNCHXL_GPTIMER1A
    #define Board_GPTIMER1B         CC2640R2_LAUNCHXL_GPTIMER1B
    #define Board_GPTIMER2A         CC2640R2_LAUNCHXL_GPTIMER2A
    #define Board_GPTIMER2B         CC2640R2_LAUNCHXL_GPTIMER2B
    #define Board_GPTIMER3A         CC2640R2_LAUNCHXL_GPTIMER3A
    #define Board_GPTIMER3B         CC2640R2_LAUNCHXL_GPTIMER3B
    
    #define Board_I2C0              CC2640R2_LAUNCHXL_I2C0
    #define Board_I2C_TMP           Board_I2C0
    
    #define Board_I2S0              CC2640R2_LAUNCHXL_I2S0
    #define Board_I2S_ADO           CC2640R2_LAUNCHXL_I2S_ADO
    #define Board_I2S_ADI           CC2640R2_LAUNCHXL_I2S_ADI
    #define Board_I2S_BCLK          CC2640R2_LAUNCHXL_I2S_BCLK
    #define Board_I2S_MCLK          CC2640R2_LAUNCHXL_I2S_MCLK
    #define Board_I2S_WCLK          CC2640R2_LAUNCHXL_I2S_WCLK
    
    #define Board_NVSINTERNAL       CC2640R2_LAUNCHXL_NVSCC26XX0
    #define Board_NVSEXTERNAL       CC2640R2_LAUNCHXL_NVSSPI25X0
    
    #define Board_PIN_BUTTON0       CC2640R2_LAUNCHXL_PIN_BTN1
    #define Board_PIN_BUTTON1       CC2640R2_LAUNCHXL_PIN_BTN2
    #define Board_PIN_BTN1          CC2640R2_LAUNCHXL_PIN_BTN1
    #define Board_PIN_BTN2          CC2640R2_LAUNCHXL_PIN_BTN2
    #define Board_PIN_LED0          CC2640R2_LAUNCHXL_PIN_RLED
    #define Board_PIN_LED1          CC2640R2_LAUNCHXL_PIN_GLED
    #define Board_PIN_LED2          CC2640R2_LAUNCHXL_PIN_RLED
    #define Board_PIN_RLED          CC2640R2_LAUNCHXL_PIN_RLED
    #define Board_PIN_GLED          CC2640R2_LAUNCHXL_PIN_GLED
    
    #define Board_PWM0              CC2640R2_LAUNCHXL_PWM0
    #define Board_PWM1              CC2640R2_LAUNCHXL_PWM1
    #define Board_PWM2              CC2640R2_LAUNCHXL_PWM2
    #define Board_PWM3              CC2640R2_LAUNCHXL_PWM3
    #define Board_PWM4              CC2640R2_LAUNCHXL_PWM4
    #define Board_PWM5              CC2640R2_LAUNCHXL_PWM5
    #define Board_PWM6              CC2640R2_LAUNCHXL_PWM6
    #define Board_PWM7              CC2640R2_LAUNCHXL_PWM7
    
    #define Board_SD0               CC2640R2_LAUNCHXL_SDSPI0
    
    #define Board_SPI0              CC2640R2_LAUNCHXL_SPI0
    #define Board_SPI1              CC2640R2_LAUNCHXL_SPI1
    #define Board_SPI_FLASH_CS      CC2640R2_LAUNCHXL_SPI_FLASH_CS
    #define Board_FLASH_CS_ON       0
    #define Board_FLASH_CS_OFF      1
    
    #define Board_SPI_MASTER        CC2640R2_LAUNCHXL_SPI0
    #define Board_SPI_SLAVE         CC2640R2_LAUNCHXL_SPI0
    #define Board_SPI_MASTER_READY  CC2640R2_LAUNCHXL_SPI_MASTER_READY
    #define Board_SPI_SLAVE_READY   CC2640R2_LAUNCHXL_SPI_SLAVE_READY
    
    #define Board_UART0             CC2640R2_LAUNCHXL_UART0

    No changes done to PINCC26XX.h, ioc.h

    Your help is much appreciated.

    Thank you!

  • I suspect that you are using the incorrect names. See https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz/f/156/t/711372?CC1312R-Unable-to-modify-value-of-GPIOs-in-CC1312R that covers how to use the GPIO driver. 

  • Thank you so much @TER

    I was able to fix the GPIO issue finally, with your and help and 's posts.

    Anyone reading this, I strongly suggest go to

    and

    I will put the snippets for reference here.

    in Board.h

    #define Board_DIO14_ANALOG      CC2640R2_LAUNCHXL_DIO14_ANALOG
    
    #define Board_TESTLED_12        CC2640R2_LAUNCHXL_DIO12     //Note: Added by @TMP
    #define Board_TESTLED_11        CC2640R2_LAUNCHXL_DIO11     //Note: Added by @TMP
    #define Board_TESTLED_10        CC2640R2_LAUNCHXL_DIO10     //Note: Added by @TMP
    
    
    #define Board_GPIO_BUTTON0      CC2640R2_LAUNCHXL_GPIO_S1
    #define Board_GPIO_BUTTON1      CC2640R2_LAUNCHXL_GPIO_S2

    in CC2640R2_LAUNCHXL.h,

    typedef enum CC2640R2_LAUNCHXL_GPIOName {
        CC2640R2_LAUNCHXL_GPIO_S1 = 0,
        CC2640R2_LAUNCHXL_GPIO_S2,
        CC2640R2_LAUNCHXL_SPI_MASTER_READY,
        CC2640R2_LAUNCHXL_SPI_SLAVE_READY,
        CC2640R2_LAUNCHXL_GPIO_LED_GREEN,
        CC2640R2_LAUNCHXL_GPIO_LED_RED,
        CC2640R2_LAUNCHXL_GPIO_TMP116_EN,
        CC2640R2_LAUNCHXL_GPIO_SPI_FLASH_CS,
        CC2640R2_LAUNCHXL_SDSPI_CS,
        CC2640R2_LAUNCHXL_GPIO_LCD_CS,
        CC2640R2_LAUNCHXL_GPIO_LCD_POWER,
        CC2640R2_LAUNCHXL_GPIO_LCD_ENABLE,
        CC2640R2_LAUNCHXL_DIO12,
        CC2640R2_LAUNCHXL_DIO11,
        CC2640R2_LAUNCHXL_DIO10,
    
        CC2640R2_LAUNCHXL_GPIOCOUNT
    } CC2640R2_LAUNCHXL_GPIOName;

    In CC2640R2_LAUNCHXL.c

    GPIO_PinConfig gpioPinConfigs[] = {
        /* Input pins */
        GPIOCC26XX_DIO_13 | GPIO_DO_NOT_CONFIG,  /* Button 0 */
        GPIOCC26XX_DIO_14 | GPIO_DO_NOT_CONFIG,  /* Button 1 */
    
        GPIOCC26XX_DIO_15 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_MASTER_READY */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,  /* CC2640R2_LAUNCHXL_SPI_SLAVE_READY */
    
        /* Output pins */
        GPIOCC26XX_DIO_07 | GPIO_DO_NOT_CONFIG,  /* Green LED */
        GPIOCC26XX_DIO_06 | GPIO_DO_NOT_CONFIG,  /* Red LED */
        GPIOCC26XX_DIO_30 | GPIO_DO_NOT_CONFIG,  /* TMP116_EN */
    
        /* SPI Flash CSN */
        GPIOCC26XX_DIO_20 | GPIO_DO_NOT_CONFIG,
    
        /* SD CS */
        GPIOCC26XX_DIO_21 | GPIO_DO_NOT_CONFIG,
    
        /* Sharp Display - GPIO configurations will be done in the Display files */
        GPIOCC26XX_DIO_24 | GPIO_DO_NOT_CONFIG, /* SPI chip select */
        GPIOCC26XX_DIO_22 | GPIO_DO_NOT_CONFIG, /* LCD power control */
        GPIOCC26XX_DIO_23 | GPIO_DO_NOT_CONFIG, /*LCD enable */
    
        GPIOCC26XX_DIO_12 | GPIO_DO_NOT_CONFIG, /*TEST LED ADDED BY TMP*/
        GPIOCC26XX_DIO_11 | GPIO_DO_NOT_CONFIG, /*TEST LED ADDED BY TMP*/
        GPIOCC26XX_DIO_10 | GPIO_DO_NOT_CONFIG, /*TEST LED ADDED BY TMP*/
    
    };
    

    in the main empty.c,

        GPIO_init();
    
        /* Configure the LED pin */
    
        GPIO_setConfig(Board_TESTLED_12, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
        GPIO_setConfig(Board_TESTLED_11, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
        GPIO_setConfig(Board_TESTLED_10, GPIO_CFG_OUT_STD | GPIO_CFG_OUT_LOW);
    
        /* Turn on user LED */
    
        GPIO_write(Board_TESTLED_12, Board_GPIO_LED_ON);
        GPIO_write(Board_TESTLED_11, Board_GPIO_LED_ON);
        GPIO_write(Board_TESTLED_10, Board_GPIO_LED_ON);
    
        while (1) {
            sleep(time);
            GPIO_toggle(Board_TESTLED_12);
            GPIO_toggle(Board_TESTLED_11);
            GPIO_toggle(Board_TESTLED_10);
        }

    Off she goes,

    Kudos to all contributors!