<!-- 本文件由脚本自动转换生成，请勿手动编辑 -->

> **《LKS32MC09x User Manual》系统时钟复位** . 完整目录见 [README.md](README.md)
>
> **声明**：本文档由芯片用户手册自动转换生成，仅供检索与查阅参考。Markdown 格式可被自由编译、修改，本文档不构成正式技术文件，相关内容以凌鸥创芯官方网站正式发布的手册为准。
>
> 南京凌鸥创芯电子有限公司 . (C) 2023, 版权归凌鸥创芯所有 . 机密文件，未经许可不得扩散

# 系统时钟复位

## 时钟

### 时钟源

如下表所示，系统包括4个时钟源。其中内部低速RC振荡时钟LSI/内部高速RC振荡时钟HSI不会停振。

表6-1系统时钟源

||||||
|---|---|---|---|---|
|时钟|频率|来源|误差|说明|
|LSI/LRC|32KHz|内部RC振荡器|25.6KHz~38.4KHz|内部系统管理时钟，用于WDT，复位信号的滤波和展宽，亦可作为MCU运行主时钟|
|HSI/HRC|8MHz|内部RC振荡器|全温度范围误差\<1%|作为PLL源时钟|
|HSE/XTAL|8MHz|外部晶体|与晶体有关|外部晶振|
|PLL|96MHz|PLL时钟|0|PLL输出时钟，以HSI作为参考时钟输入，倍频8倍后输出PLL时钟作为系统主时钟。|
|JTAG/SWD|\<10MHz|调试器|\-|JTAG/SWD时钟，取决于上位机设置|

SWD时钟速率与上位机或下载器设置有关。

系统可以使用内部高速RC时钟HSI作为PLL的参考时钟。PLL将8MHz的参考时钟HSI倍频12倍至96MHz。

通常，PLL经过n/8分频后，可以得到96MHz×n/8的高速时钟，作为系统主时钟MCLK。系统主时钟MCLK可以通过SYS_CLK_CFG.CLK_DIV进行n/8分频，可以产生8,16,32MHz等频率值。

系统复位时，PLL默认开启，HSI默认开启，即系统上电选择HSI时钟，8MHz作为系统主时钟进行工作，从而保证系统上电之初功耗处于较低水平。

LSI和晶振时钟HSE也可以作为系统主时钟，通过SYS_CLK_CFG.CLK_SEL\[1:0\]进行选择。通过设置SYS_CLK_CFG.CLK_SEL\[1:0\]=3可以切换系统时钟为LSI时钟，此时系统工作于32kHz时钟，PLL/HRC/BGP等模拟模块均可关闭以降低功耗。

SYS_CLK_CFG.CLK_DIV作为PLL的分频系数。当SYS_CLK_CFG.CLK_SEL不为1
时，系统时钟HIS/HSE或LSI作为工作时钟，此时SYS_CLK_CFG.CLK_DIV不再起分频作用。

表6-2
PLL作为MCLK时钟时的分频配置

|||||
|---|---|---|---|
|SYS_CLK_CFG|分频系数|频率/MHz|是否均匀|
|0x0101|1/8|8|是|
|0x0111|2/8|16|是|
|0x0155|4/8|32|是|
|0x01FF|8/8|64|是|

系统高速时钟MCLK经过SYS_CLK_FEN寄存器控制的开关之后供给外设。I2C时钟由SYS_CLK_DIV0寄存器控制可以进一步分频，UART时钟由SYS_CLK_DIV2寄存器控制可以进一步分频。

PLL输出的96MHz时钟经过2分频后送至ADC（典型工作频率32MHz），即ACLK。

内部32kHz
RC产生一路LSI时钟LCLK，主要用于看门狗WDT工作时钟，以及部分系统控制，复位的滤波展宽等。当系统无过多工作任务且系统降低功耗时，可以设置SYS_CLK_CFG.CLK_SEL=2，将系统时钟切换为LSI。

