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.

SIMPLELINK-LOWPOWER-SDK: Linker error using sysconfing

Part Number: SIMPLELINK-LOWPOWER-SDK
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Having some problem linking with simplelink_lowpower_f3_sdk (8.10.01.02) using sysconfig.

My code compiles but does not link.  It looks like the lib objects are not built or not referenced properly.

Thanks to sysconfig that is in charge of automating things.  It is great when it works, but hard to solve when it goes wrong.

I understand the issue but I am lost at solving it.  I guess the makefile has something wrong or that I am missing some environment variable.  I can't tell...

Please note that I started a project from scratch in CCSv12.  Something may not be set properly somewhere...

Code and errors below:

#include <stdint.h>
#include <stddef.h>

#include "ti_drivers_config.h"
#include <ti/drivers/Power.h>

/**
 * main.c
 */
int main(void)
{
    uint32_t key=0xAA55;

    Power_init();
    GPIO_init();
    Power_shutdown(0,0);    //Parameters unused for C2340R2

    return 0;
}

Errors:

unresolved symbol GPIO_init, first referenced in ./syscfg/ti_drivers_config.o
unresolved symbol Power_init, first referenced in ./syscfg/ti_drivers_config.o
unresolved symbol Power_shutdown, first referenced in ./main.o

Thank you for your assistance

  • Hi,

    Please try one of the following:

    1. adding the driver library to the linker file search: C:\ti\<your F3 SDK ver>\source\ti\drivers\lib\ticlang\m0p\drivers_cc23x0r5.a
    2. add the genlib file to the linker file search: <your CCS workspace>\<your project name>\Debug\syscfg\ti_utils_build_linker.cmd.genlibs

    The linker file search may be modified by: Right-click project --> Properties --> Build --> Arm Linker --> File search path.

    Then add option 1 or 2 above to the "Include library file or command file as input".

    Example shown here for option 2 (matches how SDK example does it).

    Thanks,
    Toby

  • Ok, got it.  

    I went for option 2 and found out that that

    ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/source

    and

    ${COM_TI_SIMPLELINK_LOWPOWER_F3_SDK_INSTALL_DIR}/kernel/nortos 

    where the 2 missing lib search paths required by the .genlibs file.

    Thanks!