复位和时钟控制 (RCC)
RCC(Reset and Clock Control)模块负责芯片全局的时钟生成与复位管理,是系统可靠运行的基础。其主要功能包括:
复位控制:统一管理 POR、BOR、WDG、软件触发等多种复位来源,并记录本次启动的复位原因,方便调试与故障定位。
时钟管理:支持多种时钟源(外部晶振、内部 RC 振荡器、PLL),可对各模块独立配置时钟源和分频比,兼顾性能与功耗。
时钟门控:未使用的时钟可动态关闭,避免不必要的动态功耗。
复位控制
简介
芯片支持多种类型的复位信号,包括 POR(Power-On Reset)、CHIP_EN reset、BOR(Brown-Out Reset)、System reset、WDG reset 等,不同复位类型的触发条件和作用范围各不相同,覆盖从硬件上电到软件触发的不同场景。
复位架构
Reset 整体架构图如下:
复位类型
下表列出了芯片支持的复位类型及其触发条件。可以通过 启动原因寄存器 来获取本次复位的类型。
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
WDG reset |
系统看门狗(WDG)超时产生的复位。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
WDG reset |
系统看门狗(WDG)超时产生的复位;支持 KM4、KR4 各自的 WDG。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
WDG reset |
系统看门狗(WDG)超时产生的复位;支持 KM4、KR4 各自的 WDG。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
WDG reset |
系统看门狗(WDG)超时产生的复位;支持 KM4、KR4、HIFI5 各自的 WDG。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
WDG reset |
系统看门狗(WDG)超时产生的复位;支持 KM4、KR4、HIFI5 各自的 WDG。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
WDG reset |
看门狗超时时产生的看门狗复位。参考 WDG 。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时由稳压器产生的上电复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
RTC POR |
RTC 域上电时产生的 RTC 上电复位。 |
CHIP_EN reset |
外部 CHIP_EN 引脚拉低时产生的外部上电复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
AP WDG reset |
AP 核 (KM4TZ) 看门狗超时产生的复位。参考 WDG 。 |
NP WDG reset |
NP 核 (KM4NS) 看门狗超时产生的复位。参考 WDG 。 |
DSLP |
Deep sleep 产生的复位。 |
Reset 类型 |
描述 |
|---|---|
POR |
上电时产生的复位。参考数据手册的 Power Sequence 章节,获取 POR 的电源时序。 |
CHIP_EN reset |
外部 CHIP_EN 引脚产生的复位。参考数据手册的 Power Sequence 章节,获取 CHIP_EN reset 的电源时序。 |
BOR |
检测到掉电(BOR)时由稳压器产生的掉电复位。参考数据手册的 Power Sequence 章节,获取有关 BOR 的电源时序。 |
Thermal reset |
检测到温度异常时产生的温度保护复位。参考 Thermal 。 |
System reset |
CPU 写系统复位寄存器触发的系统复位。参考 System reset。 |
Warm reset |
通过写 CPU 寄存器触发的热复位。 |
IWDG reset |
独立看门狗(IWDG)超时产生的复位。参考 WDG 。 |
AP WDG reset |
AP 核(KM4TZ)看门狗超时产生的复位。参考 WDG 。 |
NP WDG reset |
NP 核(KM4NS)看门狗超时产生的复位。参考 WDG 。 |
Plfm1 reset |
Platform 1 系统复位。参考 Plfm1 reset。 |
DSLP |
Deep sleep 产生的复位。 |
备注
Plfm1 reset 仅在二合一模式下有效。
在二合一模式下,NP WDG reset 的功能将变得与 Plfm1 reset 一致。
System Reset
System reset 是芯片提供的一种安全地对系统进行 软件 reset 的 reset 方式。所有 CPU 均可以通过以下序列进行 System Reset:
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器 写入0x96969696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器 写入0x69696969以触发 System reset。
对
REG_SW_RST_TRIG寄存器的 低 16 位 写入0x9696以解锁对REG_SW_RST_CTRL寄存器的写控制。获取当前 CPU 的 CPU ID,对
REG_SW_RST_CTRL寄存器中对应 CPU 的控制位写 1。对
REG_SW_RST_TRIG寄存器的 低 16 位 写入0x6969以触发 System reset。
备注
寄存器描述参考 系统复位寄存器
Plfm1 复位
Plfm1 reset 用于芯片二合一模式下 reset 位于 platform 1 的模块。
不支持。
不支持。
不支持。
不支持。
不支持。
不支持。
不支持。
Platform 1 主要包括 KM4NS,WIFI,SDN 等模块, Plfm1 reset 将仅复位这些模块。所有 CPU 可以通过以下序列进行 Plfm1 reset:
对
REG_SW_RST_TRIG寄存器的 高 16 位 写入0x9696以解锁对REG_SW_RST_CTRL寄存器的写控制。对
REG_SW_RST_CTRL寄存器中的LSYS_BIT_PLFM1_SYS_RST位写 1。对
REG_SW_RST_TRIG寄存器的 高 16 位 写入0x6969以触发 Plfm1 reset。
二合一模式下, NP WDG reset 将会触发 Plfm1 reset 而非全局 reset。
复位域
各个类型的 reset 的作用域如下:
范围 |
RTC |
备份寄存器,Retention RAM, Wake pin, Trap pin |
其他外设 |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
N |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
RTC |
Wake pin, Trap pin,备份寄存器,Retention RAM |
其他外设 |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
RTC |
Wake pin, Trap pin,备份寄存器,Retention RAM |
其他外设 |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
RTC |
Wake pin, Trap pin,备份寄存器,Retention RAM |
其他外设 |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
RTC |
Wake pin, Trap pin,备份寄存器,Retention RAM |
其他外设 |
|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Thermal reset |
N |
N |
Y |
DSLP |
N |
N |
Y |
System reset |
Y |
N |
Y |
IWDG reset |
N |
N |
Y |
WDG reset |
N |
N |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
Wake pin, Trap pin, 备份寄存器 |
Retention RAM |
RTC |
OTPC |
其他外设 |
|---|---|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
Y |
Y |
BOR |
N |
N |
N |
Y |
Y |
BOR ACC |
N |
N |
N |
Y |
Y |
Thermal reset |
N |
N |
N |
Y |
Y |
DSLP |
N |
Y |
N |
N |
Y |
System reset |
N |
N |
Y |
Y |
Y |
WDG/IWDG reset |
N |
N |
N |
Y |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
备注
Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。
范围 |
RTC |
Wake pin,Trap pin,备份寄存器,Retention RAM,OTP |
I2C like, Pinmux |
其他外设 |
|---|---|---|---|---|
CHIP_EN |
N |
Y |
Y |
Y |
POR |
N |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Y |
Thermal reset |
N |
N |
Y |
Y |
DSLP |
N |
N |
Y |
Y |
System reset |
N |
N |
N* |
Y |
IWDG reset |
N |
N |
N* |
Y |
WDG reset |
N |
N |
N* |
Y |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
N*: 表示当复位事件发生时,相应的模块默认不会被复位,但可以配置成被复位。
备注
可以通过寄存器
REG_AON_SYSRST_MSK控制 I2C like、Pinmux 是否在 System reset、IWDG reset、WDG reset 下复位。该寄存器定义位于sysreg_aon.h中。Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。PD_RTC 只有在 PD_RTC 电源域内部发生 POR 时才会复位。
范围 |
Trap pin,备份寄存器 |
Wake pin, OTP |
GPIO, PWM, Pinmux |
KM4NS,SDN,WIFI, AES |
其他外设 |
|---|---|---|---|---|---|
CHIP_EN |
Y |
Y |
Y |
Y |
Y |
POR |
Y |
Y |
Y |
Y |
Y |
BOR |
N |
N |
Y |
Y |
Y |
Thermal reset |
N |
N |
Y |
Y |
Y |
DSLP |
N |
N |
Y |
Y |
Y |
System reset |
N |
N |
N* |
Y |
Y |
IWDG reset |
N |
Y |
Y |
Y |
Y |
WDG reset |
N |
N |
N* |
Y |
Y |
Plfm1 reset |
N |
N |
N |
Y |
N |
Y: 表示当复位事件发生时,相应的模块会被复位。
N: 表示当复位事件发生时,相应的模块不会被复位。
N*: 表示当复位事件发生时,相应的模块默认不会被复位,但可以配置成被复位。
备注
可以通过寄存器
REG_AON_SYSRST_MSK控制 Pinmux 是否在 System reset,WDG reset 下复位。该寄存器定义位于sysreg_aon.h中。可以通过寄存器
REG_LSYS_SW_RST_CTRL控制 GPIO,PWM 是否在 System reset,WDG reset 下复位。该寄存器定义位于sysreg_lsys.h中。Warm reset 在系统启动时会被配置为复位所有 CPU 而不仅仅是本地 CPU。参考 Bootloader 中的
Peripheral_Reset()函数获取 warm reset 会复位的外设。Plfm1 reset 仅在二合一模式下有效,且二合一模式下,KM4NS 的 WDG 的复位域范围会变得和 Plfm1 reset 一致。
时钟控制
芯片的时钟系统由外部振荡器、内部 RC 振荡器和 PLL 三类时钟源构成,通过时钟选择与分频机制灵活分配至各功能模块。
合理配置时钟源可以在性能与功耗之间取得平衡:高性能外设使用 PLL 输出的高频时钟,低功耗模块则可切换至内部 RC 振荡器以节省能耗。
时钟树
芯片的时钟树如下所示。不同的时钟源可用于驱动不同的功能,每个时钟源可以在不使用时独立开启或关闭,以优化功耗。
时钟源
芯片支持的时钟源及其用途如下:
三个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
XTAL20M:用作 UART 和 LOGUART 的可选时钟源之一。
XTAL128K:专用于分频后的
BT_32K。
四个内部振荡器:
OSC4M:为 KM0 提供 4MHz 时钟或为外设提供 2MHz 时钟(分频后)。
OSC131K:用作 SDM 的输入以及 Cap-Touch 和 Key-Scan 的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG 和 AON 模块。
SDM_32K:用于 Timer 等模块。
四个独立的 PLL:每个都可以配置为整数或小数比率。
PLL_SYS:
300MHz ~ 600MHz,分频后为 KM4、KM0 和高性能外设提供时钟。SPIC_CK:专用于 SPIC 和 PSRAM,与
PLL_SYS频率相同但相位不同。SPIC_PS_CK:专用于 SPIC 和 PSRAM 省电。
一个专用于 Wi-Fi 的 PLL:
320MHz
一个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
三个内部振荡器:
OSC4M:为 lbus 提供 4MHz 时钟,或分频后为外设提供 2MHz 时钟。
OSC131K:用作 SDM 的输入以及其他外设的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
七个独立的 PLL:每个都可以配置为整数或小数比率。
SYS_PLL:
300MHz ~ 600MHz,分频后为 TRNG 提供时钟。CPU_PLL:
300MHz ~ 600MHz,分频后为 KM4 CPU 和外设提供时钟。flash_cpu_pll:与 CPU_PLL 频率相同但相位不同。
flash_sys_pll:与 SYS_PLL 频率相同但相位不同。
flash_cpu_pll_ps:用于 SPI Flash 控制器省电。
flash_sys_pll_ps:用于 SPI Flash 控制器省电。
一个专用于 Wi-Fi 的 PLL:
320MHz
一个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
三个内部振荡器:
OSC4M:为 lbus 提供 4MHz 时钟,或分频后为外设提供 2MHz 时钟。
OSC131K:用作 SDM 的输入以及其他外设的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
七个独立的 PLL:每个都可以配置为整数或小数比率。
SYS_PLL:
300MHz ~ 600MHz,分频后为 TRNG 提供时钟。CPU_PLL:
300MHz ~ 600MHz,分频后为 KM4 CPU 和外设提供时钟。flash_cpu_pll:与 CPU_PLL 频率相同但相位不同。
flash_sys_pll:与 SYS_PLL 频率相同但相位不同。
flash_cpu_pll_ps:用于 SPI Flash 控制器省电。
flash_sys_pll_ps:用于 SPI Flash 控制器省电。
一个专用于 Wi-Fi 的 PLL:
320MHz
一个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
三个内部振荡器:
OSC4M:为 lbus 提供 4MHz 时钟,或分频后为外设提供 2MHz 时钟。
OSC131K:用作 SDM 的输入以及其他外设的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
七个独立的 PLL:每个都可以配置为整数或小数比率。
DSP_PLL:
300MHz ~ 600MHz,分频后为 HiFi 5 CPU、HiFi 5 总线和 TRNG 提供时钟。CPU_PLL:
300MHz ~ 600MHz,分频后为 KM4 CPU 和外设提供时钟。flash_cpu_pll:与 CPU_PLL 频率相同但相位不同。
flash_dsp_pll:与 DSP_PLL 频率相同但相位不同。
flash_cpu_pll_ps:用于 SPI Flash 控制器省电。
flash_dsp_pll_ps:用于 SPI Flash 控制器省电。
一个专用于 Wi-Fi 的 PLL:
320MHz
一个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
三个内部振荡器:
OSC4M:为 lbus 提供 4MHz 时钟,或分频后为外设提供 2MHz 时钟。
OSC131K:用作 SDM 的输入以及其他外设的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
七个独立的 PLL:每个都可以配置为整数或小数比率。
DSP_PLL:
300MHz ~ 600MHz,分频后为 HiFi 5 CPU、HiFi 5 总线和 TRNG 提供时钟。CPU_PLL:
300MHz ~ 600MHz,分频后为 KM4 CPU 和外设提供时钟。flash_cpu_pll:与 CPU_PLL 频率相同但相位不同。
flash_dsp_pll:与 DSP_PLL 频率相同但相位不同。
flash_cpu_pll_ps:用于 SPI Flash 控制器省电。
flash_dsp_pll_ps:用于 SPI Flash 控制器省电。
一个专用于 Wi-Fi 的 PLL:
320MHz
一个外部振荡器:
XTAL40M:直接用于外设或分频后使用。
三个内部振荡器:
OSC4M:为 KM0 CPU 提供 4MHz 时钟,或分频后为外设提供 2MHz 时钟。
OSC131K:用作 SDM 的输入以及其他外设的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG 和 OTPC。
六个独立的 PLL:每个都可以配置为整数或小数比率。
AP PLL:
1.2GHz,可以为 CA32 CPU 提供时钟。NP PLL:
920MHz/1GHz,分频后为 KM4 CPU 和外设提供时钟。也可以为 CA32 CPU 提供时钟。两个专用于音频子系统的 Audio PLL,可由软件独立开启或关闭:
PLL1:
98.304MHzPLL2:
45.1584MHz
一个专用于 Wi-Fi 的 PLL:
320MHz一个专用于 DDR 的 PLL:
533MHz
以下专用 PHY 提供独立的时钟源,不经过 PLL:
USB PHY:
480MHz,专用于 USB。MIPI PHY:
80MHz ~ 1GHz,专用于 MIPI。
基于外部振荡器的 40MHz 时钟:
XTAL40M:直接用于外设或分频后使用。
内部振荡器:
OSC4M:分频后为外设提供时钟。
OSC131K:用作 SDM 的输入以及 Cap-Touch 的时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
两个独立的 PLL:
SYS_PLL:
200MHz ~ 500MHz。支持小数分频,适合需要精确频率调整的应用(如高质量音频系统)。USB_PLL:
480MHz ~ 1000MHz。只能生成晶体(XTAL)参考频率整数倍的输出频率。
除具有特定时钟要求的外设(如 USB、以太网 MAC 和音频系统)外,其他高速外设和 CPU 均可通过时钟选择机制从任意可用 PLL 中选择时钟源。
基于外部振荡器的 40MHz 时钟:
XTAL40M:直接用于外设或分频后使用。
内部振荡器:
OSC2P5M:分频后为外设提供时钟。
OSC100K:位于 AON 域中,用于驱动 IWDG。
两个独立的 PLL(均不可调节):
SYS_PLL:
400MHz,固定频率,经分频后为 CPU 和各外设提供时钟。USB_PLL:
960MHz,固定频率,经分频后为 CPU 和各外设提供时钟。
外设和 CPU 可通过时钟选择机制从任意可用 PLL 中选择时钟源。
寄存器
系统复位寄存器
以下寄存器用于系统软件复位。
系统复位寄存器的基址是 0x41008000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 系统复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
用于 KM4 复位系统 |
30 |
LSYS_BIT_KM0_SYS_RST |
R/W |
0 |
用于 KM0 复位系统 |
29:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 系统复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x4100C000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
用于 KM4 复位系统 |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
用于 KR4 复位系统 |
29:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x4100C000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
用于 KM4 复位系统 |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
用于 KR4 复位系统 |
29:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x4100C000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
用于 KM4 复位系统 |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
用于 KR4 复位系统 |
29 |
LSYS_BIT_HIFI_SYS_RST |
R/W |
0 |
用于 DSP 复位系统 |
28:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x4100C000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4_SYS_RST |
R/W |
0 |
用于 KM4 复位系统 |
30 |
LSYS_BIT_KR4_SYS_RST |
R/W |
0 |
用于 KR4 复位系统 |
29 |
LSYS_BIT_HIFI_SYS_RST |
R/W |
0 |
用于 DSP 复位系统 |
28:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x42008000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x238 |
R/W |
系统复位控制寄存器 |
|
0x23C |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x238
读/写访问 : 读/写(写使能)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
SYS_RESET_CPU_AP |
R/WE |
0 |
AP 复位系统 |
30 |
SYS_RESET_CPU_NP |
R/WE |
0 |
NP 复位系统 |
29 |
SYS_RESET_CPU_LP |
R/WE |
0 |
KM0(LP)复位系统 |
28:0 |
RSVD |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x23C
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x4080A000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4TZ_SYS_RST |
R/W |
0 |
用于 KM4TZ 复位系统 |
30 |
LSYS_BIT_KM4NS_SYS_RST |
R/W |
0 |
用于 KM4NS 复位系统 |
29:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:0 |
LSYS_MASK_TRIG_RST |
W |
系统复位触发寄存器
|
系统复位寄存器的基址是 0x40801000。
Name |
Offset |
Access |
Description |
|---|---|---|---|
0x260 |
R/W |
系统复位控制寄存器 |
|
0x264 |
W |
系统复位触发寄存器 |
REG_SW_RST_CTRL
名称 : 复位控制寄存器
大小 : 32 位
地址偏移 : 0x260
读/写访问 : 读/写
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31 |
LSYS_BIT_KM4TZ_SYS_RST |
R/W |
0 |
用于 KM4TZ 复位系统 |
30 |
LSYS_BIT_KM4NS_SYS_RST |
R/W |
0 |
用于 KM4NS 复位系统 |
29 |
LSYS_BIT_PLFM1_SYS_RST |
R/W |
0 |
用于 Plfm1 复位 |
28:0 |
RSVD |
N/A |
0 |
保留,用于复位域控制 |
REG_SW_RST_TRIG
名称 : 复位触发寄存器
大小 : 32 位
地址偏移 : 0x264
读/写访问 : 只写
位 |
符号 |
访问 |
描述 |
|---|---|---|---|
31:16 |
LSYS_MASK_TRIG_RST_P1 |
W |
用于控制和触发 Plfm1 reset
|
15:0 |
LSYS_MASK_TRIG_RST |
W |
用于控制和触发 System reset
|
启动原因寄存器
以下寄存器用于提供启动原因。
备注
在系统启动后, Bootloader 将会清除此寄存器,并将启动原因保存到 REG_LSYS_BOOT_REASON_SW 寄存器。
启动原因寄存器的基址是 0x41008000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:10 |
RSVD |
保留 |
||
9 |
KM0_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM0 热复位系统时,此位将被设置为 1。写入 1 清除。 |
8 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
7 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
6 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
5 |
WDG0_RSTF |
R/W1C |
0 |
当 WDG0 复位系统时,此位将被设置为 1。写入 1 清除。 |
4 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
KM0SYS_RSTF |
R/W1C |
0 |
当 KM0 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2 |
KM4SYS_RSTF |
R/W1C |
0 |
当 KM4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
1 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
0 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
启动原因寄存器的基址是 0x4100C000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:18 |
RSVD |
保留 |
||
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KR4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
15 |
WDG4_RSTF |
R/W1C |
0 |
当 WDG4 复位系统时,此位将被设置为 1。写入 1 清除。 |
14 |
WDG3_RSTF |
R/W1C |
0 |
当 WDG3 复位系统时,此位将被设置为 1。写入 1 清除。 |
13 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
12 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
11 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
RSVD |
保留 |
||
9 |
KR4SYS_RSTF |
R/W1C |
0 |
当 KR4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
当 KM4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
7 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
6:5 |
RSVD |
保留 |
||
4 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
THERMAL_RST |
R/W1C |
0 |
当 Thermal 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2:0 |
RSVD |
保留 |
启动原因寄存器的基址是 0x4100C000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:18 |
RSVD |
保留 |
||
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KR4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
15 |
WDG4_RSTF |
R/W1C |
0 |
当 WDG4 复位系统时,此位将被设置为 1。写入 1 清除。 |
14 |
WDG3_RSTF |
R/W1C |
0 |
当 WDG3 复位系统时,此位将被设置为 1。写入 1 清除。 |
13 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
12 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
11 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
RSVD |
保留 |
||
9 |
KR4SYS_RSTF |
R/W1C |
0 |
当 KR4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
当 KM4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
7 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
6:5 |
RSVD |
保留 |
||
4 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
THERMAL_RST |
R/W1C |
0 |
当 Thermal 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2:0 |
RSVD |
保留 |
启动原因寄存器的基址是 0x4100C000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:19 |
RSVD |
保留 |
||
18 |
HIFI_WARM2PERI_RSTF |
R/W1C |
0 |
当 HIFI5 热复位系统时,此位将被设置为 1。写入 1 清除。 |
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KR4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
15 |
WDG4_RSTF |
R/W1C |
0 |
当 WDG4 复位系统时,此位将被设置为 1。写入 1 清除。 |
14 |
WDG3_RSTF |
R/W1C |
0 |
当 WDG3 复位系统时,此位将被设置为 1。写入 1 清除。 |
13 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
12 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
11 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
HIFISYS_RSTF |
R/W1C |
0 |
当 HIFI5 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
9 |
KR4SYS_RSTF |
R/W1C |
0 |
当 KR4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
当 KM4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
7 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
6:5 |
RSVD |
保留 |
||
4 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
THERMAL_RST |
R/W1C |
0 |
当 Thermal 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2:0 |
RSVD |
保留 |
启动原因寄存器的基址是 0x4100C000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:19 |
RSVD |
保留 |
||
18 |
HIFI_WARM2PERI_RSTF |
R/W1C |
0 |
当 HIFI5 热复位系统时,此位将被设置为 1。写入 1 清除。 |
17 |
KR4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KR4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
16 |
KM4_WARM2PERI_RSTF |
R/W1C |
0 |
当 KM4 热复位系统时,此位将被设置为 1。写入 1 清除。 |
15 |
WDG4_RSTF |
R/W1C |
0 |
当 WDG4 复位系统时,此位将被设置为 1。写入 1 清除。 |
14 |
WDG3_RSTF |
R/W1C |
0 |
当 WDG3 复位系统时,此位将被设置为 1。写入 1 清除。 |
13 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
12 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
11 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
HIFISYS_RSTF |
R/W1C |
0 |
当 HIFI5 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
9 |
KR4SYS_RSTF |
R/W1C |
0 |
当 KR4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
8 |
KM4SYS_RSTF |
R/W1C |
0 |
当 KM4 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
7 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
6:5 |
RSVD |
保留 |
||
4 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
THERMAL_RST |
R/W1C |
0 |
当 Thermal 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2:0 |
RSVD |
保留 |
启动原因寄存器的基址是 0x42008000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:16 |
RSVD |
保留 |
||
15 |
RSTF_WDG4 |
R/W1C |
0 |
当 WDG4 复位系统时,此位将被设置为 1。写入 1 清除。 |
14 |
RSTF_WDG3 |
R/W1C |
0 |
当 WDG3 复位系统时,此位将被设置为 1。写入 1 清除。 |
13 |
RSTF_WDG2 |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
12 |
RSTF_WDG1 |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
11 |
RSTF_IWDG |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
RSTF_APSYS |
R/W1C |
0 |
当 AP 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
9 |
RSTF_NPSYS |
R/W1C |
0 |
当 NP 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
8 |
RSTF_LPSYS |
R/W1C |
0 |
当 KM0(LP)触发系统复位时,此位将被设置为 1。写入 1 清除。 |
7 |
RSTF_DSLP |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
6:5 |
RSVD |
保留 |
||
4 |
RSTF_BOR |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
RSTF_THM |
R/W1C |
0 |
当 Thermal 复位系统时,此位将被设置为 1。写入 1 清除。 |
2:0 |
RSVD |
保留 |
启动原因寄存器的基址是 0x4080A000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:17 |
RSVD |
保留 |
||
16 |
THERMAL_RSTF |
R/W1C |
0 |
当 Thermal 复位系统时,此位将被设置为 1。写入 1 清除。 |
10 |
RSVD |
0 |
保留 |
|
9 |
NP_WARM_RSTF |
R/W1C |
0 |
当 KM4NS(NP 核)热复位系统时,此位将被设置为 1。写入 1 清除。 |
8 |
AP_WARM_RSTF |
R/W1C |
0 |
当 KM4TZ(AP 核)热复位系统时,此位将被设置为 1。写入 1 清除。 |
7 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
6 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
5 |
WDG0_RSTF |
R/W1C |
0 |
当 WDG0 复位系统时,此位将被设置为 1。写入 1 清除。 |
4 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
SYS1_RSTF |
R/W1C |
0 |
当 KM4NS 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2 |
SYS0_RSTF |
R/W1C |
0 |
当 KM4TZ 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
1 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
0 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |
启动原因寄存器的基址是 0x40801000。
REG_BOOT_REASON_HW
名称 : 启动原因寄存器
大小 : 32 位
地址偏移 : 0x20
读/写访问 : 读/写(写 1 清除)
位 |
符号 |
访问 |
复位 |
描述 |
|---|---|---|---|---|
31:18 |
RSVD |
保留 |
||
17 |
PLFM1_RSTF |
R/W1C |
0 |
当 PLFM1 reset 复位系统时,此位将被设置为 1。写入 1 清除。 |
16 |
THERMAL_RSTF |
R/W1C |
0 |
当 Thermal 复位系统时,此位将被设置为 1。写入 1 清除。 |
15:10 |
RSVD |
0 |
保留 |
|
9 |
NP_WARM_RSTF |
R/W1C |
0 |
当 KM4NS(NP 核)热复位系统时,此位将被设置为 1。写入 1 清除。 |
8 |
AP_WARM_RSTF |
R/W1C |
0 |
当 KM4TZ(AP 核)热复位系统时,此位将被设置为 1。写入 1 清除。 |
7 |
WDG2_RSTF |
R/W1C |
0 |
当 WDG2 复位系统时,此位将被设置为 1。写入 1 清除。 |
6 |
WDG1_RSTF |
R/W1C |
0 |
当 WDG1 复位系统时,此位将被设置为 1。写入 1 清除。 |
5 |
WDG0_RSTF |
R/W1C |
0 |
当 WDG0 复位系统时,此位将被设置为 1。写入 1 清除。 |
4 |
IWDG_RSTF |
R/W1C |
0 |
当 IWDG 复位系统时,此位将被设置为 1。写入 1 清除。 |
3 |
SYS1_RSTF |
R/W1C |
0 |
当 KM4NS 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
2 |
SYS0_RSTF |
R/W1C |
0 |
当 KM4TZ 触发系统复位时,此位将被设置为 1。写入 1 清除。 |
1 |
DSLP_RSTF |
R/W1C |
0 |
从深度睡眠(DSLP)退出时,此位将被设置为 1。写入 1 清除。 |
0 |
BOR_RSTF |
R/W1C |
0 |
当 BOR 复位系统时,此位将被设置为 1。写入 1 清除。 |