RA8P1 Titan
Overview
The RA8P1 Titan Board is a development board launched by RT-Thread, based on the Renesas R7KA8P1 chip featuring a dual-core architecture with Cortex-M85 and Cortex-M33. It provides engineers with a flexible and comprehensive development platform, helping developers gain deeper insights and experiences in the field of embedded IoT.
The RA8P1 MCU incorporates a high-performance Arm® Cortex®-M85 core running up to 1 GHz and Arm® Cortex®-M33 core running up to 250 MHz with the following features:
Up to 1 MB MRAM
2 MB SRAM (256 KB of CM85 TCM RAM, 128 KB CM33 TCM RAM, 1664 KB of user SRAM)
Arm® Ethos™-U55 NPU
Octal Serial Peripheral Interface (OSPI)
Layer 3 Ethernet Switch Module (ESWM), USBFS, USBHS, SD/MMC Host Interface
Graphics LCD Controller (GLCDC)
2D Drawing Engine (DRW)
MIPI DSI/CSI interface
Analog peripherals
Security and safety features
Key Features
Renesas RA8P1 MCU with 1 GHz Arm Cortex-M85, 250 MHz Arm Cortex-M33, Arm Ethos-U55 NPU, and 1 MB MRAM
64 MB NorFlash and 32 MB HyperRAM memory extension
2x Gbps Ethernet
Octal SPI, Wi-Fi, CAN FD, USBFS/HS, and SDHI
On-board IMU and magnetometer
More information about the board can be found at the RA8P1 Titan Board GitHub [1] repository and the RT-Thread RA8P1 Titan Board introduction [2].
Hardware
Detailed hardware information can be found at:
RA8P1 MCU: RA8P1 Group User’s Manual Hardware [4]
RA8P1 Titan Board: RA8P1 Titan Board GitHub [1]
Board Hardware
The RA8P1 Titan Board is designed around the Renesas R7KA8P1 MCU and exposes the RA8P1 device features through memory, networking, storage, wireless, sensor, and expansion interfaces.
MCU and Memory
Renesas R7KA8P1 MCU
Arm Cortex-M85 core running up to 1 GHz
Arm Cortex-M33 core running up to 250 MHz
Arm Ethos-U55 NPU for AI acceleration
1 MB on-chip MRAM
2 MB on-chip SRAM, including CM85 TCM, CM33 TCM, and user SRAM
64 MB external NorFlash
32 MB external HyperRAM
Connectivity and Storage
Two gigabit Ethernet interfaces
Wi-Fi module
CAN FD interface
USB Full-Speed and USB High-Speed interfaces
SDHI interface
Octal SPI interface
Sensors and Expansion
On-board IMU
On-board magnetometer
Board interfaces for networking, storage, wireless, and expansion
Supported Features
The ra8p1_titan board supports the hardware features listed below.
- on-chip / on-board
- Feature integrated in the SoC / present on the board.
- 2 / 2
-
Number of instances that are enabled / disabled.
Click on the label to see the first instance of this feature in the board/SoC DTS files. -
vnd,foo -
Compatible string for the Devicetree binding matching the feature.
Click on the link to view the binding documentation.
ra8p1_titan/r7ka8p1kflcac/cm33 target
On-target memory for this board target: 640 KiB of RAM, 256 KiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M33 CPU1 |
|
ARM architecture |
on-chip |
Renesas RA frontend of Arm Ethos-U NPU1 |
|
Clock control |
on-chip |
Renesas RA Clock Generation Circuit external clock configuration1 |
|
on-chip |
Generic fixed-rate clock provider4 |
||
on-chip |
Renesas RA Sub-Clock1 |
||
on-chip |
Renesas RA Clock Generation Circuit PLL Clock2 |
||
on-chip |
Renesas RA Clock Generation Circuit PLL Clock out line6 |
||
on-chip |
Renesas RA Clock Control node pclk block1 |
||
on-chip |
|||
on-chip |
Renesas RA External Bus Clock1 |
||
Comparator |
on-chip |
Renesas RA ACMPHS (High-Speed Analog COMParator) Global1 |
|
on-chip |
Renesas RA ACMPHS (High-Speed Analog COMParator) Controller4 |
||
on-chip |
Renesas RA LVD (Low-voltage detection) Controller4 |
||
Counter |
on-chip |
Renesas RA AGT as Counter2 |
|
CRC |
on-chip |
Renesas RA CRC device1 |
|
Display |
on-chip |
Renesas Graphic LCD controller1 |
|
DMA |
on-chip |
Renesas RA DMA Controller1 |
|
Ethernet |
on-chip |
Renesas RA Ethernet MAC Controller1 |
|
on-chip |
Renesas RA Ethernet MAC Controller2 |
||
on-chip |
Renesas RA External MDIO controller2 |
||
Flash controller |
on-chip |
Renesas RA flash MRAM controller1 |
|
GPIO & Headers |
on-chip |
||
I2C |
on-chip |
||
on-chip |
Renesas RA SCI-B I2C controller10 |
||
I2S |
on-chip |
Renesas RA I2S controller2 |
|
I3C |
on-chip |
Renesas RA I3C controller1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Mailbox |
on-chip |
Renesas IPC MBOX2 |
|
Memory controller |
on-chip |
Renesas RA SDRAM controller1 |
|
MIPI-DSI |
on-chip |
Renesas RA MIPI DSI host1 |
|
Miscellaneous |
on-chip |
||
on-chip |
Renesas RA AGT2 |
||
on-chip |
Renesas RA ULPT2 |
||
on-chip |
|||
on-chip |
Renesas RA DRW1 |
||
MMU / MPU |
on-chip |
ARMv8-M MPU (Memory Protection Unit)1 |
|
MTD |
on-chip |
MRAM memory of Renesas RA family2 |
|
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP1 |
|
on-chip |
Renesas RA USBHS internal PHY controller1 |
||
Pin control |
on-chip |
Renesas RA Pin Controller1 |
|
Power management |
on-chip |
Renesas RA battery backup domain1 |
|
PWM |
on-chip |
Renesas RA Pulse Width Modulation14 |
|
RNG |
on-chip |
Renesas RA RSIP-E51A TRNG1 |
|
RTC |
on-chip |
Renesas RA RTC1 |
|
SDHC |
on-chip |
Renesas RA SDHC2 |
|
Sensors |
on-board |
iSentek ist8310 Geomagnetic sensor1 |
|
Serial controller |
on-chip |
||
SPI |
on-chip |
Renesas RA SCI B SPI10 |
|
on-chip |
Renesas RA8 SPI_B controller2 |
||
SRAM |
on-chip |
Generic on-chip SRAM2 |
|
Timer |
on-chip |
ARMv8-M System Tick1 |
|
on-chip |
Renesas RA ULPT TIMER2 |
||
USB |
on-chip |
Renesas RA USB full-speed controller1 |
|
on-chip |
Renesas RA USB device controller2 |
||
on-chip |
Renesas RA USB high-speed controller1 |
||
Video |
on-chip |
Renesas RA Capture Engine Unit Driver (ceu)1 |
|
Watchdog |
on-chip |
Renesas RA Watchdog (wdt)1 |
ra8p1_titan/r7ka8p1kflcac/cm85 target
On-target memory for this board target: 1 MiB of RAM, 768 KiB of Flash.
Type |
Location |
Description |
Compatible |
|---|---|---|---|
CPU |
on-chip |
ARM Cortex-M85 CPU1 |
|
ARM architecture |
on-chip |
Renesas RA frontend of Arm Ethos-U NPU1 |
|
CAN |
on-chip |
Renesas RA CANFD controller global1 |
|
on-chip |
Renesas RA CANFD controller2 |
||
Clock control |
on-chip |
Renesas RA Clock Generation Circuit external clock configuration1 |
|
on-chip |
Generic fixed-rate clock provider4 |
||
on-chip |
Renesas RA Sub-Clock1 |
||
on-chip |
Renesas RA Clock Generation Circuit PLL Clock2 |
||
on-chip |
Renesas RA Clock Generation Circuit PLL Clock out line6 |
||
on-chip |
Renesas RA Clock Control node pclk block1 |
||
on-chip |
|||
on-chip |
Renesas RA External Bus Clock1 |
||
Comparator |
on-chip |
Renesas RA ACMPHS (High-Speed Analog COMParator) Global1 |
|
on-chip |
Renesas RA ACMPHS (High-Speed Analog COMParator) Controller4 |
||
on-chip |
Renesas RA LVD (Low-voltage detection) Controller4 |
||
Counter |
on-chip |
Renesas RA AGT as Counter2 |
|
CRC |
on-chip |
Renesas RA CRC device1 |
|
Display |
on-chip |
Renesas Graphic LCD controller1 |
|
DMA |
on-chip |
Renesas RA DMA Controller1 |
|
Ethernet |
on-chip |
Renesas RA Ethernet MAC Controller1 |
|
on-chip |
Renesas RA Ethernet MAC Controller2 |
||
on-chip |
Renesas RA External MDIO controller2 |
||
on-board |
Realtek RTL8211F Ethernet PHY device2 |
||
Flash controller |
on-chip |
Renesas RA flash MRAM controller1 |
|
GPIO & Headers |
on-chip |
||
I2C |
on-chip |
||
on-chip |
Renesas RA SCI-B I2C controller10 |
||
I2S |
on-chip |
Renesas RA I2S controller2 |
|
I3C |
on-chip |
Renesas RA I3C controller1 |
|
Input |
on-board |
Group of GPIO-bound input keys1 |
|
Interrupt controller |
on-chip |
ARMv8.1-M NVIC (Nested Vectored Interrupt Controller)1 |
|
LED |
on-board |
Group of GPIO-controlled LEDs1 |
|
Mailbox |
on-chip |
Renesas IPC MBOX2 |
|
Memory controller |
on-chip |
Renesas RA SDRAM controller1 |
|
MIPI-DSI |
on-chip |
Renesas RA MIPI DSI host1 |
|
Miscellaneous |
on-chip |
||
on-chip |
Renesas RA AGT2 |
||
on-chip |
Renesas RA ULPT2 |
||
on-chip |
|||
on-chip |
Renesas RA DRW1 |
||
MMU / MPU |
on-chip |
ARMv8.1-M MPU (Memory Protection Unit)1 |
|
MTD |
on-chip |
MRAM memory of Renesas RA family2 |
|
PHY |
on-chip |
This binding is to be used by all the usb transceivers which are built-in with USB IP1 |
|
on-chip |
Renesas RA USBHS internal PHY controller1 |
||
Pin control |
on-chip |
Renesas RA Pin Controller1 |
|
Power management |
on-chip |
Renesas RA battery backup domain1 |
|
PWM |
on-chip |
Renesas RA Pulse Width Modulation14 |
|
RNG |
on-chip |
Renesas RA RSIP-E51A TRNG1 |
|
RTC |
on-chip |
Renesas RA RTC1 |
|
SDHC |
on-chip |
||
Sensors |
on-board |
iSentek ist8310 Geomagnetic sensor1 |
|
on-board |
BMI08X Accel inertial measurement unit1 |
||
on-board |
BMI08X Gyro inertial measurement unit1 |
||
Serial controller |
on-chip |
||
SPI |
on-chip |
Renesas RA SCI B SPI10 |
|
on-chip |
|||
SRAM |
on-chip |
Generic on-chip SRAM2 |
|
Timer |
on-chip |
ARMv8.1-M System Tick1 |
|
on-chip |
Renesas RA ULPT TIMER2 |
||
USB |
on-chip |
Renesas RA USB full-speed controller1 |
|
on-chip |
|||
on-chip |
Renesas RA USB high-speed controller1 |
||
Video |
on-chip |
Renesas RA Capture Engine Unit Driver (ceu)1 |
|
Watchdog |
on-chip |
Renesas RA Watchdog (wdt)1 |
Dual Core Operation
The RA8P1 Titan Board supports dual core operation with both the Cortex-M85 (CPU0) and Cortex-M33 (CPU1) cores. By default, the CM85 core is the boot core and is responsible for initializing the system and starting the CM33 core.
Memory Usage
By default, MRAM (Flash) and SRAM are split evenly between the two cores. Users can manually change the address and size for MRAM (Flash) and SRAM with the following nodes:
CPU0: &code_mram_cm85, &sram0
CPU1: &code_mram_cm33, &sram1
Note
MRAM usable range: 0x0200_0000 … 0x0210_0000 (1 MB)
SRAM usable range: 0x2200_0000 … 0x221A_0000 (1664 KB)
Dual Core Flashing
When flashing or debugging dual-core samples,
CONFIG_SOC_RA_ENABLE_START_SECOND_CORE must be selected
for the CM85 image.
The CM85 core is responsible for starting the CM33 core in
soc_late_init_hook.
Programming and Debugging
The ra8p1_titan board supports the runners and associated west commands listed below.
| flash | debug | debugserver | reset | rtt | attach | |
|---|---|---|---|---|---|---|
| jlink | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| pyocd | ✅ (default) | ✅ (default) | ✅ | ✅ | ✅ |
Applications for the ra8p1_titan board configuration can be built, flashed,
and debugged in the usual way. See Building an Application and
Run an Application for more details on building and running.
Serial Console
The CM85 board target uses UART5 for the Zephyr console and shell. The CM33 board target uses UART6. These console UARTs are available on the external UART interface pins and are not connected to the on-board DAP-Link virtual COM port.
The DAP-Link virtual COM port is wired to a different UART on this board. That UART is also used by the Wi-Fi/Bluetooth module UART HCI interface, so it is not the default Zephyr log console for either core. Use an external USB-to-UART adapter connected to the UART5 or UART6 pins when reading Zephyr logs.
Here is an example for the Hello World application on the CM85 core.
# From the root of the zephyr repository
west build -b ra8p1_titan/r7ka8p1kflcac/cm85 samples/hello_world
west flash
Open a serial terminal, reset the board, and you should see the following message in the terminal:
***** Booting Zephyr OS v4.2.0-xxx-xxxxxxxxxxxxx *****
Hello World! ra8p1_titan/r7ka8p1kflcac/cm85
For the CM33 core, use the --sysbuild flow to build a minimal first-core
launcher image that starts the CM33 core.
# From the root of the zephyr repository
west build -b ra8p1_titan/r7ka8p1kflcac/cm33 --sysbuild samples/hello_world
west flash
Flashing
Programs can be flashed to the RA8P1 Titan Board using the configured Zephyr runner.
To flash a program to the board:
Connect the board debug port to the host PC.
Execute the west command:
west flash
MCUboot Bootloader
Sysbuild can build and flash all images needed to bootstrap the board.
To build the sample application using sysbuild:
# From the root of the zephyr repository
west build -b ra8p1_titan/r7ka8p1kflcac/cm85 --sysbuild samples/hello_world -- -DSB_CONFIG_BOOTLOADER_MCUBOOT=y
west flash
By default, sysbuild creates MCUboot and user application images.
The build directory structure created by sysbuild is different from a traditional Zephyr build. Output is structured by domain subdirectories:
build/
|-- hello_world
| `-- zephyr
| |-- zephyr.elf
| |-- zephyr.hex
| |-- zephyr.bin
| |-- zephyr.signed.bin
| `-- zephyr.signed.hex
|-- mcuboot
| `-- zephyr
| |-- zephyr.elf
| |-- zephyr.hex
| `-- zephyr.bin
`-- domains.yaml
Note
With the --sysbuild option, MCUboot is rebuilt and reflashed every time a
pristine build is used.
To flash only the user application in subsequent builds, use:
west flash --domain hello_world
For more information about system build, see the Sysbuild (System build) documentation.
You should see the following message in the terminal:
*** Booting MCUboot v2.2.0-171-g8513be710e5e ***
*** Using Zephyr OS build v4.2.0-6156-ged85ac9ffda9 ***
I: Starting bootloader
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
I: Primary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Secondary image: magic=unset, swap_type=0x1, copy_done=0x3, image_ok=0x3
I: Boot source: none
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
I: Image index: 0, Swap type: none
I: Bootloader chainload address offset: 0x10000
I: Image version: v0.0.0
I: Jumping to the first image slot
*** Booting Zephyr OS build v4.2.0-6156-ged85ac9ffda9 ***
Hello World! ra8p1_titan/r7ka8p1kflcac/cm85