Running Software Examples on the CC13x1x3 or CC26x1x3

Porting Software Examples for the CC13x1x3 or CC26x1x3

The CC13x1x3 or CC26x1x3 devices are pin compatible with their respective CC13x2x1 or CC26x2x1 devices but with only one UART and SSI, 32KB + 8KB GP cache SRAM (with parity removed), and 40 kB of ROM. The following features and peripherals have also been removed entirely:

  • 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

Note

CC13x1x3 or CC26x1x3 devices offer a software implementation of the AES, ECC, RSA, and SHA2 functions with a similar API as the one available on CC13x2x1 or CC26x2x1. Refer to the TI Drivers API Reference for additional details.

It is not possible to use the Migrating Board Variant tool to change the device types of projects using CC13x2x1 or CC26x2x1 to CC13x1x3 or CC26x1x3. Developers are strongly encouraged to import a project which contains the correct settings for their target device and port the stack application accordingly. Example projects can be found from the following location: <SDK_DIR>\\examples\\rtos\\<LaunchPad variant>\\<stack>\\<application>\\tirtos\\<ccs/iar>

Choosing LaunchPad for Development

The CC2651P3 LaunchPad is highly recommended for evaluating CC13x1x3 or CC26x1x3 solutions. As the CC2651R3 is pin compatible with CC2652R or CC2652R7 variants, either of these LaunchPad options must be considered as candidates for swapping the on-board device. Yet the CC2651R3 is functionally identical to the CC2651P3 device for non-PA operation and thus CC2651P3 software examples should be referenced after making the following changes.

  • Import a CC2651P3 project into CCS or IAR
  • Open the .syscfg file with a text editor and replace LP_CC2651P3 with LP_CC2651R3
  • Clean and build the project to confirm that no errors exist

Note

The above specifically discussed the CC2651R3, however the same instructions apply for the CC1311R3 device using the LP_CC2651P3 example projects and replacing LP_CC2651P3 with LP_CC2611R3 within the .syscfg file.

If a CC13x1x3 or CC26x1x3 hardware is not available, developers could begin evaluation using CC13x2x1 or CC26x2x1 LaunchPads and devices. However, the following should be accounted for when starting development using CC13x2x1 or CC26x2x1 projects with the intent of migrating to the CC13x1x3 or CC26x1x3:

  • RAM_SIZE defined in cc26x2lp.cmd should be reduced from 0x14000 to 0x8000 to account for the SRAM reduction. FLASH_SIZE should likewise be reduced from 0x52000 to 0x42000 since the BLE and 15.4 stacks will be moved from ROM to Flash to account for the decrease in ROM. This is a worst-case scenario as additional flash requirements range from ~28 to 63 kB based on application. FLASH_LAST_BASE should remain the same as it will still contain the CCFG and BIM (if applicable).
  • Follow all Using the Cache as RAM instructions and disable NVOCMP_GPRAM in nvocmp.c (only pertaining to projects using the multi-page NV driver). Be aware that the program will need to run at a slightly reduced speed which will increase the device power consumption in sleep as noted in the User’s Guide. This difference can be further investigated using the Power Consumption → Power Modes table in the device datasheet

Beyond these feasible software changes, it should be noted that additional radio patches are required for the CC13x1x3 or CC26x1x3 that cannot be emulated with a CC13x2x1 or CC26x2x1 device. These changes are not expected to have a significant effect on radio performance and are thus inconsequential for initial evaluations.

The on-board devices can be swapped for the desired variant since they are pin compatible. As mentioned previously, the correct example project must be selected for the specific device being used.

Using a different package variant

The CC13x1x3 or CC26x1x3 devices are available with two RoHS-compliant package variants.

  • 7-mm × 7-mm RGZ VQFN48 (31 GPIOs)
  • 5-mm × 5-mm RKP VQFN40 (23 GPIOs)

See the datasheet for all the package options and IO descriptions.

Warning

Only the 7-mm × 7-mm RGZ VQFN48 (31 GPIOs) variant of the CC13x1x3 or CC26x1x3 devices are pin compatible with their respective CC13x2x1 or CC26x2x1.

The different package variants are binary compatible as long as the software does not access a non-existing IO on the considered package. For the 5x5 package, the available IOs are between IOID_0 and IOID_22.

Moving From LaunchPad to Custom Board

You can find instructions on how to design and configure a custom board in the Custom Hardware chapter.