晶振时钟也可以作为PLL的参考时钟源。如果要使用晶振时钟，需要通过设置SYS_AFE_REG5.XTALPDN=1使能晶振起振电路，晶振起振电路默认是关闭的。如果要使用晶振时钟作为PLL参考时钟，则需要设置SYS_AFE_REG6.PLLSR_SEL=1，PLL默认参考时钟为内部8MHz
HRC时钟。

需要注意的是，外部晶体在某些情况下可能会停振失效。芯片内部有晶振停振检测电路，当外部晶体停振时，会自动将使用晶振时钟的模块切换至内部HRC时钟。

通过SYS_CLK_CFG.HSE_FAIL和SYS_CLK_CFG.HSE_FAILED可以读取晶体的工作状态。

【图片已删除】为控制知识库体积，本文档不携带图片，相关图示请查阅凌鸥创芯官网发布的正式手册。

图6-2
复位架构

##### 硬件复位记录

AON_EVT_RCD寄存器用于保存硬件复位事件，当某个硬件复位发生后，AON_EVT_RCD对应位置记录值变为1。AON_EVT_RCD寄存器本身无法被复位信号复位，只能通过向AON_EVT_RCD寄存器写入0xCA40清空记录，复位记录可以方便地了解是否发生复位以及发生过哪种复位。

#### 软件复位

CPU的软复位操作可以使程序计数器(PC)回到0地址，软复位是否复位外设寄存器，取决于SYS_DBG_CFG.SFT_RST_PERI设置。

在集成开发环境(IDE: Integrated Development
Environment)中的调试模式下，点击Reset【图片已删除】与CPU软复位操作作用相同，仅仅使得PC回到0地址，对外设中的寄存器没有影响。但如果在bootloader中进行了外设模块的软复位，则会使得外设寄存器被复位为默认值。具体bootloader实现请咨询芯片供应商。

部分外设模块有模块级软复位，可以使用SYS_SFT_RST寄存器进行复位，写入对应的位，可以将模块状态机恢复到初始状态，同时将模块的寄存器恢复到默认值，详见6.3.9。

### 复位作用域

表
6-4 复位作用域

|||
|---|---|
|复位源|作用域|
|PORn|内部电源管理，全局复位|
|RSTn|外部按键，全局复位，除极少数寄存器|
|WDTn|硬件看门狗，全局复位，除极少数寄存器|
|SYS_SFT_RST.SPI0\_ SFT_RST|SPI0|
|SYS_SFT_RST.I2C0_SFT_RST|I2C0|
|SYS_SFT_RST.CMP_SFT_RST|CMP数字接口模块（不包括模拟比较器本身）|
|SYS_SFT_RST.HALL0_SFT_RST|HALL0|
|SYS_SFT_RST.TIMER0\_ SFT_RST|TIMER0|
|SYS_SFT_RST.TIMER1\_ SFT_RST|TIMER1|
|SYS_SFT_RST.TIMER2\_ SFT_RST|TIMER2|
|SYS_SFT_RST.QEP0\_ SFT_RST|QEP0|
|SYS_SFT_RST.MCPWM0\_ SFT_RST|MCPWM|
|SYS_SFT_RST.GPIO\_ SFT_RST|GPIO|
|SYS_SFT_RST.ADC0\_ SFT_RST|ADC0数字接口模块|
|SYS_SFT_RST.ADC1\_ SFT_RST|ADC1数字接口模块|
|SYS_SFT_RST.UART0_SFT_RST|UART0|
|SYS_SFT_RST.UART1_SFT_RST|UART1|
|SYS_SFT_RST.UART2_SFT_RST|UART2|
|SYS_SFT_RST.CRC0\_ SFT_RST|CRC0|
|SYS_SFT_RST.DSP0\_ SFT_RST|DSP0|
|SYS_SFT_RST.DMA0\_ SFT_RST|DMA0|
|SYS_SFT_RST.SIF0\_ SFT_RST|SIF0|
|SYS_SFT_RST.CL0\_ SFT_RST|CL0|
|NVIC_SystemReset();|CPU软复位，仅复位CPU内核，将PC重置为0，若SYS_DBG_CFG.SFT_RST_PERI=0所有外设寄存器值仍然维持，SYS_DBG_CFG.SFT_RST_PERI=1，所有外设寄存器同时复位。|

