BLE5-Stack 2.02.07 (SDK 6.40) to BLE5-Stack 2.02.08 (SDK 7.10)

This section will describe a few methods to migrate a project from BLE5-Stack 2.02.07 to a BLE5-Stack 2.02.08 project.

Porting via CCS ProjectSpec Modifications

Porting by modifying the CCS ProjectSpec file (.projectspec) can be done when a ProjectSpec file has been updated and maintained throughout the project’s development. All example projects included in the SDK each come with their own ProjectSpec file. During development, the included ProjectSpec file should be updated to match any changes or additions made to the project. This will make a project more easily package-able and ease migration efforts when future SDK’s are released For example the ProjectSpec file of the simple_peripheral project is located in {SDK_INSTALL_DIR}\examples\rtos\{BOARD}\ble5stack\simple_peripheral\tirtos7\ticlang

This portion of the migration guide will focus on how to port an existing project from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08 by modifying the ProjectSpec file to import the project as a BLE5-Stack 2.02.08 project. The following steps will detail the changes needed when porting a Simple Peripheral project.

Warning

This porting method might be more complex for customer specific projects. The following steps are the minimum set of changes required to port a project from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08.

  1. Open the ProjectSpec file in a text editor and modify the product definition line to reflect the new SDK revision and the corresponding sysconfig revision. products="com.ti.SIMPLELINK_CC13XX_CC26XX_SDK:x.xx.xx.xx;sysconfig:x.xx.x" Refer to the Dependencies section in the SDK release notes for the correct SysConfig version. The SDK release notes may be found in {SDK_INSTALL_DIR}\release_notes_simplelink_cc13xx_cc26xx_sdk_x_xx_xx_xx.html

  2. Update line cgtVersion="TICLANG_x.x.x" if it exists in the ProjectSpec file. Refer to the Dependencies section in the SDK release notes for the recommended TI ARM Clang Compiler version.

  3. In the file simple_peripheral.syscfg under ...\tirtos7\, remove the lines aesctrdrbg.$name = "CONFIG_AESCTRDRBG_0"; and aesctrdrbg.aesctrObject.$name = "CONFIG_AESCTR_0";, as these names are no longer defined. Also remove line Hwi.vectorTableAddress = system.utils.bigInt("020000000", 16);. Alternatively replace the simple_peripheral.syscfg with the file, provided with the new SDK.

  4. In file cc13x2_cc26x2_app_tirtos7.cmd in folder .\tirtos7\ticlang, add the following section declaration at the end of the file. .ramVecs:   > SRAM, type = NOLOAD, ALIGN(256) Alternatively replace the cc13x2_cc26x2_app_tirtos7.cmd by the file, provided with the new SDK.

  5. Afterwards, the project may be re-imported using the new ProjectSpec file. The newly imported project is now configured to use BLE5-Stack 2.02.08 instead of BLE5-Stack 2.02.07.

To learn more information about ProjectSpec files, please reference ProjectSpec Documentation.

Porting by modifying the project properties in CCS

An equivalent way of porting an existing project to a newer SDK is to modify the project properties in CCS.

Warning

This porting method might be more complex for customer specific projects. The following steps are the minimum set of changes required to port a project from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08.

In this example the simple_peripheral project of the BLE5-Stack 2.02.07 will be ported to BLE5-Stack 2.02.08 with the following steps:

  1. In the BLE5-Stack 2.02.07 simple_peripheral CCS project, right-click on the project name and select Properties or use the CCS menu Project - Properties.

  2. Under Resource - General click the Products tab and select the SimpleLink CC13xx CC26xx SDK entry and press the Edit button.

  3. Select the new SDK from the drop-down field on the right side and press OK.

  4. In the same tab select the SysConfig entry and update similarly if needed. Refer to the Dependencies section in the SDK release notes for the correct SysConfig version. The SDK release notes may be found in {SDK_INSTALL_DIR}\release_notes_simplelink_cc13xx_cc26xx_sdk_x_xx_xx_xx.html

  5. Under Resource - General click the Project tab and select the desired compiler version. Refer to the Dependencies section in the SDK release notes for the correct compiler version. The SDK release notes may be found in {SDK_INSTALL_DIR}\release_notes_simplelink_cc13xx_cc26xx_sdk_x_xx_xx_xx.html

  6. In the file simple_peripheral.syscfg of the project folder, remove the lines aesctrdrbg.$name = "CONFIG_AESCTRDRBG_0"; and aesctrdrbg.aesctrObject.$name = "CONFIG_AESCTR_0";, as these names are no longer defined. Also remove line Hwi.vectorTableAddress = system.utils.bigInt("020000000", 16);. Alternatively replace the simple_peripheral.syscfg of the CCS project by the simple_peripheral.syscfg file, provided with the new SDK.

  7. In file cc13x2_cc26x2_app_tirtos7.cmd of the project folder, add the following section declaration at the end of the file. .ramVecs:   > SRAM, type = NOLOAD, ALIGN(256) Alternatively replace the cc13x2_cc26x2_app_tirtos7.cmd of the CCS project by the cc13x2_cc26x2_app_tirtos7.cmd file, provided with the new SDK.

