前言
本文基于先楫 HPM6E80规格手册,基于芯片系统框图和芯片片内全部存储资源分层拆解芯片从内核、总线、存储到外设的完整工作机制以及外挂 NOR Flash 两套上电执行逻辑、XIP 原地执行、等核心知识点,明确区分「全部代码拷贝至 SRAM 运行」「XIP 原地执行」两种启动方式,并结合 HPM6E80 给出选型判断标准,适合工业 RISC-V MCU 开发者收藏。
一、HPM6E80 片上内置存储完整拆解




HPM6E80 所有片内存储全部集成芯片硅片,无需外接器件,分为高速 CPU 本地内存、通用 SRAM、非易失安全存储三大类。
1. CPU 配套高速存储(L1 Cache、ILM/DLM)
- L1 一级缓存
- I-Cache(指令缓存):32KB
- D-Cache(数据缓存):32KB
- 作用:弥合 CPU 与内存速度差,自动缓存高频指令、数据,提升整体运行效率。
- ILM/DLM 本地存储器
- ILM(指令本地存储):单核 256KB,双核共 512KB
- DLM(数据本地存储):单核 256KB,双核共 512KB
- 特性:开发者可直接管控地址空间,无缓存一致性问题,访问延迟固定,专门适配电机、DSP 硬实时控制场景。
2. 片上总 SRAM(合计 2080KB)
总容量 2080KB,包含 Cache、ILM/DLM 与通用内存区域:
- 高速专用内存(Cache+ILM+DLM):576KB
- 通用 SRAM 剩余:1504KB
- 核心特性:片内 AXI/AHB 总线直连 CPU,读写速度极快;易失存储,断电数据全部丢失;程序运行主内存,存放全局变量、堆栈、RTOS 任务栈、各类外设 DMA 缓冲区。
3. 非易失片内存储(断电数据不丢失)
- 128KB BOOT ROM 出厂一次性固化只读固件,用户无法擦写修改。上电 CPU 第一时间跳转此处执行,内置 XPI 总线驱动、NOR Flash 读写、ISP 串口 / USB 烧录全套底层逻辑,同时支持两种程序上电执行方案。
- 4096bit OTP(512 字节) 一次性可编程存储,仅能写入一次,用于存储芯片唯一 UID、加密密钥、出厂校准参数、安全配置;容量极小,无法存放业务代码。
片上存储总览表
表格
| 存储类型 | 容量 | 易失性 | 核心用途 |
|---|---|---|---|
| L1 I/D Cache | 各 32KB | 易失 | CPU 自动缓存高频指令、数据 |
| ILM/DLM | 单核各 256KB | 易失 | 电机、DSP 硬实时代码专属高速内存 |
| 通用片上 SRAM | 1504KB | 易失 | 全局变量、堆栈、以太网 / 音频缓冲区 |
| BOOT ROM | 128KB | 非易失 | 固化启动逻辑、NOR 读写、ISP 烧录驱动 |
| OTP | 512 字节 | 非易失 | 芯片密钥、唯一 ID、出厂校准参数 |
二、基础前提:HPM6E80 必须外接 NOR Flash
HPM6E80 型号后缀数字为 0,芯片内部无用户可擦写片上 Flash:
- 片上 SRAM 断电清空,仅能临时调试运行;
- BOOT ROM 只读、OTP 仅 512 字节,均无法永久存储固件;
- 硬件必须通过 XPI 总线外挂 SPI NOR Flash,作为程序永久存储介质,所有编译后的业务代码均烧录到 NOR 中。
芯片上电后,BOOT ROM 提供两套独立程序执行逻辑,工程编译配置决定最终使用哪一套:
- 逻辑 1:上电将 NOR 内全部代码、常量拷贝至片上 SRAM,CPU 全程仅在 SRAM 执行;
- 逻辑 2:开启 XIP 原地执行,只读代码保留在 NOR,仅将运行变量、实时代码拷贝至 SRAM,CPU 直接从 NOR 取指。
三、两套执行逻辑详解 + HPM6E80 选型标准
逻辑 1:完整代码拷贝至片上 SRAM 运行
1. 完整上电流程
- 上电复位,CPU 进入 BOOT ROM 执行;
- BOOT 初始化 XPI 外设,读取外挂 NOR Flash 内完整固件镜像;
- 将全部代码、常量、初始化数据一次性拷贝到 2080KB 片上 SRAM;
- 拷贝完成,CPU 跳转 SRAM 程序入口,全程不再读取 NOR 指令,仅运行片内内存。
2. 适用条件
编译后整个固件 bin 总大小 ≤ 2080KB(2MB),小型简易项目:单轴伺服、少量 CAN / 串口、简单采集设备。
3. 优缺点
- 优点:全程片内高速运行,无外部 SPI 总线延迟,电机、中断实时性拉满;
- 缺点:固件受 2MB 容量限制,复杂多轴、千兆网工程无法使用。
4. HPM6E80 使用说明
如果你的工程编译后 bin 文件小于 2MB,可配置为 RAM 拷贝启动,整套代码上电全载入 SRAM 运行,是小型工业设备最优实时方案。
逻辑 2:XIP 原地执行(代码直接在 NOR 运行)
1. XIP 定义
XIP(eXecute In Place,原地执行),XPI 控制器把 NOR Flash 直接映射 CPU 地址空间0x80000000,无需拷贝全部代码,CPU 可直接从外挂 NOR 读取指令运行。
2. 完整上电流程
- 上电 BOOT ROM 初始化 XPI,识别 NOR 内 XIP 格式固件;
- 仅拷贝运行可变资源到片上 SRAM:全局变量.data/.bss、堆栈、中断服务函数、电机高频算法、DMA 缓冲区;
- 只读代码、常量、字库、表格全部留在 NOR Flash,CPU 直接访问 NOR 取指执行。
3. 适用条件
编译固件 bin 总大小 > 2080KB(2MB),大型复杂项目:多轴 EtherCAT、千兆 TSN 以太网、多路音频、4096 点 FFT、多线程 TCP 设备。
4. 关键说明:开启 XIP 后 SRAM 不会闲置
XIP 仅存放只读代码,所有运行中需要修改、低延迟资源全部占用 SRAM:全局变量、函数局部栈、动态堆、通讯报文缓存、中断闭环代码,SRAM 长期高占用,不会空闲。
5. 优缺点
- 优点:突破 2MB SRAM 容量限制,支持大容量固件,工程拓展性强;
- 缺点:外部 SPI 读取存在延迟,非核心代码运行速度低于纯 SRAM 方案,实时闭环代码需手动指定载入 SRAM。
6. HPM6E80 使用说明
你的工程代码超过 2MB,必须使用逻辑 2 XIP 原地执行;也是官方 EVK 开发板默认配置方案,适配绝大多数复杂工业项目。
四、HPM6E80 快速选型判断(直接对照)
- 编译固件 bin ≤ 2MB → 逻辑 1:上电全拷贝至片上 SRAM 运行;
- 编译固件 bin > 2MB → 逻辑 2:XIP 原地执行,代码存 NOR 直接运行。
五、顶层整体架构分层(从上到下运行层级)

