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/CC2640: CC2640 SDK 2.30 - change "Simple Peripheral OAD Off-chip" to single-image

Part Number: CC2640
Other Parts Discussed in Thread: , CC2541, UNIFLASH

Tool/software: Code Composer Studio

Hello.

I want to use the "Simple Peripheral OAD Off-chip" project as a baseline, for the CC2640R2F.

This example project is of the "split-image" type (the BIM define for this is OAD_IMG_TYPE_APP_STACK).

I would like to convert it to the "single-image" type (the BIM define for this is OAD_IMG_TYPE_APPSTACKLIB).

Please provide the proper instructions on how to accomplish this, and what are the required changes for the BIM, App and Stack projects.

Problems:

  1. The CC2640 BIM has different define's than the CC2642, and for example, OAD_IMG_TYPE_APPSTACKLIB is missing
  2. The Stack project is of an executable type, and cannot be changed to the library type without recreating the project.
  3. The definitions that seem to control if the product is a single image or a split image, is SPLIT_APP_STACK_IMAGE. Undefining it in stack+app+bim projects doesn't seem enough for creating single image binary.

  • Hey Sean.
    Waiting for your guidance.

    Thanks

    Koby
  • Hi Koby,

    I am drafting an initial reply, since there are many steps, it will take some time.

    I will get you something by end of today.

    I want to preface this with a disclaimer that this is a bit of a complicated process, and I will need a lot of input on your end, but I will help you over the major hurdles.


    As you have already noticed, the CC26x2 SDKs support offchip OAD with stackLibrary, we will be using those as a reference.

    I will use SDK 2.30 as a reference for CC2640R2 and CC26x2 2.20 SDK.

    In summary you can expect is me to help you port the changes from the CC26x2 SDK to the CC2640R2 SDK.

  • Thanks a lot Sean. It will be a great help.

    I have tried this before, with SDK 1.40 or SDK 1.35, once with a guide explaining how to add OAD capability to an existing project, and once with a guide explaining how to un-split a split project (I think...maybe it was a guide on the difference between split and unsplit projects).
    Both my attempts failed - if I remember correctly the project compiled and was burnable, but failed to execute properly.

    I'll be patient.

    Koby
  • Just to make sure:

    I'm rewriting (not-porting) my project to run on the CC2640R2F, based on the CC2640R2F SBP offchip-OAD.
    I've given up on porting, since I've tried it 3 times before :
    1. CC2541 -> CC2640
    2. CC2640->CC2640 newer SDK
    3. CC2640->CC2642
    and it has failed at every time (either in compilation or at run-time).
    In the end, I've had to write a new project based on a new SBP project, every time we switched SDK or MCU.
    I'm hand-picking code and manually porting my CC2642R1F project to the CC2640R2F. I will probably be able to handle most of that on my own, but of course I will appreciate all the help I can get.
    (for example, how to change advertising modes - GapAdv_enableOptions_t is not defined in SDK 2.30).

    But, my main problem is being unable to change the CC2640R2F SBP offchip-OAD project from a split-image project to a single-image project.

    If you can concentrate your guiding efforts on that, that will be most beneficial for my team.
  • Hi Koby,

    This is a good plan and what I have been focusing on.

    I was able to get the project to build with stack library using the CC2640R2 SDK 2.30 and the CC26x2 2.20.

    Here are the steps below:

    This will reuse using simple_peripheral stack library project, use FlashROM_unsecure configuration

    Note that the bullet points in green  are already implemented in the projectspec that I attached.

    Those in blue  are implemented in the linker file I am attaching

    App proj

    • Add ICALL_STACK0_ADDR and STACK_LIBRARY defines
    • Remove SPLIT_APP_STACK_IMAGE (in app and BIM)
    • Remove boundary linker defines (.icf, .cmd)
    • Remove compiler boundary defines
    • Add stack_library lib, ble_r2 symbols, remove common ROM symbols, add lib_linker.cmd
    • Add SNV to OAD linker file
    • Change refs to build_config.opt from stack to stack lib
    • Add below to icall_api_idx.h

    #define IDX_L2CAP_RegisterFlowCtrlTask           L2CAP_RegisterFlowCtrlTask

    • In linker file remove references to ICALL_STACK_START and replace with

    (FLASH_START + FLASH_SIZE - RESERVED_FLASH_SIZE - 1)

    • Copy OAD image tool from Agama SDK into CC2640R2 SDK in a new folder (i.e. OAD new)
    • Copy postbuild steps from CC26x2 SDK into current project change env vars/oad_new
    • Use new python build directly

    Note that I am using the FlashROM_unsecure project of simple_peripheral_oad_offchip as a baseline.

    I have attached a sample project file.

    Also note that I have pasted the OAD image tool from the CC26x2 SDK in to the CC2640R2 SDK and am invoking it directly from the CC2640R2 SDK project's postbuild steps.

    Attached is a projectspec and linker file for reference.

    /cfs-file/__key/communityserver-discussions-components-files/538/simple_5F00_peripheral_5F00_cc2640r2lp_5F00_oad_5F00_offchip_5F00_app.projectspec

    /cfs-file/__key/communityserver-discussions-components-files/538/cc26xx_5F00_app_5F00_oad.cmd

    Edit: in my reply I explain how to best apply these patches.

  • Thanks Sean for assisting,

    I'm starting to implement your step-by-step guide.

    A few questions:

    1. Trying to import the attached .projectspec file, the stack library project is missing. Error message I get:
      Error: Project-spec import file not found: C:\simple_peripheral\tirtos\ccs\simple_peripheral_cc2640r2lp_stack_library.projectspec!
    2. You mentioned that the guideline is based on using "CC2640R2 SDK 2.30 and the CC26x2 2.20". How is possible to combine work from 2 different SDKs and 2 different processors?
      I was hoping for a solution based on the "CC2640R2 SDK 2.30" alone. Why is the "CC26x2 SDK 2.20" required for this procedure, of turning the CC2640R2 SDK 2.30 split-image project to a CC2640R2 SDK 2.30 single-image project?
    3. You mention the existence of .opt files ( build_config.opt). For CC2640R2 projects, there are no .opt files. all the compiler options are placed inside the project configuration (pre-processor definitions), in one of the .project files.
    4. The text in your explanation seems to have lost its original formatting - it is hard to tell a title from a text-body sentence. Is it possible to add the original formatting? It will make it easier to follow the instructions.

    If this process of creating a guide is too much effort, I will be happy with a final project of BIM + App + Stack-Library, based on the CC2640R2F SDK 2.30 SBP OAD off-chip project, with the only difference is that the projects are of the single-image type. If that is possible to deliver, I will re-create my project based on this new project prototype.

    Thank you

    Koby

  • Hi Koby,

    Answers below.

    As a high level description of my approach: The final project will be based on CC2640R2 SDK 2.30 alone with no external dependencies.

    However, we will use the OAD image tool from the CC26x2 SDK 2.20 as this already supports the stack library image type.

    This saves you the work of editing the oad_image_tool.py in the CC2640R2 SDK and compiling a new binary.

    Instead, what I have done is copy and pasted the oad image tool from tools/common/oad to tools/blestack/oad_new.

    From there I have modified the projectspec to use this new version of the tool.

    All other changes are to be applied to the CC2640R2 SDK.

    1. I am reusing the default simple_peripheral stack library from examples/rtos/CC2640R2_LAUNCHXL/blestack/simple_peripheral/tirtos/ccs

    Since this project is already a simple_peripheral implementation of the stack_library, it can be reused directly.

    Likely the import statement is failing because you have not pasted the projectspec I attached into examples/rtos/CC2640R2_LAUNCHXL/blestack/simple_peripheral_oad_offchip. The issue is that the import statement is looking for the default stack library project from a relative path.  This is the line in the projectspec  that is causing the error:

    <import spec="../../../simple_peripheral/tirtos/ccs/simple_peripheral_cc2640r2lp_stack_library.projectspec"/>

    2. I think I described this above, but let me know if I need to clarify, from the CC26x2 SDK I am just using the oad_image_tool to prevent you the hassle of having to modify the one in the CC2640R2 SDK.

    3. The .opt files I am referring to are the build_config.opt which needs to switched from the simple_peripheral_oad_offchip_stack project to instead use the ones in the simple_peripheral_stack_library project. A git diff view of my changes to the application's projectspec is below (in summary removed the boundary defines and pointed the build_config to the simple_peripheral_stack_library):

    - --cmd_file=${WORKSPACE_LOC}/simple_peripheral_cc2640r2lp_oad_offchip_stack/TOOLS/build_config.opt
    - --cmd_file=${WORKSPACE_LOC}/simple_peripheral_cc2640r2lp_oad_offchip_stack/TOOLS/ccs_compiler_defines.bcfg
    + --cmd_file=${WORKSPACE_LOC}/simple_peripheral_cc2640r2lp_stack_library/TOOLS/build_config.opt

    It may help to save the original version of the simple_peripheral_cc2640r2lp_oad_offchip_app.projectspec file from the SDK and diff it with the one that I sent you.

    4. I will go back and attempt to edit my original post to correct the formatting.

    >> If this process of creating a guide is too much effort, I will be happy with a final project of BIM + App + Stack-Library, based on the CC2640R2F SDK 2.30 SBP OAD off-chip project, with the only difference is that the projects are of the single-image type. If that is possible to deliver, I will re-create my project based on this new project prototype

    The projectspec file I sent along with the guide I sent should be enough to get a building example of simple_peripheral_oad_offchip working with a stack library (single image). In order to use the guide you will need to do the following:

    1. Copy oad_image_tool contents from CC26x2 SDK 2.20 tools/common/oad to tools/blestack/oad_new

    2. Paste the project file attached in the original post into examples/rtos/CC2640R2_LAUNCHXL/blestack/simple_peripheral_oad_offchip/tirtos/ccs

    Copy the linker file attached to the original post into: source\ti\blestack\common\cc26xx\ccs\cc26xx_app_oad.cmd

    3. Follow the steps related to the source code I attached in the original post (I will work on formatting)

    Update: I have reformatted my original post, and have included the linker file so that you can see the changes there directly.

  • Hi Koby,

    Small update. Performing testing, I was able to get the single image (stack library) configuration working for off-chip OAD on the CC2640R2 SDK 2.30.

    In addition to the changes required from my previous two posts, the following changes are also required:

    In BIM project


    In the ccfg_app_ble.c::73 change SET_CCFG_IMAGE_VALID_CONF_IMAGE_VALID to be 0x1F000 (I am assuming you are not using security and thus BIM should only be in the last page.

    In bim_main.c::checkImagesIntFlash()::936, you'll need to add a new condition to the if statement to cover stack library type images:

    It should read like this when done:

                if(!(OAD_IMG_TYPE_APP == imgHdr.imgType ||
                    OAD_IMG_TYPE_APP_STACK == imgHdr.imgType ||
                    OAD_IMG_TYPE_APPSTACKLIB == imgHdr.imgType) )
                {

    In the app project


    In main.c, the split image project type will search dynamically for the stack image, since the app and stack are combined in stack library type, this should be disabled.

    You can replace everything between ICall_init() and GAPRole_createTask() with the following:

    ICall_createRemoteTasks();

    I have attached this file here for your reference.

    Additionally, I have found a bug in the app's linker file related to how the length is calculated, I have attached a new version, place it in the usual location (specified above). I will report this to R&D

    With these changes, I was able to verify that the application boots up and is able to perform BLE activities, as well as OAD.

    /cfs-file/__key/communityserver-discussions-components-files/538/4428.cc26xx_5F00_app_5F00_oad.cmd

    /cfs-file/__key/communityserver-discussions-components-files/538/bim_5F00_main.c

    /cfs-file/__key/communityserver-discussions-components-files/538/5584.main.c

  • Sean,

    Thanks a lot.

    I managed to build the BIM and App projects, and execute the App project directly via the CCS debugger (the HEX is loaded in that case, not the OUT file).

    However, burning the BIM and App via the Uniflash, and then resetting the LP, the LP fails to start running.

    I believe I followed all the instructions, but I might have missed something.

    Attaching the projects, in a zip file, so you can do a compare and find if I missed anything? I hope it is not too much trouble.

    SBP_OAD_offchip_single_image.zip

    Also attaching the App and BIM build output.

    **** Clean-only build of configuration FlashOnly_unsecure for project bim_oad_offchip_cc2640r2lp_app ****
    
    "C:\\ti\\ccsv8.1\\utils\\bin\\gmake" -k -j 4 clean -O 
     
    DEL /F  "bim_oad_offchip_cc2640r2lp_app.hex"  "bim_oad_offchip_cc2640r2lp_app.out" 
    DEL /F "Application\bim_main.obj" "Application\bim_util.obj" "Application\ccfg_app_ble.obj" "Application\crc32.obj" "Application\flash_interface_internal.obj" "Application\led_debug.obj" "Application\sign_util.obj" "Application\startup_ccs.obj" "ExternalFlash\ext_flash.obj" "SPI\bsp_spi.obj" 
    DEL /F "Application\bim_main.d" "Application\bim_util.d" "Application\ccfg_app_ble.d" "Application\crc32.d" "Application\flash_interface_internal.d" "Application\led_debug.d" "Application\sign_util.d" "Application\startup_ccs.d" "ExternalFlash\ext_flash.d" "SPI\bsp_spi.d" 
    Finished clean
     
    
    **** Build Finished ****
    
    **** Build of configuration FlashOnly_unsecure for project bim_oad_offchip_cc2640r2lp_app ****
    
    "C:\\ti\\ccsv8.1\\utils\\bin\\gmake" -k -j 4 all -O 
     
    Building file: "../Application/ccfg_app_ble.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/ccfg_app_ble.d_raw" --obj_directory="Application"  "../Application/ccfg_app_ble.c"
    Finished building: "../Application/ccfg_app_ble.c"
     
    Building file: "../Application/bim_util.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/bim_util.d_raw" --obj_directory="Application"  "../Application/bim_util.c"
    Finished building: "../Application/bim_util.c"
     
    Building file: "../Application/crc32.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/crc32.d_raw" --obj_directory="Application"  "../Application/crc32.c"
    Finished building: "../Application/crc32.c"
     
    Building file: "../Application/bim_main.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/bim_main.d_raw" --obj_directory="Application"  "../Application/bim_main.c"
    Finished building: "../Application/bim_main.c"
     
    Building file: "../Application/flash_interface_internal.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/flash_interface_internal.d_raw" --obj_directory="Application"  "../Application/flash_interface_internal.c"
    Finished building: "../Application/flash_interface_internal.c"
     
    Building file: "../Application/led_debug.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/led_debug.d_raw" --obj_directory="Application"  "../Application/led_debug.c"
    Finished building: "../Application/led_debug.c"
     
    Building file: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2/startup_files/startup_ccs.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/startup_ccs.d_raw" --obj_directory="Application"  "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2/startup_files/startup_ccs.c"
    Finished building: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2/startup_files/startup_ccs.c"
     
    Building file: "../Application/sign_util.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="Application/sign_util.d_raw" --obj_directory="Application"  "../Application/sign_util.c"
    Finished building: "../Application/sign_util.c"
     
    Building file: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/ext_flash.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="ExternalFlash/ext_flash.d_raw" --obj_directory="ExternalFlash"  "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/ext_flash.c"
    Finished building: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/ext_flash.c"
     
    Building file: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/bsp_spi.c"
    Invoking: ARM Compiler
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app" --include_path="E:/development/FW/BLE5.0/cc2640_simplebroadcaster/SDK_2_30/SBP_OAD_offchip_single_image/bim_oad_offchip_cc2640r2lp_app/Application" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/crc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/flash_interface" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/bim/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ecc/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/profiles/oad/debug/" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/target" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/target/_common/cc26xx" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/hal/src/inc" --include_path="C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2" --include_path="C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/include" --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi --preproc_with_compile --preproc_dependency="SPI/bsp_spi.d_raw" --obj_directory="SPI"  "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/bsp_spi.c"
    Finished building: "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/board_support_pkg/CC2640R2_LAUNCHXL/bsp_spi.c"
     
    Building target: "bim_oad_offchip_cc2640r2lp_app.out"
    Invoking: ARM Linker
    "C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armcl" -mv7M3 --code_state=16 -me -O4 --opt_for_speed=0 --define=xNO_COPY --define=BOOT_LOADER --define=xCREATE_FACT_IMG_INT_TO_EXT_FLSH --define=CC26XX_R2 --define=DeviceFamily_CC26X0R2 --define=SPLIT_APP_STACK_IMAGE --define=BIM --define=xSECURITY --define=xFLASH_DEVICE_ERASE --define=xLED_DEBUG -g --c99 --gcc --diag_warning=225 --diag_warning=255 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi -z -m"bim_oad_offchip_cc2640r2lp_app.map" --heap_size=0 --stack_size=256 -i"C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/lib" -i"C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.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="bim_oad_offchip_cc2640r2lp_app_linkInfo.xml" --rom_model -o "bim_oad_offchip_cc2640r2lp_app.out" "./Application/bim_main.obj" "./Application/bim_util.obj" "./Application/ccfg_app_ble.obj" "./Application/crc32.obj" "./Application/flash_interface_internal.obj" "./Application/led_debug.obj" "./Application/sign_util.obj" "./Application/startup_ccs.obj" "./ExternalFlash/ext_flash.obj" "./SPI/bsp_spi.obj" "C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/ccs/cc26xx_bim_r2.cmd"  -l"C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/devices/cc26x0r2/driverlib/bin/ccs/driverlib.lib" -l"C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/rom/ble_rom_releases/cc26xx_r2/Final_Release/ble_r2.symbols" -l"C:/ti/simplelink_cc2640r2_sdk_2_30_00_28/source/ti/blestack/common/cc26xx/sha2/SHA2CC26XX.a" -llibc.a 
    <Linking>
    Finished building target: "bim_oad_offchip_cc2640r2lp_app.out"
     
    C:/ti/ccsv8.1/tools/compiler/ti-cgt-arm_18.1.2.LTS/bin/armhex -order MS --memwidth=8 --romwidth=8 --intel -o bim_oad_offchip_cc2640r2lp_app.hex bim_oad_offchip_cc2640r2lp_app
    Translating to Intel format...
       "bim_oad_offchip_cc2640r2lp_app.out" .intvecs ==> .intvecs
       "bim_oad_offchip_cc2640r2lp_app.out" .text ==> .text
       "bim_oad_offchip_cc2640r2lp_app.out" .const ==> .const
       "bim_oad_offchip_cc2640r2lp_app.out" .cinit ==> .cinit
       "bim_oad_offchip_cc2640r2lp_app.out" .ccfg ==> .ccfg
     
    
    **** Build Finished ****
    

    sbp_oad_single_image_app_build_output.txt

    Here is the UniFlash burn page, with the selected BIM and App images:

  • Hi Koby,

    In your projects what is the start address of the BIM and what is the value of the CCFG jump field?

    If you do a debut without downloading from the IDE are you able to reach main in BIM?
  • This is the map file output of the BIM project.

             name            origin    length      used     unused   attr    fill
    ----------------------  --------  ---------  --------  --------  ----  --------
      FLASH_BIM             0001e000   00001f54  00000d74  000011e0  R  X
      FLASH_CERT            0001ff54   0000004c  00000000  0000004c  R  X
      FLASH_FNPTR           0001ffa0   00000004  00000000  00000004  R  X
      FLASH_CCFG            0001ffa8   00000058  00000058  00000000  R  X
      SRAM                  20000000   00004400  00000208  000041f8  RW X

    Yes, I can access the BIM via the IDE Debug, when selecting Properties->debug->Flash settings->do not erase sectors (program load only), and step-by-step.

    However, at run-time, it fails to find a valid image in the internal flash, in checkImagesIntFlash() (checked from page 0 to page 31).

    I found that I did not undefine SPLIT_APP_STACK_IMAGE, but undefining it did not solve the problem.

    By the way, I tried to activate LED indications by defining LED_DEBUG, but the BIM crashes after lighting up the red LED.

    an update

    After undefining SPLIT_APP_STACK_IMAGE in the app project as well (yes, I forgot about it in that project too), I can get the App image to execute by running the BIM via the IDE Debugger. checkImagesIntFlash finds the image on the 1st page, and executes it (the LED flashes at the App flashing rate). However, this doesn't work if I reset the LP (no LED flashes, no advertising).

  • Hi Koby,

    I have reviewed your BIM map file and I think the issue is that you didn't update the BIM linker file.

    The reason why it is working with the debugger attached is that the Emulator will set PC = 0x1E000 and SP accordingly.
    However, in the ccfg file, you are pointing to 0x1F000, so the boot ROM doesn't know what to do (when booting without debugger).

    If you change BIM to only consume, and thus have .intvecs placed at 0x1F000 then you should be all set.

    Hope this gets you up and running , here is the offending text in the map file
    0001e000 0001e000 000000c8 000000c8 r-- .intvecs

    This needs to match with
    #define SET_CCFG_IMAGE_VALID_CONF_IMAGE_VALID 0x1F000
  • Specifically you need to replace line 151 in cc26xx_bim_r.cmd with
    #define FLASH_BIM_START FLASH_SIZE - PAGE_SIZE
  • Excellent !!

    BIM + single_image_app run fine, also when burned via UniFlash.

    Next and last, I will verify that I haven't forgotten anything, and that OAD is working properly.

    Thanks Sean.