LP-CC1352P7: Can't build example projects

Part Number: LP-CC1352P7
Other Parts Discussed in Thread: CC1352P7, SYSCONFIG

Tool/software:

Hello,

Recently acquired some LP-CC1352P7-1 to test out sub giga RF capabilities, my PC is running on Ubuntu 24.04.

At first I tried to do it from the CLI so I downloaded the SDK simplelink_cc13xx_cc26xx_sdk_8_31_00_11, I got a gcc arm 14.3rel1 toolchain, the SDK compiles fine but when trying to compile any proprf examples, I'm hit with a `fatal error: ti_drivers_config.h: No such file or directory`, looks like headers paths are not correctly set and I'm not sure how to fix that.

So I figured I'll try to do it through CCS instead and I can't compile either.  With GCC I can build rfEchoRx but trying to build rfEchoTx  I'm hit with a bunch of linker errors:

```
[56]Building target: "rfEchoTx_LP_CC1352P7_1_freertos_gcc.out"
[57]Invoking: GNU Linker
[58]"/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/arm-none-eabi-gcc-14.3.1" -mfpu=fpv4-sp-d16 -ffunction-sections -fdata-sections -g -gdwarf-3 -gstrict-dwarf -Wall -mcpu=cortex-m4 -Wl,-Map,"rfEchoTx_LP_CC1352P7_1_freertos_gcc.map" -nostartfiles -static -Wl,--gc-sections -L"/home/jr/projects/ti/simplelink_cc13xx_cc26xx_sdk_8_31_00_11/source" -L"/home/jr/workspace_ccstheia/rfEchoTx_LP_CC1352P7_1_freertos_gcc/Debug/syscfg" -L"/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/arm-none-eabi/lib/thumb/v7e-m/hard" -march=armv7e-m -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 --specs=nano.specs -o"rfEchoTx_LP_CC1352P7_1_freertos_gcc.out" "./RFQueue.o" "./main_freertos.o" "./rfEchoTx.o" "./syscfg/ti_devices_config.o" "./syscfg/ti_radio_config.o" "./syscfg/ti_drivers_config.o" "./syscfg/ti_freertos_config.o" "./syscfg/ti_freertos_portable_config.o" -Wl,-T"../cc13x2x7_cc26x2x7_freertos.lds"  -l:ti_utils_build_linker.cmd.genlibs -lgcc -lc -lm 
[59]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o): in function `_close_r':
[60]closer.c:(.text._close_r+0xc): undefined reference to `_close'
[61]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_close): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-closer.o)
[62]closer.c:(.text._close_r+0xc): dangerous relocation: unsupported relocation
[63]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o): in function `_lseek_r':
[64]lseekr.c:(.text._lseek_r+0x10): undefined reference to `_lseek'
[65]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_lseek): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-lseekr.o)
[66]lseekr.c:(.text._lseek_r+0x10): dangerous relocation: unsupported relocation
[67]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o): in function `_read_r':
[68]readr.c:(.text._read_r+0x10): undefined reference to `_read'
[69]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_read): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-readr.o)
[70]readr.c:(.text._read_r+0x10): dangerous relocation: unsupported relocation
[71]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o): in function `_write_r':
[72]writer.c:(.text._write_r+0x10): undefined reference to `_write'
[73]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_write): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-writer.o)
[74]writer.c:(.text._write_r+0x10): dangerous relocation: unsupported relocation
[75]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o): in function `abort':
[76]abort.c:(.text.abort+0xa): undefined reference to `_exit'
[77]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_exit): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-abort.o)
[78]abort.c:(.text.abort+0xa): dangerous relocation: unsupported relocation
[79]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o): in function `_kill_r':
[80]signalr.c:(.text._kill_r+0xe): undefined reference to `_kill'
[81]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_kill): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o)
[82]signalr.c:(.text._kill_r+0xe): dangerous relocation: unsupported relocation
[83]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o): in function `_getpid_r':
[84]signalr.c:(.text._getpid_r+0x0): undefined reference to `_getpid'
[85]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_getpid): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-signalr.o)
[86]signalr.c:(.text._getpid_r+0x0): dangerous relocation: unsupported relocation
[87]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o): in function `_fstat_r':
[88]fstatr.c:(.text._fstat_r+0xe): undefined reference to `_fstat'
[89]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_fstat): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-fstatr.o)
[90]fstatr.c:(.text._fstat_r+0xe): dangerous relocation: unsupported relocation
[91]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o): in function `_isatty_r':
[92]isattyr.c:(.text._isatty_r+0xc): undefined reference to `_isatty'
[93]/home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/bin/ld: (_isatty): Unknown destination type (ARM/Thumb) in /home/jr/projects/arm-gnu-toolchain-14.3.rel1-x86_64-arm-none-eabi/bin/../lib/gcc/arm-none-eabi/14.3.1/../../../../arm-none-eabi/lib/thumb/v7e-m+fp/hard/libc_nano.a(libc_a-isattyr.o)
[94]isattyr.c:(.text._isatty_r+0xc): dangerous relocation: unsupported relocation
[95]collect2: error: ld returned 1 exit status
[96]gmake[1]: *** [makefile:145: rfEchoTx_LP_CC1352P7_1_freertos_gcc.out] Error 1
[97]gmake: *** [makefile:139: all] Error 2
```

Then I tried building both rhEchoTx and rfEchoRx with ti clang compiler and both I get as error:
[59]error #10008-D: cannot find file "ti/drivers/lib/ticlang/m4f/drivers_cc13x2x7.a"

Would appreciate any help to make the examples running please.
 

  • OK it seems the linker issues arise only when the example program uses `rand()` (and maybe other lib functions)

  • Hi Jean,

     `fatal error: ti_drivers_config.h: No such file or directory`: This error message sounds like SysConfig didn't run yet, since ti_drivers_config.h is generated by SysConfig.

    Not sure if SysConfig is supposed to run as part of your build or if you intended to run it standalone. If so, you can download it from here:

    https://www.ti.com/tool/SYSCONFIG

    "ti/drivers/lib/ticlang/m4f/drivers_cc13x2x7.a": Can you double check that this file is found in this location? (Full path: C:\ti\simplelink_cc13xx_cc26xx_sdk_8_30_01_01\source\ti\drivers\lib\ticlang\m4f ). If not there may be something wrong with your installation.

    Cheers,

    Marie H

  • Thanks for the reply Marie,

    At first I was just following the readme instructions found there: https://github.com/TexasInstruments/simplelink-prop_rf-examples
    They didn't mention Sysconfig so you might want to update it if it's required.

    Indeed I do not have the file mentioned for ticlang drivers so it makes sense that ticlang compilation fails.

    For my linker issues, LLMs are suggesting the build is missing syscalls stubs, I don't know if it's my specific tool chain version or not.