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.

RTOS/CC1310: TI Drivers

Part Number: CC1310
Other Parts Discussed in Thread: CC1350, CC2650

Tool/software: TI-RTOS

Hi,

Are the TI Drivers, such as below, dependent of the TI-RTOS?

#include <ti/drivers/PIN.h>
#include <ti/drivers/SPI.h>
#include <ti/drivers/UART.h>
#include <ti/drivers/PWM.h>

I am working in a project which have two firmwares stored in the CC1310 flash memory: a bootloader and the application.

I would like to maintain the bootloader the smallest as possible. As I don't need the radio working when the bootloader is running, I would like to know if I can implement only a small main() without TI-RTOS.

The only requirement is that I need to use the SPI driver to access a external memory.

Can I use the SPI driver without using TI-RTOS?

If I can't, what are my options?

  • Hi Mad,

    The TI drivers are indeed dependent on TI-RTOS, but you can the TI driverlib (or C13xxware) to control the devices that you mentioned above.

    The source files are on your computer in the following folder:
    C:\ <TI-RTOS installation folder> \products\CC13xxware_xxxx\driverlib

    You can find the documentation in the Resource Explorer (in CCS or online):
    Under TI-RTOS for CC13xx and CC26xx, look in the Documentation Links
    You'll see CC13xx/CC26xx-Specific Documentation, and open the CC13xx Documentation Overview.
    Once there, just open the DriverLib Html documentation.

    There are also a lot of forum questions about each of these devices (you might need to look for different devices such as CC2650, or CC1350 since they are the same chip but different radios).

    Regards,
    Michel
  • Hi Mad,


    You can find the documentation in the Resource Explorer (in CCS or online):
    Under TI-RTOS for CC13xx and CC26xx, look in the Documentation Links
    You'll see CC13xx/CC26xx-Specific Documentation, and open the CC13xx Documentation Overview.
    Once there, just open the DriverLib Html documentation.

    Hi Michel,

    Thank you very much for the information.

    I reached the place indicated by you in the CCS (see image below). But nothing happens when I click in any of the hyperlinks there.

    Where can I find these files online?

  • The online Resource Explorer can be found here: You should be able to follow the same path to the same page.
    dev.ti.com/tirex

    On your computer, you will find the documentation in the following folder:
    C:\ <TI-RTOS installation folder> \products\CC13xxware_xxxx\doc
    Open the doc_overview html file. The link should work from there.

    I've tried both ways and it worked for both.

    Regards,
    Michel
  • Thank you, I could find the documentation now.

    For the most commom peripherals, I can see UART, TIMER, I/O... but can't find a SPI driver. Is it available with another name?

    Another questions, is there a API to initialize the uController? Something like:

    Board_initGeneral() { \
        Power_init(); \
        if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) \
            {System_abort("Error with PIN_init\n"); \
        } \
    }

  • Mad River said:
    For the most commom peripherals, I can see UART, TIMER, I/O... but can't find a SPI driver. Is it available with another name?

    The SPI is actually called SSI in driverlib.

    Mad River said:
    Another questions, is there a API to initialize the uController? Something like:

    I don't think there is. Maybe somebody from TI could help you out with that. But you can always look up the TI drivers source code. Try also searching on the forums to see if anybody did use the driverlib for the different modules (I believe I saw the ADC before). The thread below uses a mix of TI-RTOS with direct register calls.

    The TI drivers use the driverlib, so you could look up these function calls and see if you can get anything that you can use. I found it confusing more than anything else.

    For example, to configure and control IOs, you will need to use the ioc.c file for configuration and and gpio.c file for control.

    Hopefully, the modules that you need to initialize are very minimal

    Regards,

    Michel

  • Mad River,

    For the CC1350 device, the TI-DRIVER used for SPI is the SPICC26XXDMA.c driver. As Michel mentioned, you can use the ssi.h and ssi.c files in cc26xxware\driverlib to implement an RTOS independent SPI.

    You can perform RTOS independent application code in your main() before you call any DRIVER_init() functions and create your tasks, call BIOS_start(), etc.

    Derrick
  • Ok, I will try to use the ssi.h.

    Thank you very much for the information.

    What about initialize the uController?

    The CC1310 examples use:

    #define     Board_initGeneral() { \
        Power_init(); \
        if (PIN_init(BoardGpioInitTable) != PIN_SUCCESS) \
            {System_abort("Error with PIN_init\n"); \
        } \
    }

    I suppose Power_init() is dependent of TI-RTOS. Is there any other driver that can help me to initialize the uController before using ssi.h?

  • Mad River,

    I would check the CC1310 forums on how to initialize the micro controller. The Power_init() call initializes the Power Driver for TI-DRIVERS. This driver is RTOS dependent.

    Derrick