USER GUIDE / PROCESSOR & BUS / RISC V V0 / EXCEPTIONS

异常

RISC-V CPU 可因以下异常原因触发异常:

异常码说明
1指令访问故障
2非法指令
3断点
5载入访问故障
7存储访问故障
8来自 U 模式的环境调用(ECALL)
11来自 M 模式的环境调用(ECALL)

LEP_DEV CCU 寄存器说明

寄存器内存映射

表 1 CCU 寄存器内存映射基地址
名称基址说明
LEP0_CCU_BASE0x1210_0000V0 CCU 基地址
表 2 CCU 寄存器映射
名称复位值地址偏移访问大小
CCSR0x0000_00670x00032
CRER0x1FC0_00000x00432
FROM_HOST0x0000_00000x00832
TO_HOST0x0000_00000x00c32
TIME_L0x0000_00000x01032
TIME_H0x0000_00000x01432
TIME_CMP_L0xFFFF_FFFF0x01832
TIME_CMP_H0xFFFF_FFFF0x01C32
SIP0x0000_00000x03032
CSRR0x8000_00000x0F032

寄存器及字段说明

Core Control Status Register(0x000)

CCSRBase+0x000
Bit313029282726252423222120191817161514131211109876543210
字段ReservedTimer_enResetSleepBus_idleBus_maskIE
RST00000000000000000000000001100111
位名称说明RW
31:6Reserved写入无影响,读取为零。R
6L1c_idle0:L1C 忙。

1:L1C 空闲。
R
5Timer_en0:禁用定时器。

1:启用定时器。
R
4Reset0:LEP 正在运行。

1:LEP 处于复位状态。
R
3Sleep0:LEP 忙。

1:LEP 休眠。
R
2Bus_idle0:LEP 总线忙。

1:LEP 总线空闲。
R
1Bus_mask0:禁止 LEP 访问总线。

1:允许 LEP 访问总线。
R/W
1IE0:中断禁用。

1:中断使能。
R/W

Core Reset Entry Register(0x004)

CRERBase+0x004
Bit313029282726252423222120191817161514131211109876543210
字段CRER
RST00011111110000000000000000000000
位名称说明RW
31:0CRER复位 PC 值。R/W

LEP Mailbox Register From Host(0x008)

FROM_HOST 邮箱寄存器用于向 RISC-V 内核(LEP)产生from_host邮箱中断。

FROM_HOSTBase+0x008
Bit313029282726252423222120191817161514131211109876543210
字段MSG
RST00000000000000000000000000000000
位名称说明RW
31:0MSG发送到内核的消息。

非零值可用作软件标志或参数。

向该寄存器写值可向
RISC-V 内核(LEP)产生mailbox邮箱中断。
R/W

LEP Mailbox Register To Host(0x00C)

TO_HOST 邮箱寄存器用于向主机产生to_host邮箱中断。

TO_HOSTBase+0x00C
Bit313029282726252423222120191817161514131211109876543210
字段MSG
RST00000000000000000000000000000000
位名称说明RW
31:0MSG发送到主机的消息。

非零值可用作软件标志或参数。

向该寄存器写值可向主机产生mailbox邮箱中断。
R/W

Software Interrupt Pending 32bit Register(0x030)

向 SIP 寄存器写入即可产生软件中断。SIP 寄存器是一个 32 位宽、可读可写的寄存器,其中仅 BIT0 在 SIP 寄存器中有效,其余位硬连线为 0。复位后,SIP 寄存器清零。

SIPBase+0x030
Bit313029282726252423222120191817161514131211109876543210
字段Reservedsip
RST00000000000000000000000000000000
位段名称说明RW
31:1Reserved写入无影响,读取为零。R
0sip写入将产生软件中断。

复位时清零。
R/W

Core Software Reset register(0x0F0)

CSRRBase+0x0F0
Bit313029282726252423222120191817161514131211109876543210
字段rstsReserved
RST10000000000000000000000000000000
位名称说明R/W
31rsts0:V0 正在运行

