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: Current project needs the BLE Stack to be removed

Part Number: CC2640R2F
Other Parts Discussed in Thread: CC2650

Hi everybody.

I am working on a project that at the beginning opted to use the BLE Stack but the project has changed significantly that finally the BLE Stack is no longer used.I have tried to remove the files that from StartUp invokes the BLE call but it keeps appearing dependencies due to compiler binding.

I know that it is much better to make a second project from scratch and move all the code elements that are functional and not include the BLE stack but for compatibility and project traceability I can not do it (Git), so I need to remove the elements related to bluetooth.

Current distribution

All funcitonal elements of the project appears inside DeviceAPI folder:

The app is working vía TI-RTOS

What should I do? thank you.

  • Hello,

    As you mentioned, the ideal way of removing the BLE functionality from your project would be to migrate your application code to non-BLE based project. If this is not possible, then I would suggest taking a non-BLE project as reference and ensuring the linker settings, include files, linked files, and predefines align as closely as possible.

    This may take some time and will likely require repeated re-compilation to identify and solve any compile-time and link-time errors that arise during this process, but I expect this process to work.

    Best Regards,

    Jan

  • The real functionality has been moved to a non-BLE project to check  and compare as you mentioned but I must keep the traceability of the project on the same repo.

    So, there's a way to check the steps to add the BLE funcionality to a non-BLE project and to reverse those dependencies in my current project? I've been deleted BLE related files and check, of course, compilation and results but always get an error related to the BLE app_ble_pem3.oem3 files.
    That dependency is linked vía project settings? what "include" line invokes those packages? 

    thanks!

  • Hello,

    Can you clarify which project is generating the error? Is it the stack library project or the application project? You will need to remove all references and links to BLE on both projects. Once that is done, then you must clean and rebuild the stack project followed by the application project.

    Best Regards,

    Jan

  • Before remove all references from properties in both sides, I've tried the next steps:

    1. Remove everything related to user0cfg variable on main.c.

    2. I've deleted the files from the following locations:

    <link>
    <name>ICall/icall.c</name>
    <type>1</type>
    <locationURI>SRC_COMMON_DIR1/icall/src/icall.c</locationURI>
    </link>
    <link>
    <name>ICall/icall.h</name>
    <type>1</type>
    <locationURI>SRC_COMMON_DIR1/icall/src/inc/icall.h</locationURI>
    </link>
    <link>
    <name>ICall/icall_addrs.h</name>
    <type>1</type>
    <locationURI>SRC_BLE_DIR/icall/inc/icall_addrs.h</locationURI>
    </link>
    <link>
    <name>ICall/icall_cc2650.c</name>
    <type>1</type>
    <locationURI>SRC_COMMON_DIR1/icall/src/icall_cc2650.c</locationURI>
    </link>
    <link>
    <name>ICall/icall_platform.h</name>
    <type>1</type>
    <locationURI>SRC_COMMON_DIR1/icall/src/icall_platform.h</locationURI>
    </link>
    <link>
    <name>ICall/icall_user_config.c</name>
    <type>1</type>
    <locationURI>SRC_COMMON_DIR1/icall/src/icall_user_config.c</locationURI>
    </link>
    <link>
    <name>ICallBLE/ble_user_config.c</name>
    <type>1</type>
    <locationURI>SRC_BLE_DIR/icall/app/ble_user_config.c</locationURI>
    </link>
    <link>
    <name>ICallBLE/ble_user_config.h</name>
    <type>1</type>
    <locationURI>SRC_BLE_DIR/icall/inc/ble_user_config.h</locationURI>
    </link>
    <link>
    <name>ICallBLE/icall_api_lite.c</name>
    <type>1</type>
    <locationURI>SRC_BLE_DIR/icall/app/icall_api_lite.c</locationURI>
    </link>
    <link>
    <name>ICallBLE/icall_ble_apimsg.h</name>
    <type>1</type>
    <locationURI>SRC_BLE_DIR/icall/inc/icall_ble_apimsg.h</locationURI>
    </link>

    and after that I've compiled the project with the result below:

    unresolved symbol osalHeapAllocFxn, first referenced in D:\Opal\opal_device_ti_rtos\opal_device_ti_rtos_cc2640r2lp_app\FlashROM_StackLibrary\configPkg\package\cfg\app_ble_pem3.oem3 opal_device_ti_rtos_cc2640r2lp_app C/C++ Problem
    unresolved symbol osalHeapFreeFxn, first referenced in D:\Opal\opal_device_ti_rtos\opal_device_ti_rtos_cc2640r2lp_app\FlashROM_StackLibrary\configPkg\package\cfg\app_ble_pem3.oem3 opal_device_ti_rtos_cc2640r2lp_app C/C++ Problem
    unresolved symbol osalHeapGetStatsFxn, first referenced in D:\Opal\opal_device_ti_rtos\opal_device_ti_rtos_cc2640r2lp_app\FlashROM_StackLibrary\configPkg\package\cfg\app_ble_pem3.oem3 opal_device_ti_rtos_cc2640r2lp_app C/C++ Problem
    unresolved symbol osalHeapInitFxn, first referenced in D:\Opal\opal_device_ti_rtos\opal_device_ti_rtos_cc2640r2lp_app\FlashROM_StackLibrary\configPkg\package\cfg\app_ble_pem3.oem3 opal_device_ti_rtos_cc2640r2lp_app C/C++ Problem
    unresolved symbol osalHeapIsBlockingFxn, first referenced in D:\Opal\opal_device_ti_rtos\opal_device_ti_rtos_cc2640r2lp_app\FlashROM_StackLibrary\configPkg\package\cfg\app_ble_pem3.oem3 opal_device_ti_rtos_cc2640r2lp_app C/C++ Problem

    I have to revert the remove references from Project properties, other errors appeared and I have to get back to my first remotion approach. 

    Thanks for your help.

  • Hi,

    Can you try deleting the FlashROM_library file from your project?

    Best Regards,

    Jan