BLE5-Stack 2.02.01 (SDK 5.10) to BLE5-Stack 2.02.05 (SDK 6.10)

This section will describe a way to migrate a project from BLE5-Stack 2.02.01 to a BLE5-Stack 2.02.05 project.

The best way to migrate is to open a new project from the latest SDK and transfer any changes and application code over to the new example.

Attention

Due to a new feature addition on the SysConfig Tool with regards to the TI kernel, customers who have disabled SysConfig will have to re-run the SysConfig tool and regenerate ti_drivers_config.c/h on the latest SDK. Without doing so, some drivers will not be configured correctly and may not work.

The project.syscfg (ex: simple_peripheral.syscfg) file additionally expects one more argument in the latest SDK. The argument is to set the RTOS version for the project to either tirtos or freertos. Without the argument, it will result linker error, missing symbols for kernel objects. When porting to the latest SDK, the project’s .syscfg file needs to be manually updated to include the argument highlighted below:

” // @cliArgs –board /ti/boards/CC26X2R1_LAUNCHXL –rtos tirtos

Porting Simple Peripheral

For this migration guide, Simple Peripheral from BLE5-Stack 2.02.01 will be ported over to BLE5-Stack 2.02.05. The recommended approach is to start with a BLE5-Stack 2.02.05 project that contains the same base functionality as the porting target project and merge in any custom functionality.

  1. Choose a BLE5-Stack 2.02.05 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.01 into the BLE5-Stack 2.02.05 example project.

    In this example, the following files from BLE5-Stack 2.02.01 were moved into Simple Peripheral BLE5-Stack 2.02.05 example:

    • simple_peripheral.c

    • simple_peripheral.h

  3. Modify main.c in the BLE5-Stack 2.02.05 example if additional tasks were added in the BLE5-Stack 2.02.01 project.

  4. Move any profiles and services that the application is using to the BLE5-Stack 2.02.05 project.

  5. Transfer the SysConfig settings either visually or through the GUI. You should not re-use any existing SysConfig file as this may lead to build issues. Start by using the SysConfig file in the latest project to inherit the latest updates and dependencies.

  6. Modify the calls to Gap_RegisterConnEventCb() as detailed in Connection Event Callback Update in BLE5-Stack 2.02.05.

  7. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK.

  8. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK.

    For additional information on how BLE5-Stack 2.02.05 uses TI-RTOS see TI-RTOS (RTOS Kernel) Overview.

    For any utilized TI Drivers, review TI-RTOS Kernel (SYS/BIOS) User’s Guide and TI Drivers API Reference.

Porting Simple Central

This section of the migration guide will focus on porting Simple Central from BLE5-Stack 2.02.01 to the BLE5-Stack 2.02.05. The recommended approach is to start with a BLE5-Stack 2.02.05 project that contains the same base functionality as the porting target project and merge in any custom functionality.

  1. Choose a BLE5-Stack 2.02.05 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.01 into the BLE5-Stack 2.02.05 example project.

    In this example, the following files from BLE5-Stack 2.02.01 were moved into Simple Central BLE5-Stack 2.02.05 example:

    • simple_central.c

    • simple_central.h

  3. Modify main.c in the BLE5-Stack 2.02.05 example if additional tasks were added in the BLE5-Stack 2.02.01 project.

  4. Transfer the SysConfig settings either visually or through the GUI. You should not re-use any existing SysConfig file as this may lead to build issues. Start by using the SysConfig file in the latest project to inherit the latest updates and dependencies.

  5. If used, modify the calls to Gap_RegisterConnEventCb() as detailed in Connection Event Callback Update in BLE5-Stack 2.02.05.

  6. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK.

  7. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK.

    For additional information on how BLE5-Stack 2.02.01 uses TI-RTOS see TI-RTOS (RTOS Kernel) Overview.

    For any utilized TI Drivers, review TI-RTOS Kernel (SYS/BIOS) User’s Guide and TI Drivers API Reference.

A Few Noteworthy Changes from BLE5-Stack 2.02.01 to BLE5-Stack 2.02.05

A few noteworthy changes that may affect users who are porting a project to the latest SimpleLink CC13xx/CC26xx SDK are listed below. This is not an exhaustive list. Therefore, it is recommended that customers perform a diff of both SDKs when porting to ensure all required changes to the application are made. This section largely covers changes made outside the BLE5-Stack folder inside the SimpleLink CC13xx/CC26xx SDK.

  • New device support was added along with corresponding examples. For a full list of supported devices, see the BLE5-Stack Release Notes.

  • The following RTLS examples were renamed, along with any references in code:

  • RTLS examples no longer enable embedded angle calculation. The AOA_MODE_RAW remains available and provide Bluetooth Core Specifications Version 5.2 compliant IQ data that can be used for the development of algorithms that will need to be specific to your product implementation.

  • The RTLS agent tools have been modified. Please refer to <SDK>/tools/ble5stack/rtls_agent/README.md for additional details.

  • The uBLE stack has been updated to support multiple connections, connection parameter updates, and channel map update procedures.

  • The rtls_passive example, which uses the Micro BLE stack, was modified to reflect the above changes.

    For more information regarding the new connection monitor features, please refer to Connection Monitor (CM) Application.

  • GAP Scanner: the SCAN_PARAM_FLT_DUP parameter (see <SDK_ROOT>/source/ti/ble5stack/inc/gap_scanner.h) is now configurable via SysConfig. It is enabled by default.

  • The Bluetooth Mesh simple_mesh_node example now includes application callbacks associated with LPNs and friendship establishment/termination.

  • The SPICC26X2DMA_HWAttrs struct inside SPICC26X2DMA.h has been modified to refactor the management of different SPI channels. Entries were added to this struct. This should not functionally impact the application. Be sure to re-run SysConfig on the latest SimpleLink CC13xx/CC26xx SDK to ensure the correct configuration of this driver.

  • The UART2CC26X2_HWAttrs struct inside UART2CC26X2.h has been modified in a similar fashion as SPICC26X2DMA_HWAttrs struct.

  • Instances of the PIN driver (e.g. PIN_State, PIN_Handle, etc) have been removed in many places and replaced with instances of the GPIO driver. For more information, see GPIO++ Driver Porting Guide.

  • In SDK 5.40, the location of the precompiled RF libraries was moved to match the same pattern as other components in the SDK. The old path is now deprecated. Migration to the new library path may be required.

  • The radio configuration has been updated in SDK 5.40 in relation with Radio_03 errata. Customers that disable SysCfg may be affected. For more information, see Radio configuration update for migration from BLE5-Stack 2.02.03 to BLE5-Stack 2.02.04.

  • The path of the .syscfg file has been modified for most of the projects*. The .syscfg file is now stored in the folder <EXAMPLE>\<RTOS> (it was previously stored directly in the <EXAMPLE> folder). The affected projects have been modified to automatically import the proper .syscfg file.

    * All the projects in the |SDK| are affected by these changes, except the RTLS examples, the simple_broadcaster, the multi_sensor and the connection monitor projects.