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.

LAUNCHXL-CC26X2R1: Build is missing various BLE5 stack includes after adding BLE5 via. 'syscfg' editor?

Part Number: LAUNCHXL-CC26X2R1
Other Parts Discussed in Thread: CC2651P3

I am trying to add BLE5 stack to my project.  Simply using "syscfg" editor and adding it then compiling produces

errors that indicate the build can't find certain includes.  I tried to add INC paths to these folders but still have the

cannot open source file for them.  I see some forum comments on this but not a clear solution.  In the "syscfg" editor

adding almost any other item (I2S,I2C,ADC, etc) adds the correct setup to find driver source and includes, great.

I would think adding the BLE5 stack would also be as convenient and keep me out of plugging through the various

source code folders in the "/ti" SDK locations to find the needed files.  Shouldn't it be as easy as clicking on the

component I want to add and do a full build to get the goodies in my project?  What am I missing?

I did try dragging copies of these files to my project, and compiled, then simply get more missing files referred to

by these files, so I know that's not the answer, bringing TI SDK driver files directly into my project!

Thanks in advance, I can't be the first to encounter this problem!
Marc


Compile output in the build window:

Building file: "syscfg/ti_ble_config.c"
Invoking: Arm Compiler
"/home/marc/ti/ccs1110/ccs/tools/compiler/ti-cgt-arm_20.2.6.LTS/bin/armcl" -mv7M4 --code_state=16 --float_support=none -me -Ooff --include_path="/home/marc/workspace_v11.test/FW6_CC2651P3_v2.0" --include_path="/home/marc/workspace_v11.test/FW6_CC2651P3_v2.0/Debug" --include_path="/home/marc/ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source" --include_path="/home/marc/ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source/ti/posix/ccs" --include_path="/home/marc/ti/ccs1110/ccs/tools/compiler/ti-cgt-arm_20.2.6.LTS/include" --include_path="../ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source/ti/ble5stack/inc" --include_path="../ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source/ti/ble5stack/icall/inc" --include_path="../ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source/ti/ble5stack/icall/src/inc" --define=DeviceFamily_CC26X1 -g --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --preproc_with_compile --preproc_dependency="syscfg/ti_ble_config.d_raw" --include_path="/home/marc/workspace_v11.test/FW6_CC2651P3_v2.0/Debug/syscfg" --obj_directory="syscfg" --cmd_file="syscfg/ti_build_config.opt" --cmd_file="syscfg/ti_ble_app_config.opt" --cmd_file="/home/marc/workspace_v11.test/tirtos_builds_cc13x1_cc26x1_release_ccs/Debug/configPkg/compiler.opt"  "syscfg/ti_ble_config.c"
 
>> Compilation failure
subdir_rules.mk:36: recipe for target 'syscfg/ti_ble_config.obj' failed
"syscfg/ti_ble_config.c", line 3: fatal error #1965: cannot open source file "bcomdef.h"
1 catastrophic error detected in the compilation of "syscfg/ti_ble_config.c".
Compilation terminated.
gmake: *** [syscfg/ti_ble_config.obj] Error 1

AND, similar error later in the build, same compiler directives as above:

>> Compilation failure
subdir_rules.mk:36: recipe for target 'syscfg/ti_radio_config.obj' failed
"/home/marc/ti/simplelink_cc13xx_cc26xx_sdk_5_40_00_40/source/ti/ble5stack/icall/inc/ble_user_config.h", line 122: fatal error #1965: cannot open source file "icall_user_config.h"
1 catastrophic error detected in the compilation of "syscfg/ti_radio_config.c".
Compilation terminated.
gmake: *** [syscfg/ti_radio_config.obj] Error 1
gmake: Target 'all' not remade because of errors.

  • Hi Marc,

    I would recommend adding your project's functionality to an existing BLE project instead of adding BLE to an existing non-BLE project. Adding BLE to a non-BLE project can be tricky and time-consuming. It can be much simpler to add your non-BLE functionality to a relevant BLE project. If you are implementing a BLE central device, then I would suggest starting with the simple_central example and adding the functionality present in your project. If you are interested in implementing a BLE peripheral device, then I would suggest using simple_peripheral. If you are interested in implementing both, then multi_role may be preferable. If you are beginning your development in BLE, then I would also highly recommend referencing the SimpleLink Academy BLE labs in order to learn our BLE stack.

    Best Regards,

    Jan

  • Ok, thanks for the possible solution.  What I have is an application mostly done

    for my client that I started with the "uart_echo" project months ago.  I did find

    that "project_zero" complies and build and I can connect with my smart phone.

    So, possibly your notion to use an already setup project/example as a base is the

    best way to get what I need.  I also need to add OAD to the build so maybe should

    try to get an example to use that has that too.  Knock down 2 birds with one stone.

    I'm using the XCC26X1R3 chip, it's the proto. version, because we can't get the

    CC2652R1 we had planned on for a year or more.  We have some of these proto.

    MCU's to use (about 50 of them) so I will work with that SDK for it.  I hope it will

    not be a big deal to move back to the CC2652 SDK when those parts come online.

  • Hi Marc,

    If OAD is needed, then I would suggest starting with either project zero or the simple_peripheral OAD (offchip and onchip)examples. This "migration" should be fairly straightforward and will be the easiest way to implement your custom application. It is fairly straightforward to port a project from the CC2651R3 to the CC2652R, so I would not expect any issues when its time to port your project over. I would also recommend looking over the OAD SimpleLink Academy lab.

    Best Regards,

    Jan