1:V0 处于复位状态

硬件可复位

软件不可复位

复位值为 0x1
R/W
30:0Reserved写入无影响,读取为零。R

LEP_DEV PMA 寄存器说明

PMA(Physical Memory Attributes,物理内存属性)单元支持 8 个表项,用于为每个匹配的内存区域指定访问属性。每个表项由一组内存映射寄存器描述,包括 1 个配置寄存器和 1 个地址寄存器。地址匹配逻辑符合《RISC-V Instruction Set Manual, Volume II: Privileged Architecture, Version 1.10》第 3.6.1 节“Address Matching”的定义。

特性

  • 支持 8 个配置表项
  • 支持 OFF、TOR、NAPOT 可配置地址匹配规则。地址匹配的最小粒度为 4KB
  • 每个表项均支持配置读、写、执行权限以及 Cache 属性
  • 访问未指定的内存区域将导致访问失败异常
  • 编号越小的表项优先级越高,用于确定匹配的内存区域

默认配置

  • 0x00000000 ~ 0x0FFFFFFF:可缓存、可写、可读、可执行。
  • 0x10000000 ~ 0x1FFFFFFF:不可缓存、可写、可读、可执行。
  • 0x20000000 ~ 0x7FFFFFFF:可缓存、可写、可读、可执行。
  • 0x80000000 ~ 0xFFFFFFFF:不可访问。

寄存器内存映射

表 3 PMA 寄存器内存映射基地址
名称基址说明
PMA_BASE0x1210_0000PMA 基地址
名称复位值地址偏移访问大小
PMA_ADDR00x0000_00000x04032
PMA_ADDR10x0000_00000x04432
PMA_ADDR20x0000_00000x04832
PMA_ADDR30x0000_00000x04C32
PMA_ADDR40x0000_00000x05032
PMA_ADDR50x0000_00000x05432
PMA_ADDR60x05FF_FFFF0x05832
PMA_ADDR70x0FFF_FFFF0x05C32
PMA_CFG00x0000_00070x06032
PMA_CFG10x0000_00070x06432
PMA_CFG20x0000_00070x06832
PMA_CFG30x0000_00070x06c32
PMA_CFG40x0000_00070x07032
PMA_CFG50x0000_00070x07432
PMA_CFG60x0000_001F0x07832
PMA_CFG70x0000_003F0x07c32

寄存器及字段说明

PMA 地址寄存器(0x040 + x*0x4)

X:0~7

PMAaddr[x]Base+0x040+x*0x4
Bit313029282726252423222120191817161514131211109876543210
字段Address
RST00000000000000000000000000000000
位名称说明R/W
31:9AddressPMA 地址[x]

物理地址 =
Address << 2

X=0~5 时,复位值为
0x0000_0000

X=6 时,复位值为 0x05FF_FFFF

(物理地址为
0x1000_0000~0x1FFF_FFFF)

X=7 时,复位值为 0x0FFF_FFFF

(物理地址为
0x0000_0000~0x7FFF_FFFF)
大核:RW

小核:R

PMA 配置寄存器(0x060 + x*0x4)

X=0~7

PMAcfg[x]Base+0x060+x*0x4
Bit313029282726252423222120191817161514131211109876543210
字段ReservedCAWRX
RST00000000000000000000000000000111
位名称说明R/W
31:6Reserved写入无影响,读取为零。

读取为 0。
大核:R

小核:R
5C0:不可缓存

1:可缓存
大核:RW

小核:R
4:3A0:OFF(无效表项)

1:TOR(Top of Range,使用相邻表项地址作为匹配区间上界的模式)

2:NA4(未实现)

3:NAPOT(自然对齐的 2 的幂大小区域),区间大小为 2 的幂次方,且至少为 4KB。
大核:RW

小核:R
2W0:禁止写。

1:允许写。
大核:RW

小核:R
1R0:禁止读。

1:允许读。
大核:RW

小核:R
0X0:禁止执行。

1:允许执行。
大核:RW

小核:R