其中用于控制P0\[2\]作为GPIO使用还是作为外部复位脚使用的SYS_RST_CFG.RST_IO，复位记录寄存器AON_EVT_RCD只受POR复位。

全局复位会复位全芯片寄存器，包括CPU内核寄存器以及所有外设寄存器，除上述极少数寄存器。

若CPU软复位设置为仅仅复位CPU内核，而不复位外设寄存器。建议重新烧录程序后使用掉电重新上电或外部复位的方式重置外设寄存器。

Flash存储内容，SRAM存储内容不受复位影响。

## 寄存器

### 地址分配

系统模块寄存器基地址为0x4000_0000。

表6-5系统控制寄存器

||||
|---|---|---|
|名称|偏移|说明|
|SYS_CLK_CFG|0x80|时钟控制寄存器|
|SYS_IO_CFG|0x84|IO控制寄存器|
|SYS_DBG_CFG|0x88|Debug控制寄存器|
|SYS_CLK_DIV0|0x90|外设时钟分频寄存器0|
|SYS_CLK_DIV2|0x98|外设时钟分频寄存器2|
|SYS_CLK_FEN|0x9C|外设时钟门控寄存器|
|SYS_SFT_RST|0xA4|软复位寄存器|
|SYS_PROTECT|0xA8|写保护寄存器|
|SYS_IF|0xB4|系统中断标志寄存器|
|SYS_RAM_LOCK|0xB8|RAM锁定寄存器|
|SYS_FLSE|0xD0|Flash擦除保护寄存器|
|SYS_FLSP|0xD4|Flash编程保护寄存器|

### SYS_CLK_CFG 时钟控制寄存器

地址:0x4000_0080

复位值:0x2000

表6-6
SYS_CLK_CFG时钟控制寄存器

|||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12||11||10|9||8|7||6|5|4|3|2|1|0|
|||HSE_FAILED||HSE_FAIL|||||CLK_SEL|||CLK_DIV||||||||
|||RW1C||RO|||||RW|||RW||||||||
|||1||0|||||0|||0||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:14\]||未使用|
|\[13\]|HSE_FAILED|晶振时钟在被开启后是否停振过如果晶振有停振情况，则该位置位，即使晶体后续恢复振荡，仍保持记录为1。写1清零|
|\[12\]|HSE_FAIL|晶振时钟当前是否已经停振0:外部晶体当前正常工作1:外部晶体当前已经停振|
|\[11:10\]||未使用|
|\[9:8\]|CLK_SEL|系统时钟MCLK的来源选择信号。默认选择HRC0: HRC1: PLL2: LRC3:保留注意，PLL/XTAL在上电后默认开启，需要软件来关闭。|
|\[7:0\]|CLK_DIV|PLL输出分频控制，默认为0x00: 1/8分频0x01: 1/8分频0x11: 1/4分频0x55: 1/2分频0xFF: 1/1分频不推荐其它配置值。|

当CLK_SEL = 0时，MCLK选择HSI
时钟（8MHz），此时SYS_CLK_CFG\[7:0\]的分频系数无效。最终输出的系统时钟频率即为8MHz。

当CLK_SEL = 2时，MCLK选择LRC
时钟（32kHz），此时SYS_CLK_CFG\[7:0\]的分频系数无效。最终输出的系统时钟频率即为32kHz。

当CLK_SEL = 3时，MCLK选择HSE
时钟（8MHz），此时SYS_CLK_CFG\[7:0\]的分频系数无效。最终输出的系统时钟频率即为8MHz。

### SYS_IO_CFG IO控制寄存器

地址:0x4000_0084

复位值:0x0