芯片按数据通路分为核心运算层 → 高速 AXI 系统总线层 → 中低速 AHB/APB 外设总线层 → 多电源域分区四级架构,数据按层级流转,高速资源走 AXI 总线保证实时性,外设资源走 AHB/APB 降低总线冲突。
1. 核心运算层:双核 RISC-V 子系统(CPU0+CPU1)
- 双核独立架构:CPU0、CPU1 各自配备ILM 指令本地存储器 256KB + DLM 数据本地存储器 256KB、独立 FGPIO、PLC/PLCSW、多通道定时器,双核可并行跑业务,也可一核做实时控制、一核跑通讯协议。
- ILM/DLM 作用:直连 CPU 内核、不占用共享总线带宽,电机闭环、中断等高实时代码优先放这里,延迟最低,和之前逻辑 1「代码载入 SRAM 高速运行」的底层硬件支撑完全对应。
六、高速 AXI 系统总线:芯片高速数据主干道
双核、高速外设、大容量存储全部挂载在AXI 系统总线,是芯片性能核心通道,挂载关键模块:
(1)高速通讯与运算外设
ENET千兆网口、USB、TSW交换单元、XDMA、FFA、SDP:网口数据、USB 数据流、硬件加速运算、DMA 搬运都直接走 AXI 总线,不抢占外设总线带宽,适合 EtherCAT、千兆工业通讯场景。
(2)存储类核心模块
- AXI SRAM0(512KB)+AXI SRAM1(512KB) :片上高速通用 SRAM,叠加双核 ILM/DLM,组成总 2080KB 片上内存池,就是逻辑 1 里代码全拷贝运行、逻辑 1 变量 / 实时函数存放的物理载体;
- XPI0/EXIP0 :就是外接 SPI NOR Flash 的总线接口!外挂 NOR Flash 映射到 CPU 地址空间实现XIP 原地执行(逻辑 2),上电由下方 128KB ROM 里固化的 BOOT 程序驱动 XPI 初始化、读取固件;
- FEMC:外接 SDRAM 的并行总线,用来扩容大容量缓存,解决片上 SRAM 仅 2MB 的容量瓶颈;
- ROM 128KB:即 BOOT ROM,出厂固化不可改写,芯片上电最先执行这里的代码:初始化 XPI 探测 NOR、判断启动模式、选择「全拷贝 SRAM」或「XIP 执行」两种加载逻辑、支持 ISP 烧录,是整个芯片启动的底层固件;
(3)高速 DMA:HDMA
HDMA 挂载 AXI 总线,可在双核、SRAM、NOR、网口、ADC之间直接搬运数据,无需 CPU 逐条拷贝,大幅降低 CPU 占用率。
七、AHB/APB 外设总线:中低速外设集散层
AXI 总线通过桥接向下分出 AHB/APB 外设总线,挂载所有低速通用外设,避免串口、GPIO、PWM 这类低速设备抢占 AXI 高速带宽:
1. 工业控制外设区
PWM、QEI 编码器接口、SEI、VSC、CLS、TRGM、PLB、GPTMR 定时器、WDG 看门狗、CRC 校验、I2S/PDM/DAO 音频接口、SDM/SDIO 存储接口、GPIO 矩阵,覆盖电机控制、编码器采集、工业 IO、音频采集输出全场景;
2. 通讯协议外设区
ESC(EtherCAT 从站控制器)、多路 UART、SPI、QSPI、MCAN 总线、PTPC 精密时间同步、PKE 加密模块,原生集成工业总线硬件控制器,不用软件模拟协议,实时性更强;
3. 模拟采集外设
ADC 0~3多通道 ADC 挂载此总线,采集电压、电流等模拟量,数据可通过 HDMA 快速搬运到 AXI SRAM 处理;
4. 电源管理域独立分区
框图虚线划分 3 个独立电源域,实现分区供电低功耗:
- 系统电源域:CPU、总线、绝大多数外设主供电域;
- 电源管理域(PGPR/PPOR/PCFG 等):负责芯片稳压、复位、功耗调控;
- 电池备份域(BMU/RTC/BKEY 等):备用电池独立供电,掉电后 RTC 时钟、加密密钥、关键配置不掉电丢失。
八、串联你关心的两种启动逻辑(结合框图)
逻辑 1:NOR 全代码拷贝至片上 SRAM 运行(固件≤2MB)
- 上电→CPU 先执行128KB ROM(BOOT);
- BOOT 初始化
XPI0读取外挂 NOR 里完整固件; - 通过 AXI 总线把全部代码拷贝到AXI SRAM+ILM/DLM 组成的片上内存池;
- CPU 后续全程只从片上 SRAM 取指运行,AXI 总线仅做外设数据交互,不再持续读取 NOR。
逻辑 2:XIP 原地执行(固件>2MB)
- 上电 BOOT 同样初始化 XPI0,把 NOR 映射进 CPU 地址空间;
- 仅把中断、电机闭环函数、全局变量拷贝进片上 SRAM/ILM/DLM;
- 普通业务代码直接通过 AXI 总线访问
XPI0挂载的 NOR Flash 取指执行; - FEMC 外接 SDRAM 挂载 AXI 总线,给网络报文、大数据运算提供额外扩容内存。
九、整体数据流工作闭环总结
- 上电阶段:128KB BOOT ROM 主导硬件初始化、NOR 探测、固件加载策略选择;
- 运行阶段:双核 CPU 运算 + ILM/DLM 做实时加速,AXI 总线承接高速存储 / 网口 / DMA 数据,AHB/APB 总线管理外设采集与输出;
- 数据流转:外设采集→HDMA 搬运至片上 SRAM/SDRAM→CPU 运算处理→再通过 DMA 回写外设或 NOR 存储;
- 低功耗保障:多电源域独立开关,闲置外设断电,备份域独立保活时钟与密钥。
十、HPM6E80 完整开发落地流程总结
- 硬件设计:XPI 接口外接 NOR Flash,BOOT 引脚悬空保持 00;多轴 / 千兆业务按需焊接 FEMC SDRAM;
- 方案选型:编译固件≤2MB 选用逻辑 1(全拷贝至 SRAM) ;固件>2MB 选用逻辑 2(XIP 原地执行);
- 工程配置:SES 切换 flash_xip 编译模式,确认链接基地址 0x80000000,补齐 nor_cfg 硬件配置段;
- 调试烧录:快速调试用 ram_debug 直接下载 SRAM;量产测试 flash_xip 烧录至 NOR Flash;
- 上电运行
- 逻辑 1(小工程):BOOT 把 NOR 全部代码拷贝片上 SRAM,CPU 全程片内执行;
- 逻辑 2(大工程):仅拷贝变量、中断代码到 SRAM,只读代码留在 NOR 原地 XIP 执行;
- 量产验证:断开仿真器重新上电,脱机自动从 NOR 加载程序稳定运行。