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.

CCS/CC2640R2F: Errors when building CC2640R2F throughput example

Part Number: CC2640R2F
Other Parts Discussed in Thread: BLE-STACK

Tool/software: Code Composer Studio

Dear TI Community,

I am trying to build a CC2640R2F BLE5 throughput (central and peripheral) example project on Code Composer Studio 7.3. I am getting build errors (described below), despite having success building sample projects for long range demos earlier (with SDK 1.4, not 1.5!). I can't figure what the problem is, I tried also deleting temp files and reinstalling the SDK.

Selected compiler is TI v17.9.0.STS. XDCTools is 3.50.3.33. Using Simplelink SDK 1.5. I will greatly appreciate some tips on the issue. Here are the build errors:

**** Build of configuration FlashROM_Library for project ble5_throughput_central_cc2640r2lp_stack_library ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 all -O 
C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/tools/ble5stack/lib_search/lib_search         C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library/TOOLS/build_config.opt         C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/blelib         C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library/FlashROM_Library/lib_linker.cmd         cc2640         C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/tools/ble5stack/lib_search/lib_search.xml         C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/symbols
makefile:200: recipe for target 'pre-build' failed
process_begin: CreateProcess(NULL, C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/tools/ble5stack/lib_search/lib_search C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library/TOOLS/build_config.opt C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/blelib C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library/FlashROM_Library/lib_linker.cmd cc2640 C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/tools/ble5stack/lib_search/lib_search.xml C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/symbols, ...) failed.
make (e=2): The system cannot find the file specified.

gmake[1]: [pre-build] Error 2 (ignored)
' '
'Building file: C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/examples/rtos/CC2640R2_LAUNCHXL/ble5apps/throughput_central/src/stack/osal_icall_ble.c'
'Invoking: ARM Compiler'
"C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/bin/armcl" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/config/build_components.opt" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/config/factory_config.opt" --cmd_file="C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library/TOOLS/build_config.opt"  -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="C:/Users/crater/workspace_2/ble5_throughput_central_cc2640r2lp_stack_library" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/controller/cc26xx_r2/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/rom" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/common/cc26xx/npi/stack" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/profiles/roles" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/npi/src" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/services/src/aes/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/services/src/nv/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/services/src/nv" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/services/src/saddr" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/devices/cc26x0r2" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/devices/cc26x0r2/rf_patches" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/devices/cc26x0r2/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source" --include_path="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/kernel/tirtos/packages" --include_path="C:/ti/xdctools_3_50_03_33_core/packages" --include_path="C:/ti/ccsv7/tools/compiler/ti-cgt-arm_16.9.4.LTS/include" --define=CC26XX --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=EXT_HAL_ASSERT --define=FLASH_ROM_BUILD --define=ICALL_EVENTS --define=ICALL_JT --define=ICALL_LITE --define=OSAL_CBTIMER_NUM_TASKS=1 --define=OSAL_SNV=1 --define=POWER_SAVING --define=STACK_LIBRARY --define=USE_ICALL -g --c99 --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Startup/osal_icall_ble.d_raw" --obj_directory="Startup"  "C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/examples/rtos/CC2640R2_LAUNCHXL/ble5apps/throughput_central/src/stack/osal_icall_ble.c"

