Zephyr 支持 RA8P1 Titan 开发板全解析:双核 Cortex-M85/M33 架构、构建烧录与 MCUboot 启动流程

发布时间:2026/9/21 16:18:08
Zephyr 支持 RA8P1 Titan 开发板全解析:双核 Cortex-M85/M33 架构、构建烧录与 MCUboot 启动流程 操作系统嵌入式RTOS物联网【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址https://gitcode.com/GitHub_Trending/ze/zephyr点击查看免费下载RA8P1 Titan 是 RT-Thread 推出的基于 Renesas R7KA8P1 芯片的双核开发板在 Zephyr 中通过ra8p1_titan板级配置获得完整支持。本文以 Zephyr 仓库中的板级文档 boards/ruiside/ra8p1_titan/doc/index.rst 为核心结合设备树、Kconfig 与 SOC 层源码系统讲解该开发板的硬件资源、双核运行机制、串口控制台配置、双核烧录方式以及基于 sysbuild 的 MCUboot 引导流程帮助开发者在 Zephyr 环境中快速上手 RA8P1 Titan。开发板概览RA8P1 Titan Board 是 RT-Thread 发布的一款嵌入式 IoT 开发板基于 Renesas R7KA8P1 MCU采用 Cortex-M85 与 Cortex-M33 双核架构为开发者提供了灵活而全面的开发平台。在 Zephyr 中该板由板级定义 boards/ruiside/ra8p1_titan/board.yml 声明厂商vendor为ruiside对应 SoC 为r7ka8p1kflcac共提供cm85与cm33两个板级目标。核心规格RA8P1 MCU 集成一颗最高 1 GHz 的 Arm Cortex-M85 核与一颗最高 250 MHz 的 Arm Cortex-M33 核并具备以下特性最高 1 MB 片上 MRAM2 MB 片上 SRAM256 KB CM85 TCM RAM、128 KB CM33 TCM RAM、1664 KB 用户 SRAMArm Ethos-U55 NPUAI 加速Octal SPI 接口OSPI三层以太网交换模块ESWM、USBFS、USBHS、SD/MMC 主机接口图形 LCD 控制器GLCDC2D 绘图引擎DRWMIPI DSI/CSI 接口模拟外设安全与功能安全特性关键特性一览Renesas RA8P1 MCU1 GHz Cortex-M85 250 MHz Cortex-M33 Arm Ethos-U55 NPU 1 MB MRAM64 MB NorFlash 与 32 MB HyperRAM 外部存储扩展2 路千兆以太网Octal SPI、Wi-Fi、CAN FD、USBFS/HS 与 SDHI板载 IMU 与磁力计Zephyr 板级支持结构在 Zephyr 仓库中RA8P1 Titan 的板级支持位于 boards/ruiside/ra8p1_titan主要文件包括文件作用board.yml声明板名ra8p1_titan、厂商ruiside与 SoCr7ka8p1kflcacra8p1_titan_r7ka8p1kflcac_cm85.dtsCM85CPU0目标的设备树ra8p1_titan_r7ka8p1kflcac_cm33.dtsCM33CPU1目标的设备树ra8p1_titan.dtsi两核共享的板级设备树片段ra8p1_titan-pinctrl.dtsi引脚复用配置ra8p1_titan_r7ka8p1kflcac_cm85_defconfigCM85 默认 Kconfigra8p1_titan_r7ka8p1kflcac_cm33_defconfigCM33 默认 Kconfigboard.cmake烧录器runner参数配置从两个目标的 YAML 描述cm85 YAML、cm33 YAML可以看到该板在 Zephyr 中声明支持的外设包括GPIO、UART、SPI、SDHC、USBDUSB 设备以及netif:eth以太网接口CM85 目标可用 RAM 为 1664 KB、可用 FlashMRAM为 344 KB工具链支持 Zephyr SDK 自带的zephyr与gnuarmemb。两核共享的默认 Kconfigra8p1_titan_r7ka8p1kflcac_cm85_defconfig主要开启CONFIG_GPIOy CONFIG_SERIALy CONFIG_UART_CONSOLEy CONFIG_UART_INTERRUPT_DRIVENy CONFIG_CONSOLEy此外板级 Kconfig 片段 Kconfig.defconfig 为 SDMMC 磁盘驱动设置了SD_CMD_TIMEOUT默认 1000默认使能ETH_DRIVER并在启用以太网 PHY 驱动时自动开启CLOCK_CONTROL_FIXED_RATE_CLOCK——这是因为该板 PHY 芯片使用外部 XTAL 作为时钟源需要通过固定时钟节点phyxtal25 MHz为 PHY 提供参考时钟见 ra8p1_titan.dtsi。板载硬件与外设映射MCU 与存储Renesas R7KA8P1 MCUArm Cortex-M85 核最高 1 GHzArm Cortex-M33 核最高 250 MHzArm Ethos-U55 NPU用于 AI 加速1 MB 片上 MRAM2 MB 片上 SRAM含 CM85 TCM、CM33 TCM 与用户 SRAM64 MB 外部 NorFlash32 MB 外部 HyperRAM设备树 ra8p1_titan.dtsi 中还声明了 64 MB 的 SDRAM 内存区域sdram1地址0x68000000并配置了完整的 SDRAM 控制器时序参数包括自动刷新间隔、预充电周期、32 位总线宽度与小端模式。连接与存储接口两路千兆以太网接口eth0/eth1各挂接一颗 Realtek RTL8211F PHY采用 RGMII 连接见 CM85 设备树Wi-Fi 模块CAN FD 接口USB Full-Speed 与 USB High-Speed 接口usbfs/usbhsra8p1_titan.dtsi 中配置了maximum-speed与phys-clock-src xtalSDHI 接口sdhc0挂载zephyr,sdmmc-disk磁盘盘名为SDOctal SPI 接口传感器与扩展从设备树可以看到板载传感器映射BMI088 IMU通过 SPI0 挂载加速度计bmi088-accel010 MHz SPI 速率与陀螺仪bmi088-gyro1各占一个片选cs-gpios分别对应ioport6 12与ioport3 0IST8310 磁力计通过 IIC2 挂载I2C 地址0x0e标准速率板级 LED红led_red/ 绿led_green/ 蓝led_blue均为低电平有效与用户按键user_button映射到INPUT_KEY_0网络、存储、无线与扩展接口在 CM85 目标中aliases将led0、sw0、sdhc0分别指向红色 LED、用户按键与 SD 主机控制器CM33 目标则将led0指向绿色 LED。两核的设备树都使能了 TRNGzephyr,entropy、ULPT 低功耗定时器与 IIC2 磁力计。双核运行机制启动流程RA8P1 Titan 支持 Cortex-M85CPU0与 Cortex-M33CPU1双核运行。默认情况下CM85 核是启动核boot core负责初始化系统并启动 CM33 核。这一机制在 SOC 层实现。查看 soc/renesas/ra/common/soc.c 的soc_late_init_hook()void soc_late_init_hook(void) { #ifdef CONFIG_SOC_RA_ENABLE_START_SECOND_CORE R_BSP_SecondaryCoreStart(); #endif /* CONFIG_SOC_RA_ENABLE_START_SECOND_CORE */ }当 CM85 镜像使能CONFIG_SOC_RA_ENABLE_START_SECOND_CORE时系统初始化后期会调用 Renesas BSP 的R_BSP_SecondaryCoreStart()来启动 CM33 核。因此在烧录或调试双核示例时CM85 镜像必须开启CONFIG_SOC_RA_ENABLE_START_SECOND_CORE由 CM85 在soc_late_init_hook中负责拉起 CM33 核。内存划分默认情况下MRAMFlash与 SRAM 在两个核之间均分。用户可以通过以下设备树节点手动修改 MRAMFlash与 SRAM 的地址和大小CPU0CM85code_mram_cm85、sram0CPU1CM33code_mram_cm33、sram1需要注意的可用地址范围资源可用范围大小MRAM0x0200_0000 ... 0x0210_00001 MBSRAM0x2200_0000 ... 0x221A_00001664 KBCM85 目标在 ra8p1_titan_r7ka8p1kflcac_cm85.dts 的chosen节点中声明zephyr,sram sram0、zephyr,flash code_mram_cm85CM33 目标则对应sram1与code_mram_cm33两者的 flash 控制器均为mram_ctrl。CM85 的 MRAM 中预定义了 MCUboot 分区见下文 MCUboot 一节分区标签地址大小boot_partitionmcuboot0x064 KBslot0_partitionimage-00x10000344 KBslot1_partitionimage-10x66000344 KBstorage_partitionstorage0xbc00016 KBCM85 目标 YAML 中报告的flash: 344与ram: 1664正是slot0_partition大小与用户 SRAM 大小的体现。构建、烧录与调试ra8p1_titan板配置下的应用可以按 Zephyr 常规方式构建、烧录与调试。串口控制台串口控制台的分配是本板的一个关键注意点CM85 目标使用UART5作为 Zephyr 控制台与 shell设备树中zephyr,console uart5、zephyr,shell-uart uart5波特率 115200CM33 目标使用UART6zephyr,console uart6波特率 115200这两个控制台 UART 均引出到板上的外部 UART 接口引脚没有连接到板载 DAP-Link 虚拟串口。DAP-Link 的虚拟 COM 口接到了板上的另一路 UART而该 UART 同时被 Wi-Fi/Bluetooth 模块的 UART HCI 接口占用因此不是任一核的默认 Zephyr 日志控制台。读取 Zephyr 日志时需要使用外接 USB 转 UART 适配器连接到 UART5 或 UART6 引脚。CM85 核运行 hello_world以 CM85 核运行hello_world示例为例west build -b ra8p1_titan/r7ka8p1kflcac/cm85 samples/hello_world west flash打开串口终端并复位开发板应看到以下输出***** Booting Zephyr OS v4.2.0-xxx-xxxxxxxxxxxxx ***** Hello World! ra8p1_titan/r7ka8p1kflcac/cm85CM33 核运行 hello_world对于 CM33 核需要使用--sysbuild流程来构建一个极简的“首核启动器”first-core launcher镜像由 CM85 核负责启动 CM33 核west build -b ra8p1_titan/r7ka8p1kflcac/cm33 samples/hello_world --sysbuild west flash烧录方式程序可以通过 Zephyr 配置的 runner 烧录到开发板将开发板的调试端口连接到主机 PC执行west flash从 board.cmake 可以看到烧录后端配置if(CONFIG_SOC_R7KA8P1KFLCAC_CM85) board_runner_args(jlink --deviceR7KA8P1KF_CPU0 --reset-after-load) else() board_runner_args(jlink --deviceR7KA8P1KF_CPU1) endif() board_runner_args(pyocd --targetR7KA8P1KF) include(${ZEPHYR_BASE}/boards/common/pyocd.board.cmake) include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)即同时支持J-Link与pyOCD两种 runnerJ-Link 会根据当前目标自动选择R7KA8P1KF_CPU0CM85并带--reset-after-load或R7KA8P1KF_CPU1CM33设备pyOCD 统一使用--targetR7KA8P1KF。基于 sysbuild 的 MCUboot 引导构建带引导的镜像sysbuild 可以构建并烧录启动开发板所需的全部镜像。以 CM85 核为例构建并烧录带 MCUboot 的应用west build -b ra8p1_titan/r7ka8p1kflcac/cm85 samples/hello_world --sysbuild -DSB_CONFIG_BOOTLOADER_MCUBOOTy west flash默认情况下sysbuild 会生成MCUboot与应用镜像两个映像。sysbuild 构建目录结构使用--sysbuild后的构建目录结构与普通 Zephyr 构建不同输出按域domain子目录组织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注意使用--sysbuild时每次进行 pristine全新构建都会重新构建并重新烧录 MCUboot。仅烧录应用镜像在后续增量构建中如果只想烧录用户应用可以指定域west flash --domain hello_world启动日志烧录并复位后串口终端应出现以下 MCUboot 引导日志*** 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: magicunset, swap_type0x1, copy_done0x3, image_ok0x3 I: Secondary image: magicunset, swap_type0x1, copy_done0x3, image_ok0x3 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这段日志与 CM85 设备树中的分区布局完全对应MCUboot 位于0x0起的 64 KB 分区应用位于slot0_partition0x10000起引导器链加载chainload地址偏移0x10000正是 slot0 的起始地址。小结与参考RA8P1 Titan 在 Zephyr 中提供了完整的双核支持CM85 作为启动核通过CONFIG_SOC_RA_ENABLE_START_SECOND_CORE与soc_late_init_hook启动 CM33 核两核分别通过code_mram_cm85/sram0与code_mram_cm33/sram1划分 MRAM 与 SRAM日志控制台分别位于 UART5CM85与 UART6CM33需外接 USB 转 UART 适配器读取烧录支持 J-Link 与 pyOCD并通过 sysbuild MCUboot 实现带引导的镜像构建与分域烧录。如需进一步深入可继续阅读以下仓库文件板级文档boards/ruiside/ra8p1_titan/doc/index.rst共享设备树boards/ruiside/ra8p1_titan/ra8p1_titan.dtsiCM85 设备树boards/ruiside/ra8p1_titan/ra8p1_titan_r7ka8p1kflcac_cm85.dtsCM33 设备树boards/ruiside/ra8p1_titan/ra8p1_titan_r7ka8p1kflcac_cm33.dts双核启动 SOC 实现soc/renesas/ra/common/soc.c烧录器配置boards/ruiside/ra8p1_titan/board.cmake赞分享操作系统嵌入式RTOS物联网【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址https://gitcode.com/GitHub_Trending/ze/zephyr点击查看免费下载相关推荐Zephyr RTOS 在 Renesas EK-RA8P1 上的移植指南双核Cortex-M85/M33开发板配置、烧录与 MCUboot 启动实战Zephyr RTOS 在 Renesas EK RA8P1 上的移植指南双核Cortex M85/M33开发板配置、烧录与 MCUboot 启动实战 E操作系统嵌入式RTOS物联网Zephyr 双核开发实战Renesas EK-RA8M2 评估板Cortex-M85 Cortex-M33构建、烧录与 MCUboot 指南Zephyr 双核开发实战Renesas EK RA8M2 评估板Cortex M85 Cortex M33构建、烧录与 MCUboot 指南 EK操作系统嵌入式RTOS物联网Zephyr 双核移植实战Renesas RA8P1 Titan Mini 开发板Cortex-M85 Cortex-M33使用指南Zephyr 双核移植实战Renesas RA8P1 Titan Mini 开发板Cortex M85 Cortex M33使用指南 本指南围绕 Ze操作系统嵌入式RTOS物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询