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.

CC2640R2F: OAD on-chip example not build

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2642

Hi,

I downloaded the last version of CC2640R2 SDK (4.40.00.10).

When I import the simple_peripheral_oad_onchip and launch a build, I get a memory error  #10099-D.

Could it be a problem with the compiler version?

Thanks,

Victor

  • Hi Victor,

    Could you please specify which CCS version you are using?

    Pleas also provide the log you are getting.

    Thanks and regards,

  • Hi Clément,

    Thank you for your answer, I am using CCS version 10.1.0.

    The error logs are as follows:

    log_error.txt
    Building target: "simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.out"
    Invoking: ARM Linker
    "C:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/bin/armcl" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/config/build_components.opt" --cmd_file="C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/config/factory_config.opt" --cmd_file="C:/Users/v.malaquin/Documents/CCS/Workspace/test/simple_peripheral_cc2640r2lp_oad_onchip_stack/TOOLS/build_config.opt" --cmd_file="C:/Users/v.malaquin/Documents/CCS/Workspace/test/simple_peripheral_cc2640r2lp_oad_onchip_stack/TOOLS/ccs_compiler_defines.bcfg"  -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=EXT_HAL_ASSERT --define=CC26XX --define=LED_DEBUG --define=MAX_PDU_SIZE=251 --define=xOAD_BLE_SECURITY --define=HAL_IMAGE_E --define=CC26XX_R2 --define=FEATURE_OAD_ONCHIP --define=OAD_ONCHIP --define=IMAGE_INVALIDATE --define=HAL_IMAGE_B --define=ICALL_EVENTS --define=ICALL_JT --define=ICALL_LITE --define=ICALL_MAX_NUM_ENTITIES=6 --define=ICALL_MAX_NUM_TASKS=3 --define=POWER_SAVING --define=USE_ICALL --define=TBM_ACTIVE_ITEMS_ONLY --define=SPLIT_APP_STACK_IMAGE --define=SECURITY --define=xdc_runtime_Assert_DISABLE_ALL --define=xdc_runtime_Log_DISABLE_ALL -g --c99 --gcc --diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/lib" -i"C:/ti/ccs1010/ccs/tools/compiler/ti-cgt-arm_20.2.4.LTS/include" --reread_libs --define=CC26X0ROM=2 --define=OAD_IMG_B=1 --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="simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM_linkInfo.xml" --rom_model -o "simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.out" "./Application/bim_util.obj" "./Application/hal_assert.obj" "./Application/simple_peripheral_oad_onchip.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" "./OAD/oad_image_header_app.obj" "./OAD/oad_reset_service.obj" "./PROFILES/devinfoservice.obj" "./PROFILES/gatt_uuid.obj" "./PROFILES/gattservapp_util.obj" "./PROFILES/peripheral.obj" "./PROFILES/simple_gatt_profile.obj" "./Startup/board.obj" "./Startup/find_stack_entry.obj" "./Startup/main.obj" -l"configPkg/linker.cmd"  -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/rom/ble_rom_releases/cc26xx_r2/Final_Release/common_r2.symbols" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/kernel/tirtos/packages/ti/dpl/lib/dpl_cc26x0r2.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/drivers/lib/drivers_cc26x0r2.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/display/lib/display.aem3" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/grlib/lib/ccs/m3/grlib.a" -l"C:/Users/v.malaquin/Documents/CCS/Workspace/test/simple_peripheral_cc2640r2lp_oad_onchip_stack/TOOLS/ccs_linker_defines.cmd" -l"C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/common/cc26xx/ccs/cc26xx_app_oad.cmd" -llibc.a 
    <Linking>
    "C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/common/cc26xx/ccs/cc26xx_app_oad.cmd", line 318: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section "GROUP_3" size 0x9360.  Available memory ranges:
       FLASH        size: 0x8f98       unused: 0x11         max hole: 0x3       
    "C:/ti/simplelink_cc2640r2_sdk_4_40_00_10/source/ti/blestack/common/cc26xx/ccs/cc26xx_app_oad.cmd", line 327: error #10099-D: program will not fit into available memory, or the section contains a call site that requires a trampoline that can't be generated for this section. placement with alignment fails for section ".cinit" size 0x329.  Available memory ranges:
       FLASH        size: 0x8f98       unused: 0x4          max hole: 0x3       
    error #10010: errors encountered during linking; "simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.out" not built
     
    >> Compilation failure
    makefile:190: recipe for target 'simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.out' failed
    gmake[1]: *** [simple_peripheral_cc2640r2lp_oad_onchip_app_FlashROM.out] Error 1
    gmake: *** [all] Error 2
    makefile:183: recipe for target 'all' failed

    Thanks,

    Victor

  • Hi Victor,

    It looks like the error you are experiencing is mentioned in the Known Issues and Limitation section of the release note of the BLE stack (simplelink_cc2640r2_sdk_4_40_00_10\docs\blestack\release_notes_ble3stack_3_03_06_00.html):

    BLESTACK-5454 [Build] BLE3 Simple Peripheral OAD onchip secure fails to compile due to memory limitation with CCS


    You may want to try using unsecure OAD in a first time, then save some flash and enable secure OAD afterwards. A second option is to migrate to a CC2642. 

    By the way, you are not using the recommended version of CCS (you should rather use CCS 9.0 - this information is stated in the release notes of the SDK (simplelink_cc2640r2_sdk_4_40_00_10\release_notes_simplelink_cc2640r2_sdk_4_40_00_10.html)

    I hope this will help. 

  • Thank you Clément, the example build with the recommended version of CCS.

    Victor