>> Compilation failure
Startup/subdir_rules.mk:23: recipe for target 'Startup/osal_icall_ble.obj' failed
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/common/hal_assert.c', needed by 'HAL/Common/hal_assert.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common/hal_flash_wrapper.c', needed by 'HAL/Target/CC2650/Drivers/hal_flash_wrapper.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common/hal_rtc_wrapper.c', needed by 'HAL/Target/CC2650/Drivers/hal_rtc_wrapper.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common/hal_trng_wrapper.c', needed by 'HAL/Target/CC2650/Drivers/hal_trng_wrapper.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/hal/src/target/_common/cc26xx/mb_patch.c', needed by 'HAL/Target/CC2650/_common/mb_patch.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/host/gatt_uuid.c', needed by 'Host/gatt_uuid.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/stack/ble_dispatch_JT.c', needed by 'ICallBLE/ble_dispatch_JT.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/stack/ble_dispatch_lite.c', needed by 'ICallBLE/ble_dispatch_lite.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/src/icall_lite_translation.c', needed by 'ICallBLE/icall_lite_translation.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/common/cc26xx/npi/stack/npi.c', needed by 'NPI/npi.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal.c', needed by 'OSAL/osal.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_bufmgr.c', needed by 'OSAL/osal_bufmgr.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_cbtimer.c', needed by 'OSAL/osal_cbtimer.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_clock.c', needed by 'OSAL/osal_clock.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_memory_icall.c', needed by 'OSAL/osal_memory_icall.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_pwrmgr.c', needed by 'OSAL/osal_pwrmgr.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/mcu/cc26xx/osal_snv_wrapper.c', needed by 'OSAL/osal_snv_wrapper.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/osal/src/common/osal_timers.c', needed by 'OSAL/osal_timers.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/profiles/roles/gap.c', needed by 'PROFILES/gap.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/profiles/roles/gapbondmgr.c', needed by 'PROFILES/gapbondmgr.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/host/gattservapp_util.c', needed by 'PROFILES/gattservapp_util.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/host/sm_ecc.c', needed by 'PROFILES/sm_ecc.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/rom/r2/common_rom_init.c', needed by 'ROM/common_rom_init.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/rom/r2/rom_init.c', needed by 'ROM/rom_init.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/icall/stack/ble_user_config.c', needed by 'Startup/ble_user_config.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/common/cc26xx/icall_startup.c', needed by 'Startup/icall_startup.obj'.
gmake[1]: *** No rule to make target 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/common/cc26xx/onboard.c', needed by 'TOOLS/onboard.obj'.
>> ERROR: Cannot open command file 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/config/build_components.opt': No such file or directory
>> ERROR: Cannot open command file 'C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/ble5stack/config/factory_config.opt': No such file or directory
"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/examples/rtos/CC2640R2_LAUNCHXL/ble5apps/throughput_central/src/stack/osal_icall_ble.c", line 47: fatal error #1965: cannot open source file "icall.h"
1 catastrophic error detected in the compilation of "C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/examples/rtos/CC2640R2_LAUNCHXL/ble5apps/throughput_central/src/stack/osal_icall_ble.c".
Compilation terminated.
gmake[1]: *** [Startup/osal_icall_ble.obj] Error 1
gmake[1]: Target 'main-build' not remade because of errors.
gmake: *** [all] Error 2
makefile:175: recipe for target 'all' failed

**** Build Finished ****

**** Clean-only build of configuration FlashROM_StackLibrary for project ble5_throughput_central_cc2640r2lp_app ****

