CC26x2 to CC23xx Porting Guide

This section will describe, in general terms, how to port a project developed for the CC26X2 device on the SimpleLink Low Power F2 SDK to a CC23xx device running the SimpleLink Low Power F3 SDK.

The best way to migrate is to open a new example project with similar functionality in the new SDK and transfer your changes and application code over to the new example.

The following sections discuss the major changes between the CC26x2 devices and the CC23xx devices.

General Considerations

FreeRTOS

The CC23xx devices exclusively support FreeRTOS. If a project needs to be migrated from the SimpleLink Low Power F2 SDK and uses TI-RTOS or TI-RTOS7, it will need to be converted to FreeRTOS during the migration process.

CC23xx LaunchPad support

All example applications are compatible with the CC23xx LaunchPad development kit. These features allow for a unified development experience and empowers developers to rapidly release to market.

CC23xx LaunchPad Development Kit Product Page

Sensor Controller

The CC23xx does not support the Sensor Controller. Any applications being ported from the SimpleLink Low Power F2 SDK that make use of the Sensor Controller will need to be modified to not use the Sensor Controller in order to work with the CC23xx.

Migration Guides

Migrate to FreeRTOS

An important step that must be taken in order to port an example from the SimpleLink Low Power F2 SDK to the SimpleLink Low Power F3 SDK is to ensure that the project is implemented in FreeRTOS. The SimpleLink Low Power F3 SDK only supports FreeRTOS, so any projects running on TI-RTOS or TI-RTOS7 will not work unless they are converted to FreeRTOS. To port a project from TI-RTOS or TI-RTOS7 to FreeRTOS please reference Modify the application code to support FreeRTOS.

Migrate the RF stack

Ensure the RF features and requirements that are present in the original example are available in the SimpleLink Low Power F3 SDK RF stack.

Migrate the TI drivers

It is important to ensure that projects that are being ported are not using deprecated libraries. A few migration guides for libraries that should be updated as part of the SimpleLink Low Power F2 SDK to SimpleLink Low Power F3 SDK migration are shown below:

Example

The following section provides an example of how to port a project from the SimpleLink Low Power F2 SDK to the SimpleLink Low Power F3 SDK. All of the steps shown below are essentially putting into practice the theory discussed earlier in this document.

Porting Simple Peripheral

For this porting guide, Simple Peripheral will be ported from the SimpleLink Low Power F2 SDK using a CC26X2R1 device to the SimpleLink Low Power F3 SDK using a CC2340R5 device. To minimize project configuration differences, start with an example project in the CC23xx. The recommended approach is to start with a SimpleLink Low Power F3 SDK project that contains the same base functionality as the porting target project and merge in any custom functionality.

  1. Convert the project from TI-RTOS or TI-RTOS7 to FreeRTOS. This must be done properly to ensure that the project behaves as expected and proper functionality is maintained. Please leverage the following guide Modify the application code to support FreeRTOS

  2. Choose a SimpleLink Low Power F3 SDK example project that contains your target project’s base functionality.

  3. Transfer all modified application files from SimpleLink Low Power F2 SDK project into the SimpleLink Low Power F3 SDK example project.

    In this example, the following files from SimpleLink Low Power F2 SDK project were moved into basic_ble SimpleLink Low Power F3 SDK example:

    • simple_peripheral.c

    • simple_peripheral.h

  4. Move any profiles and services that the application is using to the SimpleLink Low Power F3 SDK 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.

    Warning

    It is highly recommended to transfer the settings visually. Some settings could change from a SDK to another and forcing these settings by copy-pasting the desired options may lead to unexpected behavior in the application.

  6. If necessary, update the project to use the newer TI drivers that are supplied with the SimpleLink Low Power F3 SDK.

    The UART library has been deprecated and replaced by the UART2 library. Please follow the UART to UART2 Porting Guide

    The Pin and GPIO libraries are deprecated and have been replaced by the GPIO++ library. To update Pin or GPIO code, please reference the following porting guide GPIO++ Driver Porting Guide

  7. Refer to the Core SDK release notes for additional information and the FreeRTOS examples included with SimpleLink Low Power F3 SDK.

    For additional information on how SimpleLink Low Power F3 SDK uses FreeRTOS see FreeRTOS (RTOS Kernel) Overview.

  8. At this stage, most, if not all, of the modifications required have been completed. It is possible that some additional modifications may be required for the project to function as intended, but these changes can be relatively minor compared to the modifications already made by following this porting guide.