表6-7
SYS_IO_CFG IO控制寄存器

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
||||||||||SWDMUX|RST_IO||||||
||||||||||RW|RW||||||
||||||||||0|0||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:7\]||未使用|
|\[6\]|SWDMUX|SWD复用控制信号，默认配置为SWD0:P2.13复用为SWCLK，P2.0 复用为SWDIO1:P2.13, P2.0作为正常GPIO使用|
|\[5\]|RST_IO|RSTn/P0.2复用控制信号，默认配置为RSTn0:RSTn1:P0.2注意，上电后默认是RSTn，后续软件可使能此位，RSTn功能失效|
|\[4:0\]||未使用|

为了安全起见，上电后30ms内，SWD的IO不能切换为GPIO功能，只能作为SWD使用。即使软件改写了SYS_MISC_CFG\[6\]也需要在30ms之后才会生效。现象为:在30ms内，软件可以向SYS_IO_CFG\[6\]写入1’b0，但读回该bit仍为1’b1，如果经过15ms后再读，则可读回1’b0。即软件写入是有效的，但不会立即生效。这是为了防止应用上上电即切换SWD功能为GPIO，导致芯片后续无法通过SWD进行擦写烧录flash。

注意，SWD
IO切换为GPIO功能后，用户无法再通过SWD对芯片进行调试，因此建议上电后留有一定的时间窗口，经过一定延时后再将SWD切换为GPIO功能。而且软件上建议留有其他设计考虑，使得SWD
IO可以切换回SWD功能。

### SYS_DBG_CFG Debug控制寄存器

地址:0x4000_0088

复位值:0x0

表6-8
SYS_DBG_CFG Debug控制寄存器

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|
|SW_IRQ_TRIG||||||||||||||||
|W||||||||||||||||
|0||||||||||||||||
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|SW_IRQ|SFT_RST_PERI|||RSV|DBG_TIM2_STOP|DBG_TIM1_STOP|DBG_TIM0_STOP|||DBG_IWDG_STOP||||DBG_STOP|DBG_SLP|
|RW1C|RW|||RW|RW|RW|RW|||RW||||RW|RW|
|0|0|||0|0|0|0|||0||||0|0|

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]|SW_IRQ_TRIG|向此位段写入0x5AA5 触发软件中断，SW_IRQ置1|
|\[15\]|SW_IRQ|软件中断标志，对应中断号38，写1清零。|
|\[14\]|SFT_RST_PERI|Debug软复位是否复位除Flash/SYS_AFE以外的外设寄存器|
|\[13:12\]||未使用|
|\[11\]|Reserved|保留位，必须为0|
|\[10\]|DBG_TIM2_STOP|调试模式下CPU halt状态TIMER2停止1:TIMER2在CPU halt状态时停止计数0:TIMER2在CPU halt状态时继续计数|
|\[9\]|DBG_TIM1_STOP|调试模式下CPU halt状态TIMER1停止1:TIMER1在CPU halt状态时停止计数0:TIMER1在CPU halt状态时继续计数|
|\[8\]|DBG_TIM0_STOP|调试模式下CPU halt状态TIMER0停止1:TIMER0在CPU halt状态时停止计数0:TIMER0在CPU halt状态时继续计数|
|\[7:6\]||未使用|
|\[5\]|DBG_IWDG_STOP|调试模式下CPU halt状态独立看门狗停止1:独立看门狗在CPU halt状态时停止计数0:独立看门狗在CPU halt状态时继续计数|
|\[4:2\]||未使用|
|\[1\]|DBG_STOP|调试STOP(DEEPSLEEP)模式0: (FCLK=Off, HCLK=Off) 在STOP模式下，时钟管理模块关闭HCLK和FCLK，即处理器时钟和所有外设时钟。当退出STOP模式时，时钟管理模块不经历复位，并保持原有配置，可以恢复到STOP模式前的时钟设置。在STOP模式中，所有外设寄存器均保持，因此退出后无需重新配置。1: (FCLK=On, HCLK=On) 如果设置DBG_STOP为1，进入STOP模式后HCLK和FCLK均不被关闭。通过设置SCB-\>SCR = (1UL\<\<2)，然后使用\_\_WFI()/\_\_\_WFE()指令进入STOP模式。|
|\[0\]|DBG_SLP|调试睡眠(SLEEP)模式0: (FCLK=On, HCLK=Off) 在睡眠模式中，FCLK作为所有外设时钟，不关闭； HCLK作为CPU时钟，被关闭。在睡眠模式中，只有CPU时钟被暂时挂起，而所有外设包括系统时钟管理模块均保持原有配置状态。因此退出睡眠模式时，软件无需重新配置外设寄存器。1: (FCLK=On, HCLK=On) 如果配置DBG_SLP为1，则当进入睡眠模式时，HCLK不会关闭。通过\_\_WFI()/\_\_\_WFE()指令可以令处理器进入睡眠模式|

