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.
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
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.In the file simple_peripheral.syscfg under
...\tirtos7\
, remove the linesaesctrdrbg.$name = "CONFIG_AESCTRDRBG_0";
andaesctrdrbg.aesctrObject.$name = "CONFIG_AESCTR_0";
, as these names are no longer defined. Also remove lineHwi.vectorTableAddress = system.utils.bigInt("020000000", 16);
. Alternatively replace the simple_peripheral.syscfg with the file, provided with the new SDK.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.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:
In the BLE5-Stack 2.02.07 simple_peripheral CCS project, right-click on the project name and select
Properties
or use the CCS menuProject
-Properties
.Under
Resource
-General
click theProducts
tab and select theSimpleLink CC13xx CC26xx SDK
entry and press theEdit
button.Select the new SDK from the drop-down field on the right side and press OK.
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
Under
Resource
-General
click theProject
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
In the file simple_peripheral.syscfg of the project folder, remove the lines
aesctrdrbg.$name = "CONFIG_AESCTRDRBG_0";
andaesctrdrbg.aesctrObject.$name = "CONFIG_AESCTR_0";
, as these names are no longer defined. Also remove lineHwi.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.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.
Choose a BLE5-Stack 2.02.08 example project that contains your target project’s base functionality.
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
Move any profiles and services that the application is using to the BLE5-Stack 2.02.08 project.
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.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.
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.
Choose a BLE5-Stack 2.02.08 example project that contains your target project’s base functionality.
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
Modify
main.c
in the BLE5-Stack 2.02.08 example if additional tasks were added in the BLE5-Stack 2.02.07 project.Move any profiles and services that the application is using to the BLE5-Stack 2.02.08.
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.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.
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.
Import a BLE5-Stack 2.02.08 Basic BLE project.
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.
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
Move any profiles and services that the application is using to the BLE5-Stack 2.02.08 project.
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.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.
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