"C:\\ti\\ccsv7\\utils\\bin\\gmake" -k -j 4 clean -O 
DEL /F  "ble5_throughput_central_cc2640r2lp_app.hex"  "configPkg\linker.cmd" "configPkg\compiler.opt"  "ble5_throughput_central_cc2640r2lp_app.out" 
makefile:197: recipe for target 'clean' failed
The system cannot find the file specified.
gmake: [clean] Error 1 (ignored)
The system cannot find the file specified.
gmake: [clean] Error 2 (ignored)
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Application\board_key.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Drivers\ECC\ECCROMCC26XX.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Drivers\TRNG\TRNGCC26XX.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\ICall\icall.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\ICallBLE\ble_user_config.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\PROFILES\central.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Startup\board.obj
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Application\board_key.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Drivers\ECC\ECCROMCC26XX.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Drivers\TRNG\TRNGCC26XX.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\ICall\icall.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\ICallBLE\ble_user_config.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\PROFILES\central.d
Could Not Find C:\Users\crater\workspace_2\ble5_throughput_central_cc2640r2lp_app\FlashROM_StackLibrary\Startup\board.d
RMDIR /S/Q  "configPkg\" 
makefile:197: recipe for target 'clean' failed
DEL /F "Application\board_key.obj" "Application\throughput_central.obj" "Application\throughput_central_menu.obj" "Application\two_btn_menu.obj" "Application\util.obj" "Drivers\ECC\ECCROMCC26XX.obj" "Drivers\TRNG\TRNGCC26XX.obj" "ICall\icall.obj" "ICall\icall_cc2650.obj" "ICall\icall_user_config.obj" "ICallBLE\ble_user_config.obj" "ICallBLE\icall_api_lite.obj" "PROFILES\central.obj" "Startup\board.obj" "Startup\ccfg_app_ble.obj" "Startup\main.obj" 
DEL /F "Application\board_key.d" "Application\throughput_central.d" "Application\throughput_central_menu.d" "Application\two_btn_menu.d" "Application\util.d" "Drivers\ECC\ECCROMCC26XX.d" "Drivers\TRNG\TRNGCC26XX.d" "ICall\icall.d" "ICall\icall_cc2650.d" "ICall\icall_user_config.d" "ICallBLE\ble_user_config.d" "ICallBLE\icall_api_lite.d" "PROFILES\central.d" "Startup\board.d" "Startup\ccfg_app_ble.d" "Startup\main.d" 
'Finished clean'
' '

**** Build Finished ****
Buildfile generation error occurred..
Cannot build project. Referenced project 'ble5_throughput_central_cc2640r2lp_stack_library' contains build-errors.
Build stopped..

Thank you!

Best regards,
J Crater

EDIT:

I think the problem is that SimpleLink does not have ble5stack in the tools directory. Also ble5stack in source directory doesn't include blelib directory, which the compiler seems to require to build the project.

Can you hint me whether there is any workaround I can do to make the project work? Or is the project simply not intended to be used with SDK 1.5, but only 1.4?

Thank you

  • Hi CJ,

    As I mentioned in your previous post here: e2e.ti.com/.../2392928

    The throughput example has been not yet been ported to SDK 1.50.
    Furthermore there are complications with SDK 1.50 as there are two separate versions of the SDK for BLE5-Stack vs BLE-Stack (3.x)
    See the blurb here: www.ti.com/.../SIMPLELINK-CC2640R2-SDK about the evaluation version for BLE5 vs production for BLE 3.x


    Furthermore, the BLE 5 APIs have gone through significant restructuring on SDK 1.50, I would expect a non trivial amount of porting to be required to make the throughput example work with the ble5stack in SDK 1.50.

    tl;dr The throughput example (including all other GitHub examples) have not been ported to SDK 1.50. There is API re-structing for the ble5stack component of SDK 1.50 so I do not expect a direct port.
  • Hello Sean,

    Thank you very much for your explanation. Although the situation with various versions of SDKs (BLE5, BLE, 3x...) is still confusing to me, I understand it a bit better.

    We would like to evaluate BLE with 1.5 SDK. I see the SDK includes simple central and simple peripheral examples. It is a good start, because example displays RSSI, which is what we need for experimentation. But it would also be handy to be able to choose PHY coding (no coding vs. S8). So my question is, are there example projects for Simplelink 1.5 for 2 boards communicating, that would show RSSI and allow using S8 coding?

    Thank you and best regards,
    J Crater
  • Hi JC,

    I can certainly understand the confusion with multiple stacks. Here is a quick breakdown that might help:

     - source/ti/blestack - This is the "BLE 3.x" component of the stack, it is optimized for the Bluetooth 4.2 Core Specification

     - source/ti/ble5stack - This is the BLE5 component of the stack, it supports the Bluetooth 5.0 Core Specification.

    The reason for the divergence is the ble 3.x offers a lower flash footprint. Of course if long range PHY is required, the BLE5 stack must be used.

    Regarding coded S8 in SDK 1.50, yes, Simple peripheral is setup to switch PHY based on RSSI. If the RSSI becomes low enough on a given PHY it will switch into S8