### SYS_CLK_DIV0 外设时钟分频寄存器0

地址:0x4000_0090

复位值:0x0

表6-9 SYS_CLK_DIV0外设时钟分频寄存器0

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|DIV0||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|DIV0|I2C工作时钟=MCLK/(CLK_DIV0+1)。其中MCLK由SYS_CLK_CFG分频系数决定|

### SYS_CLK_DIV1 外设时钟分频寄存器1

地址:0x4000_0094

复位值:0x0

表6-10 SYS_CLK_DIV1外设时钟分频寄存器1

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|DIV1||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|DIV1|SPI工作时钟=MCLK/(CLK_DIV0+1)。其中MCLK由SYS_CLK_CFG分频系数决定|

### SYS_CLK_DIV2 外设时钟分频寄存器2

地址:0x4000_0098

复位值:0x0

表6-11
SYS_CLK_DIV2外设时钟分频寄存器2

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|DIV2||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|DIV2|UART工作时钟=MCLK/(CLK_DIV2+1)。UART0/UART1共享此分频配置，波特率根据UART波特率寄存器进一步分频，其中MCLK由SYS_CLK_CFG分频系数决定。|

### SYS_CLK_FEN 外设时钟门控寄存器

地址:0x4000_009C

复位值:0x0

表6-12
SYS_CLK_FEN外设时钟门控寄存器

|||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|31||30||29||28||27|26|25|24|23|22|21|20|19|18|17|16|
||||||||||||Res.|Res.|Res.|CL0_CLK_EN|SIF0_CLK_EN|Res.|Res.|DSP0_CLK_EN|CRC0_CLK_EN|
||||||||||||RW|RW|RW|RW|RW|RW|RW|RW|RW|
||||||||||||0|0|0|0|0|0|0|0|0|
|15|14||13||12||11||10|9|8|7|6|5|4|3|2|1|0|
|Res.|UART2_CLK_EN||UART1_CLK_EN||UART0_CLK_EN||GPIO_CLK_EN||MCPWM0_CLK_EN|Res.|QEP0_CLK_EN|Res.|TIMER2_CLK_EN|TIMER1_CLK_EN|TIMER0_CLK_EN|HALL0_CLK_EN|CMP_CLK_EN|I2C0_CLK_EN|SPI0_CLK_EN|
|RW|RW||RW||RW||RW||RW|RW|RW|RW|RW|RW|RW|RW|RW|RW|RW|
|0|0||0||0||0||0|0|0|0|0|0|0|0|0|0|0|

