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/SIMPLELINK-CC2640R2-SDK: Linker errors trying to use uBLE Broadcaster+Advertiser example code from GitHub

Part Number: SIMPLELINK-CC2640R2-SDK
Other Parts Discussed in Thread: CC2650

Tool/software: Code Composer Studio

Thanks, very helpful!  I'm trying to implement the code from the example on GitHub for Broadcaster+Scanner built on top of micro BLE.  Starting with the "Multi-Role" example from the SDK, I modified the project by replacing the main.c and /Application files (uble_bcast_scan_menu.c/h, uble_bcast_scan.c/h) from GitHub.  Then I had to modify the compile flags to include some additional folders and defines, and got everything to compile, but now I'm stuck on the linking:


Invoking: ARM Linker

"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/bin/armcl" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/blestack/config/build_components.opt" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/blestack/config/factory_config.opt" --cmd_file="C:/Users/mjsanda/workspace_v8/multi_role_cc2640r2lp_stack_library/TOOLS/build_config.opt"  -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --define=DeviceFamily_CC26X0R2 --define=BOARD_DISPLAY_USE_LCD=0 --define=BOARD_DISPLAY_USE_UART=1 --define=BOARD_DISPLAY_USE_UART_ANSI=1 --define=CC2640R2_LAUNCHXL --define=CC26XX --define=CC26XX_R2 --define=ICALL_EVENTS --define=ICALL_JT --define=ICALL_LITE --define=ICALL_MAX_NUM_ENTITIES=6 --define=ICALL_MAX_NUM_TASKS=3 --define=ICALL_STACK0_ADDR --define=MAX_NUM_BLE_CONNS=1 --define=POWER_SAVING --define=RF_SINGLEMODE --define=STACK_LIBRARY --define=TBM_ACTIVE_ITEMS_ONLY --define=USE_ICALL --define=xdc_runtime_Assert_DISABLE_ALL --define=xdc_runtime_Log_DISABLE_ALL --define=FEATURE_OBSERVER --define=FEATURE_ADVERTISER --define=FEATURE_BROADCASTER -g --c99 --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"AGRONICA_Project_BRICKWALL.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/lib" -i"C:/ti/ccsv8/tools/compiler/ti-cgt-arm_18.1.1.LTS/include" --reread_libs --define=CC26X0ROM=2 --diag_suppress=16002-D --diag_suppress=10247-D --diag_suppress=10325-D --diag_suppress=10229-D --diag_suppress=16032-D --diag_wrap=off --display_error_number --warn_sections --xml_link_info="AGRONICA_Project_BRICKWALL_linkInfo.xml" --rom_model -o "AGRONICA_Project_BRICKWALL.out" "./Application/uble_bcast_scan.obj" "./Application/uble_bcast_scan_menu.obj" "./Application/util.obj" "./Drivers/ECC/ECCROMCC26XX.obj" "./Drivers/RF/RFCC26XX_singleMode.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/devinfoservice.obj" "./PROFILES/gatt_uuid.obj" "./PROFILES/gattservapp_util.obj" "./PROFILES/multi.obj" "./PROFILES/simple_gatt_profile.obj" "./Startup/board.obj" "./Startup/ccfg_app_ble.obj" "./Startup/main.obj" -l"configPkg/linker.cmd" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/kernel/tirtos/packages/ti/dpl/lib/dpl_cc26x0r2.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/drivers/lib/drivers_cc26x0r2.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/display/lib/display.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/grlib/lib/grlib.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/mw/lcd/lib/lcd.aem3" -l"C:/Users/mjsanda/workspace_v8/multi_role_cc2640r2lp_stack_library/FlashROM_Library/ble_r2.symbols" -l"C:/Users/mjsanda/workspace_v8/multi_role_cc2640r2lp_stack_library/FlashROM_Library/lib_linker.cmd" -l"C:/Users/mjsanda/workspace_v8/multi_role_cc2640r2lp_stack_library/FlashROM_Library/multi_role_cc2640r2lp_stack_library.lib" -l"C:/ti/simplelink_cc2640r2_sdk_1_50_00_58/source/ti/blestack/common/cc26xx/ccs/cc26xx_app.cmd" -llibc.a
<Linking>
 
 undefined                first referenced
  symbol                      in file    
 ---------                ----------------
 Board_initKeys           <whole-program>
 tbmRowItemLast           <whole-program>
 tbm_buttonLeft           <whole-program>
 tbm_buttonRight          <whole-program>
 tbm_goTo                 <whole-program>
 tbm_initTwoBtnMenu       <whole-program>
 tbm_setItemStatus        <whole-program>
 ubTxPowerTable           <whole-program>
 uble_getAddr             <whole-program>
 uble_getParameter        <whole-program>
 uble_processMsg          <whole-program>
 uble_registerAntSwitchCB <whole-program>
 uble_setParameter        <whole-program>
 uble_stackInit           <whole-program>
 ugap_bcastInit           <whole-program>
 ugap_bcastSetDuty        <whole-program>
 ugap_bcastStart          <whole-program>
 ugap_bcastStop           <whole-program>
 ugap_scanInit            <whole-program>
 ugap_scanRequest         <whole-program>
 user0Cfg                 <whole-program>
 
error #10234-D: unresolved symbols remain



From reading through a the documentation, it seems like my problem is that I need to rebuild the stack library with some different configuration to ensure it builds the symbols I need?  Can you point me to the right doc to help with this?  Thanks! 

  • Hello Michael,
    The Micro BLE Stack Broadcaster + Observer example is built on top of the Micro BLE Stack, don't build it on top of multi-role which use the full BLE Stack.

    Did you read the entire README.md and installation note from:
    github.com/.../simplelink_sdk-1.50

    1. Download and install simplelink_cc2640r2_sdk_1_50_00_58 to the default loaction.
    2. either clone the git repo or donwload the zip file and extract the folder wherever you like (ble_examples-simplelink_sdk-1.50).
    3. Then you can open/import the "Micro BLE Stack Broadcaster + Observer" example from:
    ble_examples-simplelink_sdk-1.50\examples\rtos\CC2640R2_LAUNCHXL\bleapps\uble_bcast_scan

    I compiled an ran this successfully on CCS now.
  • Thank you, I have it working now.  I did read the README, but I'm new to CCS and made a stupid mistake earlier while trying to import the example.  Good to go now!