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.

CC1310: CC1310F32

Part Number: CC1310

Hi,

we tested LED blinking  (DIO7)  sample program using LAUNCHXL-CC1310 (CC1310F128) its working fine

but our Target board designed using  CC1310F32, the same program we flashed to our target board 

(Flashing Done) but program not executed (LED not blinking) 

attached our design for your reference,  

  • Hi Mahesh,

    Thanks for reaching out to us.

    Since CC1310F32 has a different SRAM and flash size compared to CC1310F128, you need to update flash and SRAM sizes defined in the linker file.

    If you are using CCS, your linker file will probably contain something similar to this:

    #define FLASH_BASE              0x0
    #define FLASH_SIZE              0x20000
    #define RAM_BASE                0x20000000
    #define RAM_SIZE                0x5000

    You need to change that to this:

    #define FLASH_BASE              0x0
    #define FLASH_SIZE              0x8000
    #define RAM_BASE                0x20000000
    #define RAM_SIZE                0x4000

    Regards,
    Nikolaj

  • Thanks for the input, we Modified as per your Flash size and SRAM in (  CC1310_LAUNCHXL_TIRTOS.cmd ) file , still the Problem not solved 

  • Hi Mahesh,

    Is the sample program you are using an example application from the SDK? If yes, which one? If no, can you share the code with us?

    Regards,
    Nikolaj

  • Hi Nikolaj,

    We use same example application from the SDK below is the  file location   with modified  Flash size and SRAM compiled 

     

    kindly support to solve the issue 

  • Hi Mahesh,

    Thanks for the clarification.

    Is the LED constantly on, or constantly off?

    I don't think it will fix your issue, but it might also be a good idea to change the device in project properties as below:


    Can you please try to debug the application using an in-circuit debugger (for example the XDS110 that is on the LAUNCHXL-CC1310 board). By doing this, you should be able to figure where in the code the issue occurs.

    Thanks,
    Nikolaj 

  • Hi Nikolaj ,

    Thanks for your support, as per you we have debug the code, it  hang at  file CC1310_LAUNCHXL.c

    ======== CC1310_LAUNCHXL_initGeneral ========
    */
    void CC1310_LAUNCHXL_initGeneral(void)
    {
            Power_init();

            if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS)

               {
                  /* Error with PIN_init */
                      while (1);
                }

    /* Perform board-specific initialization */
    Board_initHook();
    }

    attached the debug screen short for your reference 

    Kindly support as to solve the problem

    Regards,

    C.Mahesh

  • Hi Mahesh,

    Thanks for this information. It helps a lot.

    I suspect you are using a variant of the CC1310F32 that has less DIOs that the CC1310F128RGZR device on the LAUNCHXL-CC1310 launchpad.

    When using a custom board, you generally need to create your own version of the board files. In the empty_CC1310_LAUNCHXL_tirtos_ccs example the  CC1310_LAUNCHXL.h/c files and CC1310_LAUNCHXL_fxns.c (and CC1310_LAUNCHXL.cmd and ccfg.c) have been made for the LAUNCHXL-CC1310 launchpad.

    In CC1310_LAUNCHXL.c you will see the definition of BoardGpioInitTable as below:

    const PIN_Config BoardGpioInitTable[] = {
    
        CC1310_LAUNCHXL_PIN_RLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off          */
        CC1310_LAUNCHXL_PIN_GLED | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL | PIN_DRVSTR_MAX,       /* LED initially off          */
        CC1310_LAUNCHXL_PIN_BTN1 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low       */
        CC1310_LAUNCHXL_PIN_BTN2 | PIN_INPUT_EN | PIN_PULLUP | PIN_IRQ_BOTHEDGES | PIN_HYSTERESIS,          /* Button is active low       */
        CC1310_LAUNCHXL_SPI_FLASH_CS | PIN_GPIO_OUTPUT_EN | PIN_GPIO_HIGH | PIN_PUSHPULL | PIN_DRVSTR_MIN,  /* External flash chip select */
        CC1310_LAUNCHXL_UART_RX | PIN_INPUT_EN | PIN_PULLDOWN,                                              /* UART RX via debugger back channel */
        CC1310_LAUNCHXL_UART_TX | PIN_GPIO_OUTPUT_EN | PIN_GPIO_LOW | PIN_PUSHPULL,                         /* UART TX via debugger back channel */
        CC1310_LAUNCHXL_SPI0_MOSI | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master out - slave in */
        CC1310_LAUNCHXL_SPI0_MISO | PIN_INPUT_EN | PIN_PULLDOWN,                                            /* SPI master in - slave out */
        CC1310_LAUNCHXL_SPI0_CLK | PIN_INPUT_EN | PIN_PULLDOWN,                                             /* SPI clock */
    
        PIN_TERMINATE
    };

    Notice that CC1310_LAUNCHXL_SPI_FLASH_CS is defined to IOID_20. 

    This will only work if you are using CC1310F32RGZ which has DIO_1 - DIO_30, while CC1310F32RSM and CC1310F32RHB only have DIO_0-DIO_9 and DIO_0-DIO_14 respectively. Please refer to the datasheet.

    This means that if you are using CC1310F32RSM or CC1310F32RHB you cannot use the default definition of BoardGpioInitTable. You must modify the table to not use DIOs which you device does not have.

    Regards,
    Nikolaj