||||
|---|---|---|
|位置|位名称|说明|
|\[31:25\]||未使用|
|\[24:22\]||保留|
|\[21\]|CL0_CLK_EN|CL0模块时钟控制信号，默认关闭CL0模块时钟1:使能CL0模块时钟0:关闭CL0模块时钟|
|\[20\]|SIF0_CLK_EN|SIF0模块时钟控制信号，默认关闭SIF0模块时钟1:使能SIF0模块时钟0:关闭SIF0模块时钟|
|\[19\]||保留|
|\[18\]||保留|
|\[17\]|DSP0_CLK_EN|DSP0模块时钟控制信号，默认关闭DSP0模块时钟1:使能DSP0模块时钟0:关闭DSP0模块时钟|
|\[16\]|CRC0_CLK_EN|CRC0模块时钟控制信号，默认关闭CRC0模块时钟1:使能CRC0模块时钟0:关闭CRC0模块时钟|
|\[15\]|||
|\[14\]|UART2_CLK_EN|UART2模块时钟控制信号，默认关闭UART2模块时钟1:使能UART2模块时钟0:关闭UART2模块时钟|
|\[13\]|UART1_CLK_EN|UART1模块时钟控制信号，默认关闭UART1模块时钟1:使能UART1模块时钟0:关闭UART1模块时钟|
|\[12\]|UART0_CLK_EN|UART0模块时钟控制信号，默认关闭UART0模块时钟1:使能UART0模块时钟0:关闭UART0模块时钟|
|\[11\]|GPIO_CLK_EN|GPIO模块时钟控制信号，默认关闭GPIO模块时钟1:使能GPIO模块时钟0:关闭GPIO模块时钟|
|\[10\]|MCPWM0_CLK_EN|MCPWM0模块时钟控制信号，默认关闭MCPWM0模块时钟1:使能MCPWM0模块时钟0:关闭MCPWM0模块时钟|
|\[9\]||保留|
|\[8\]|QEP0_CLK_EN|QEP0模块时钟控制信号，默认关闭QEP0模块时钟1:使能QEP0模块时钟0:关闭QEP0模块时钟|
|\[7\]||保留|
|\[6\]|TIMER2_CLK_EN|TIMER2模块时钟控制信号，默认关闭TIMER2模块时钟1:使能TIMER2模块时钟0:关闭TIMER2模块时钟|
|\[5\]|TIMER1_CLK_EN|TIMER1模块时钟控制信号，默认关闭TIMER1模块时钟1:使能TIMER1模块时钟0:关闭TIMER1模块时钟|
|\[4\]|TIMER0_CLK_EN|TIMER0模块时钟控制信号，默认关闭TIMER0模块时钟1:使能TIMER0模块时钟0:关闭TIMER0模块时钟|
|\[3\]|HALL0_CLK_EN|HALL0模块时钟控制信号，默认关闭HALL0模块时钟1:使能HALL0模块时钟0:关闭HALL0模块时钟|
|\[2\]|CMP_CLK_EN|CMP模块时钟控制信号，默认关闭CMP模块时钟1:使能CMP模块时钟0:关闭CMP模块时钟|
|\[1\]|I2C0_CLK_EN|I2C0模块时钟控制信号，默认关闭I2C0模块时钟1:使能I2C0模块时钟0:关闭I2C0模块时钟|
|\[0\]|SPI0_CLK_EN|SPI0模块时钟控制信号，默认关闭SPI0模块时钟1:使能SPI0模块时钟0:关闭SPI0模块时钟|

注意，上述每个模块的时钟为各自模块内部电路的工作时钟，即使不开启各自模块的时钟，也不影响软件访问各自模块的寄存器。

### SYS_SFT_RST 软复位寄存器

地址:0x4000_00A4

复位值:0x0

表6-13
SYS_SFT_RST软复位寄存器

|||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|31||30||29||28||27||26|25|24|23|22||21||20||19|18|17|16|
|||||||||||EEPROM_SFT_RST|||ADC1_SFT_RST||ADC0_SFT_RST||CL0_SFT_RST||SIF0_SFT_RST||DMA0_SFT_RST|DSP0_SFT_RST|CRC0_SFT_RST|
|||||||||||RW|||RW||RW||RW||RW||RW|RW|RW|
|||||||||||0|||0||0||0||0||0|0|0|
|15||14||13||12||11||10|9|8|7|6||5||4||3|2|1|0|
||UART2_SFT_RST||UART1_SFT_RST||UART0_SFT_RST||GPIO_SFT_RST||MCPWM0_SFT_RST||QEP1_SFT_RST|QEP0_SFT_RST||TIMER2_SFT_RST||TIMER1_SFT_RST||TIMER0_SFT_RST||HALL0_SFT_RST|CMP_SFT_RST|I2C0_SFT_RST|SPI0_SFT_RST|
||RW||RW||RW||RW||RW||RW|RW||RW||RW||RW||RW|RW|RW|RW|
||0||0||0||0||0||0|0||0||0||0||0|0|0|0|

