Hardware Architecture

The CC23xx Family

Arm Cortex-M0+ (Device Core)

The device core (CM0+) is designed to run the wireless protocol stack from the radio layer up to the user application. By only using one core for the solution, the CC23xx family is optimized for both cost and power.

Flash, RAM, and Peripherals

Depending on the model, devices in the CC23xx family contain between 256 kB-512 kB of in-system programmable flash memory and 28 kB-36 kB of SRAM. See the table below for a breakdown each device. The CC23xx also hosts a full range of peripherals including UART, I2C, AES, RNG, temperature and battery monitors, timers, and 1 SSI.

Note

Within the SDK and related software tools, the CC2340R2 refers to the CC2340R2(1) device and the CC2340R5 refers to the CC2340R5(2) device. The precise device names are used in the following table.

Table 4. Flash and SRAM size for CC23xx devices

CC2340R21

CC2340R22

CC2340R5

CC2340R5-Q1

Flash

256 kB

256 kB

512 kB

512 kB

SRAM

28 kB

36 kB

36 kB

36 kB

Programming Internal Flash With the ROM Bootloader

The CC23xx internal flash memory can be programmed using the bootloader located in device ROM. Both UART and SPI protocols are supported. See the CC23xx SimpleLink Wireless MCU Technical Reference Manual for more details on the programming protocol and requirements.

Note

Because the ROM bootloader uses predefined DIO pins for internal flash programming, allocate these pins in the board layout. The CC23xx SimpleLink Wireless MCU Technical Reference Manual has more details on the pins allocated to the bootloader based on the chip package type.

Startup Sequence

For a complete description of the CC23xx reset sequence, see the CC23xx SimpleLink Wireless MCU Technical Reference Manual.

Resets

Note

Reset on the CC23xx may only be done by using hard resets. A hard reset turns off and on the device, resetting all the registers and memory. On the other hand, a soft reset restarts the microcontroller without losing RAM content.

From the software, this reset can be accomplished using Power_reset() function call from the Power Manager driver (Power.h). For more information, please review TI Drivers API Reference section.

// Import Power Driver definitions.
#include <ti/drivers/Power.h>

// Resets the system and causes it to reboot.
Power_reset();

In CCS, select Board Reset (automatic) from the reset menu:

../_images/fig-board-reset.png

Figure 38. Board Reset