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.

#10010 errors encountered during linking

I am working on Sensor Tag firmware. Starting from the original one I would like to modify it. I want to send data over bluetooth from serial port; I changed the function that update the characteristic of the humidity sensor adding the code to use the UART peripheral. I think that I am not importing the UART library in te right way.

Thank you,

Fausto

  • Fausto,

    Which version of TI-RTOS are you using? Can you share your application's .cfg file? These symbols are part of the TI-RTOS drivers library. The library should be pulled in if the application's configuration has TI-RTOS.

    Vikram
  • Vikram,

    I using the Sensor Tag project. Where can I find the version of RTOS? I don't think that this is the problem because in the .cfg file there aren't the driver for i2c,spi but they work. 

    Fausto

    2112.appBLE.cfg

  • Fausto,

    The cfg file is missing the following code:

    var TIRTOS = xdc.useModule('ti.tirtos.TIRTOS');
    TIRTOS.libType = TIRTOS.LibType_NonInstrumented;

    For I2C and SPI are you using TI-RTOS drivers?

    Vikram
  • Fausto,

    If imported through resource explorer in CCS, the unmodified example projects compile out of the box.
    The TI RTOS version is found in project properties under General->RTSC tab.

    As part of the RTOS build process using CCS, the RTOS driver base path magically be added to the compiler search path e.g. C:/ti/tirtos_simplelink_2_13_00_06/packages).

    To use the UART driver you need to add the UART.c and uart/UARTCC26XX.c files to your workspace or the linker will fail and give you the above error message.

    These are typically found here:
    C:\ti\tirtos_simplelink_2_13_00_06\packages\ti\drivers (replace path with your TI RTOS version)

    Documentation is found here:
    C:/ti/tirtos_simplelink_2_13_00_06/tirtos_docs_overview.html -> TI-RTOS Driver Runtime APIs (doxygen) -> UARTCC26XX

    Regards,
    Svend
  • Vikram,

    The CC26XX Bluetooth LE example projects included with the BLE stack are typically including the C source files directly (or for IAR, at link-time using the prebuilt drivers library).
    Instrumentation are disabled in the config file and by using the compiler symbols (xdc_runtime_Assert_DISABLE_ALL and xdc_runtime_Log_DISABLE_ALL.

    Regards,
    Svend
  • Svend,

    I really appreciate your help!

    I added the following code in the .cfg file and now it works.

    var TIRTOS = xdc.useModule('ti.tirtos.TIRTOS');
    TIRTOS.libType = TIRTOS.LibType_NonInstrumented;

    I tried to include the library (#include <ti\drivers\uart\UARTCC26XX.h>) directly in che .c file and it works as well.

    What is the difference?

    Regards,
    Fausto

  • The difference is that including it through the TI RTOS library will compile a full package of all drivers where the UART driver is linked from during build vs including only the specific driver into the project as a source while which is then compiled+linked in.

    I would recommend including the specific driver only as compile-time will be shorter + you get better control of which exact driver is used in your project.

    Regards,
    Svend