Now it should be possible to build and run the ported project.

Legacy Porting

The following three sections are covering a legacy migration method for different examples. The approach of this method is to open a new project from the new SDK and transfer your changes and application code over to the new example.

Legacy Porting Simple Peripheral

For this migration guide, Simple Peripheral from BLE5-Stack 2.02.07 will be ported over to BLE5-Stack 2.02.08. Start with a BLE5-Stack 2.02.08 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.08 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.07 into the BLE5-Stack 2.02.08 example project.

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

    • simple_peripheral.c

    • simple_peripheral.h

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

  4. Transfer the SysConfig settings either visually through the GUI or open both the old and the new project .syscfg files and copy-paste the desired settings.

  5. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK. Additional details are provided in A Few Noteworthy Changes from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08.

  6. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK. The Core SDK release notes may be found in {SDK_INSTALL_DIR}\docs\simplelink_mcu_sdk\release_notes_coresdk_cc13xx_cc26xx_x_xx_xx_xx.html

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

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

Legacy Porting Simple Central

This section of the migration guide will focus on porting Simple Central from BLE5-Stack 2.02.07 to the BLE5-Stack 2.02.08. Start with a BLE5-Stack 2.02.08 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.08 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from BLE5-Stack 2.02.07 into the BLE5-Stack 2.02.08 example project.

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

    • simple_central.c

    • simple_central.h

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

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

  5. Transfer the Sysconfig settings either visually through the GUI or open both the old and the new project .syscfg files and copy-paste the desired settings.

  6. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK. Additional details are provided in A Few Noteworthy Changes from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08.

  7. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK. The Core SDK release notes may be found in {SDK_INSTALL_DIR}\docs\simplelink_mcu_sdk\release_notes_coresdk_cc13xx_cc26xx_x_xx_xx_xx.html

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

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

Legacy Porting Basic BLE

In this section of this migration guide, the Basic BLE example from BLE5-Stack 2.02.07 will be ported over to BLE5-Stack 2.02.08. Start with the Basic BLE project of the BLE5-Stack 2.02.08 and merge in any custom functionality.

  1. Import a BLE5-Stack 2.02.08 Basic BLE project.

  2. Change the default BLE Basic project configuration options in the BLE Module present in SysConfig to match the configuration used in the BLE5-Stack 2.02.07 project.

  3. Transfer all modified application files from BLE5-Stack 2.02.07 into the BLE5-Stack 2.02.08 example project.

    In this example, the following files from BLE5-Stack 2.02.07 were moved into the Basic BLE example of the BLE5-Stack 2.02.08:

    • app_peripheral.c

    • app_central.c

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

  5. Transfer the SysConfig settings either visually through the GUI or open both the old and the new project .syscfg files and copy-paste the desired settings.

  6. If necessary, update the project to use the newer TI-RTOS drivers that are supplied with the SimpleLink CC13xx/CC26xx SDK. Additional details are provided in A Few Noteworthy Changes from BLE5-Stack 2.02.07 to BLE5-Stack 2.02.08.

  7. Refer to the Core SDK release notes for additional information and the TI-RTOS examples included with SimpleLink CC13xx/CC26xx SDK. The Core SDK release notes may be found in {SDK_INSTALL_DIR}\docs\simplelink_mcu_sdk\release_notes_coresdk_cc13xx_cc26xx_x_xx_xx_xx.html

    For additional information on how BLE5-Stack 2.02.08 uses TI-RTOS see TI-RTOS7 (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.07 to BLE5-Stack 2.02.08

You can follow the guide above without addressing these updates, they are listed for your information only. All fine grained details might not be mentioned, please refer to the specific example you need to port and do a compare between the old and new project files. Please refer to the BLE5-Stack Release Notes for all the details.

Note

The examples available in SDK 6.20 and newer

  • Rely either on TI-RTOS7 or FreeRTOS as RTOS

  • Leverage GPIO++ and UART2 drivers for GPIO and UART applications

  • Use TI-CLANG or IAR as compiler

This guide assumes the previously mentioned components are used. If this is not the case for your projects, please refer to TI-RTOS to TI-RTOS7 Migration, GPIO++ Driver Porting Guide, UART to UART2 Porting Guide and TI ARM Clang Migration Guide.

Note

Several Function names, structure field names, defines, and SysConfig field names have been updated in order to follow inclusive technical terminology. Refer to the Inclusive Terminology section in the Core SDK release notes for more details and for a list of affected APIs. The Core SDK release notes may be found in {SDK_INSTALL_DIR}\docs\simplelink_mcu_sdk\release_notes_coresdk_cc13xx_cc26xx_x_xx_xx_xx.html