||||
|---|---|---|
|位置|位名称|说明|
|\[31:24\]||未使用|
|\[26\]|EEPROM_SFT_RST|EEPROM模块软复位信号，默认不复位EEPROM模块1:复位EEPROM模块0:释放EEPROM模块|
|\[25:24\]||保留|
|\[23\]|ADC1_SFT_RST|ADC1数字接口模块软复位信号，默认不复位ADC1模块1:复位ADC1数字接口模块0:释放ADC1数字接口模块|
|\[22\]|ADC0_SFT_RST|ADC0数字接口模块软复位信号，默认不复位ADC0模块1:复位ADC0数字接口模块0:释放ADC0数字接口模块|
|\[21\]|CL0_SFT_RST|CL0模块软复位信号，默认不复位CL0模块1:复位CL0模块0:释放CL0模块|
|\[20\]|SIF0_SFT_RST|SIF0模块软复位信号，默认不复位SIF0模块1:复位SIF0模块0:释放SIF0模块|
|\[19\]||保留|
|\[18\]|DMA0_SFT_RST|DMA0模块软复位信号，默认不复位DMA0模块1:复位DMA0模块0:释放DMA0模块|
|\[17\]|DSP0_SFT_RST|DSP0模块软复位信号，默认不复位DSP0模块1:复位DSP0模块0:释放DSP0模块|
|\[16\]|CRC0_SFT_RST|CRC0数字接口模块软复位信号，默认不复位CRC0模块1:复位CRC0数字接口模块0:释放CRC0数字接口模块|
|\[15\]||保留|
|\[14\]|UART2_SFT_RST|UART1模块软复位信号，默认不复位UART1模块1:复位UART1模块0:释放UART1模块|
|\[13\]|UART1_SFT_RST|UART1模块软复位信号，默认不复位UART1模块1:复位UART1模块0:释放UART1模块|
|\[12\]|UART0_SFT_RST|UART0模块软复位信号，默认不复位UART0模块1:复位UART0模块0:释放UART0模块|
|\[11\]|GPIO\_ SFT_RST|GPIO模块软复位信号，默认不复位GPIO模块1:复位GPIO模块0:释放GPIO模块|
|\[10\]|MCPWM0_SFT_RST|MCPWM0模块软复位信号，默认不复位MCPWM0模块1:复位MCPWM0模块0:释放MCPWM0模块|
|\[9\]||保留|
|\[8\]|QEP0_SFT_RST|QEP0模块软复位信号，默认不复位QEP0模块1:复位QEP0模块0:释放QEP0模块|
|\[7\]||保留|
|\[6\]|TIMER2_SFT_RST|TIMER2模块软复位信号，默认不复位TIMER2模块1:复位TIMER2模块0:释放TIMER2模块|
|\[5\]|TIMER1_SFT_RST|TIMER1模块软复位信号，默认不复位TIMER1模块1:复位TIMER1模块0:释放TIMER1模块|
|\[4\]|TIMER0_SFT_RST|TIMER0模块软复位信号，默认不复位TIMER0模块1:复位TIMER0模块0:释放TIMER0模块|
|\[3\]|HALL0_SFT_RST|HALL0模块软复位信号，默认不复位HALL0模块1:复位HALL0模块0:释放HALL0模块|
|\[2\]|CMP_SFT_RST|CMP模块软复位信号，默认不复位CMP模块1:复位CMP模块0:释放CMP模块|
|\[1\]|I2C0_SFT_RST|I2C0模块软复位信号，默认不复位I2C0模块1:复位I2C0模块0:释放I2C0模块|
|\[0\]|SPI0_SFT_RST|SPI0模块软复位信号，默认不复位SPI0模块1:复位SPI0模块0:释放SPI0模块|

注意，模块软复位在SYS_SFT_RST对应位写入1后会保持在复位状态，需要再次写入0才能解除复位状态。

### SYS_PROTECT 写保护寄存器

地址:0x4000_00A8

复位值:0x0

