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.
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: