CC13x2x1 or CC26x2x1 to CC13x1x3 or CC26x1x3 Software Migration

This section will describe how to migrate a project based on the CC13x2x1 or CC26x2x1 devices to a CC13x1x3 or CC26x1x3 project. This guide assumes that the SDK version will stay the same between the CC13x2x1 or CC26x2x1 project and the CC13x1x3 or CC26x1x3 project.

The best way to migrate is to open a new project from the new SDK and transfer your changes and application code over to the new example. An example of what this process looks like will be included in this guide.

Key Differences between CC13x2x1 or CC26x2x1 and CC13x1x3 or CC26x1x3

The CC13x1x3 or CC26x1x3 devices and the CC13x2x1 or CC26x2x1 devices share the same SDK which greatly simplifies the software migration process. However, there are a few key differences that must be kept in mind if one is interested in migrating from the CC13x2x1 or CC26x2x1 devices to the CC13x1x3 or CC26x1x3 devices. The following features have been removed and are not present in the CC13x1x3 or CC26x1x3 devices.

  • IEEE 754-compliant single-precision Floating Point Unit (FPU)

  • Memory Protection Unit (MPU)

  • AES 256-bit crypto accelerator

  • ECC and RSA Public Key Hardware Accelerator

  • SHA2 Accelerator

  • Sensor Controller with 4KB of SRAM

The CC13x1x3 or CC26x1x3 devices are pin compatible with the CC13x2x1 or CC26x2x1 devices but the CC13x1x3 or CC26x1x3 devices only have one UART and SSI, 32KB SRAM and 8KB cache which can be repurposed as general purpose RAM. (with parity removed) and 40 kB of ROM. These differences must be kept in mind during the migration. Before starting the migration process ensure that the CC13x1x3 or CC26x1x3 devices meet the hardware needs of your application. Refer to the datasheet of CC13x1x3 or CC26x1x3 for more information about the device.

Porting Simple Peripheral

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

  1. Choose a CC2651P3 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from CC2652R into the CC2651P3 example project.

    In this example, the following files from CC2652R were moved into Simple Peripheral CC2651P3 example:

    • simple_peripheral.c

    • simple_peripheral.h

  3. Move any profiles and services that the application is using to the CC2651P3 project.

  4. Transfer the SysConfig settings visually through the GUI.

Porting Simple Central

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

  1. Choose a CC2651P3 example project that contains your target project’s base functionality.

  2. Transfer all modified application files from CC2652R into the CC2651P3 example project.

    In this example, the following files from CC2652R were moved into Simple Central CC2651P3 example:

    • simple_central.c

    • simple_central.h

  3. Modify main.c in the CC2651P3 example if additional tasks were added in the CC2652R project.

  4. Move any profiles and services that the application is using to the CC2651P3.

  5. Transfer the SysConfig settings visually through the GUI.