表6-14 SYS_PROTECT写保护寄存器

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|PSW||||||||||||||||
|WO||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|PSW|除SYS_AFE_DAC0、SYS_AFE_DAC0_AMC、SYS_AFE_DAC0_DC、SYS_AFE_DAC1、SYS_AFE_DAC1_AMC、SYS_AFE_DAC1_DC外，其他系统寄存器(SYS_开头的寄存器，包括时钟复位管理以及模拟寄存器)受写保护，写入前需先写入密码解除写保护写入0x7A83，解除写保护，使能寄存器写操作写入其它值，开启写保护，禁止寄存器写操作读回恒为0|

### SYS_IF 系统中断标志寄存器

地址:0x4000_00B4

复位值:0x0

表6-15 SYS_IF 系统中断标志寄存器

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|||||||||||||||PWR_WK|NMI_TIMEOUT|
|||||||||||||||RO|RW1C|
|||||||||||||||0|0|

||||
|---|---|---|
|位置|位名称|说明|
|\[31:2\]||未使用|
|\[1\]|PWR_WK|电源过低中断标志，只读，高有效。|
|\[0\]|NMI_TIMEOUT|NMI定时中断标志，写1清零，高有效。|

### SYS_RAM_LOCK RAM锁定寄存器

地址:0x4000_00B8

复位值:0x0

表6-16 SYS_RAM_LOCK RAM锁定寄存器

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|31|30|29|28|27|26|25|24|23|22|21|20|19|18|17|16|
|PSW||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|PSW||||||||L7K|L6K|L5K|L4K|L3K|L2K|L1K|L0K|
|RW||||||||RW|RW|RW|RW|RW|RW|RW|RW|
|0||||||||0|0|0|0|0|0|0|0|

||||
|---|---|---|
|位置|位名称|说明|
|\[31:8\]|PSW|只有在\[31:8\]写入0x5a6b7c的同时，才能改写\[7:0\]|
|\[7\]|L7K|0x1C00~0x1FFF RAM空间写入锁定0:允许改写1:不允许改写|
|\[6\]|L6K|0x1800~0x1BFF RAM空间写入锁定0:允许改写1:不允许改写|
|\[5\]|L5K|0x1400~0x17FF RAM空间写入锁定0:允许改写1:不允许改写|
|\[4\]|L4K|0x1000~0x13FF RAM空间写入锁定0:允许改写1:不允许改写|
|\[3\]|L3K|0x0C00~0x0FFF RAM空间写入锁定0:允许改写1:不允许改写|
|\[2\]|L2K|0x0800~0x0BFF RAM空间写入锁定0:允许改写1:不允许改写|
|\[1\]|L1K|0x0400~0x07FF RAM空间写入锁定0:允许改写1:不允许改写|
|\[0\]|L0K|0x0000~0x03FF RAM空间写入锁定0:允许改写1:不允许改写|

注意，RAM基地址为0x2000_0000，因此L0K控制的RAM区域为0x2000_0000~0x2000_03FF

### SYS_FLSE 擦除保护寄存器

地址:0x4000_00D0

复位值:0x0

表6-17擦除保护寄存器
SYS_FLSE

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|FLSE||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|FLSE|FLASH擦除保护寄存器。本寄存器写入0x8FCA，FLASH的擦除功能才能最终生效。写入其他值，FLASH的擦除功能均无法生效。为防止误擦除，建议不使用擦除功能时，不生效此寄存器。|

### SYS_FLSP 编程保护寄存器

地址:0x4000_00D4

复位值:0x0

表6-18编程保护寄存器
SYS_FLSE

|||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|15|14|13|12|11|10|9|8|7|6|5|4|3|2|1|0|
|FLSP||||||||||||||||
|RW||||||||||||||||
|0||||||||||||||||

||||
|---|---|---|
|位置|位名称|说明|
|\[31:16\]||未使用|
|\[15:0\]|FLSP|FLASH编程保护寄存器。本寄存器写入0x8F35，FLASH的编程功能才能最终生效。写入其他值，FLASH的编程功能均无法生效。为防止误编程，建议不使用编程功能时，不生效此寄存器。|

