Arm Cortex-M0 (Radio Core)¶
The Cortex-M0 (CM0) core within the CC13x0 is responsible for both interfacing to the radio hardware, and translating complex instructions from the Cortex-M3 (CM3) core into bits that are sent over the air using the radio. For EasyLink, the CM0 implements the PHY layer of the protocol stack. Often, the CM0 is able to operate autonomously, which frees up the CM3 for higher-level protocol and application-layer processing.
The CM3 communicates with the CM0 through a hardware interface called the RF doorbell, which is documented in the CC13x0 CC26x0 SimpleLink Wireless MCU Technical Reference Manual. The radio core firmware is not intended to be used or modified by the application developer.
Arm Cortex-M3 (System Core)¶
The system core (CM3) is designed to run the wireless protocol stack from the link layer up to the user application. The link layer interfaces to the radio core through a software module called the RF driver, which sits above the RF doorbell. The RF driver runs on the CM3 and acts as an interface to the radio on the CC13x0, and also manages the power domains of the radio hardware and core. Documentation for the RF driver can be found at the TI Driver API Reference.
Flash, RAM, and Peripherals¶
The CC13x0 contains 128KB of in-system programmable flash memory, 20KB of SRAM, and a full range of peripherals. The flash is split into erasable pages of 4KB. The CC13x0 also contains 8KB of cache SRAM that can be utilized to extend RAM capacity or can function as a normal cache to increase application performance. Other peripherals include UART, I2C, I2S, AES, TRNG, temperature and battery monitors, 4x 32-bit timers, 2x SSI, and an itegrated and autonomous sensor controller. See Sensor Controller for more information on the sensor controller.
Programming Internal Flash With the ROM Bootloader¶
The CC13x0 internal flash memory can be programmed using the bootloader located in device ROM. Both UART and SPI protocols are supported. See chapter 8 of the CC13x0 CC26x0 SimpleLink Wireless MCU Technical Reference Manual for more details on the programming protocol and requirements.
Because the ROM bootloader uses predefined DIO pins for internal flash programming, allocate these pins in the board layout. The CC13x0 CC26x0 SimpleLink Wireless MCU Technical Reference Manual has more details on the pins allocated to the bootloader based on the chip package type.
For a complete description of the CC13x0 reset sequence, see the CC13x0 CC26x0 SimpleLink Wireless MCU Technical Reference Manual.