ZHCUC78A August   2024  – September 2024 AWRL1432 , AWRL6432 , IWRL1432 , IWRL6432 , IWRL6432AOP

 

  1.   1
  2.   商标
  3. 1引言
  4. 2基本引导加载程序流程
    1. 2.1 通过 UART 编程串行数据闪存(引导加载程序服务)
    2. 2.2 二进制文件格式
    3. 2.3 闪存编程序列
    4. 2.4 支持的 UART 命令/响应及其格式
    5. 2.5 刷写序列
    6. 2.6 ROM 辅助映像下载序列
    7. 2.7 引导应用程序映像
      1. 2.7.1 从串行闪存引导
      2. 2.7.2 引导模式 – SPI
      3. 2.7.3 引导模式 - UART
  5. 3辅助引导加载程序
    1. 3.1 SBL 执行流程
      1. 3.1.1 用于 SBL 执行的闪存存储器分区
      2. 3.1.2 SBL 特性修改
      3. 3.1.3 SBL 开发注意事项
  6. 4热复位
    1. 4.1 完整性验证
    2. 4.2 LSTC/PBIST
    3. 4.3 看门狗计时器
    4. 4.4 复位触发的应用程序闪存重新加载
      1. 4.4.1 硬件解决方案
        1. 4.4.1.1 PMIC I2C 消息传递
        2. 4.4.1.2 外部看门狗计时器
        3. 4.4.1.3 外部电压监控或电压监控器
      2. 4.4.2 软件解决方案
        1. 4.4.2.1 将引导向量设置为 0x0
  7. 5相关寄存器
    1. 5.1 复位寄存器
    2. 5.2 PC 寄存器
      1. 5.2.1 地址
  8. 6修订历史记录

复位寄存器

复位寄存器可用于识别触发的复位类型是否与用户想要触发的预期复位相匹配。请参阅下表,了解这些寄存器的说明以及这些寄存器中的值代表什么。

表 5-1 SYS_RST_CAUSE 寄存器
wWRLx432:TOP_PRCM:SYS_RST_CAUSE 字段名称 说明
Bit#16 SYS_RST_CAUSE_SYS_RST_CAUSE_CLR

清除 sys_rst_cause 寄存器

0x0 -> sys_rst_cause 捕获启用

0x1 -> sys_rst_cause 寄存器清除和禁用

Bit#<2:0> SYS_RST_CAUSE_SYS_RST_CAUSE

系统复位原因寄存器

3'b001 - POR 复位

3'b010 - 软寄存器引起的热复位

3'b100 - 看门狗引起的热复位

注: 在 STC_POR 复位时,SYS_RST_CAUSE 寄存器将为 0x0。只有在真正的 POR 复位时,此字段才会设置为 3'b001。
表 5-2 RADAR_WAKEUP_STATUS 寄存器字段说明
字段 类型 复位值 说明
31-21 RESERVED R/W X
20 radar_state_is_deep_sleep R 0h RADAR 电源 FSM 处于 DEEP_SLEEP 状态
19 radar_state_is_go_to_deep_sleep R 0h RADAR 电源 FSM 处于 GO_TO_DEEP_SLEEP 状态
18 radar_state_is_sleep R 0h RADAR 电源 FSM 处于 SLEEP 状态
17 radar_state_is_idle R 0h RADAR 电源 FSM 处于 IDLE 状态
16 radar_state_is_wake_up R 0h RADAR 电源 FSM 处于 WAKEUP 状态
15-9 RESERVED R/W X
8 wakeup_status_clear R/W 0h 清除唤醒状态和源寄存器 0x
0 -> 启用唤醒状态和源捕获 0x
1 -> 清除并禁用唤醒状态和源寄存器
7-2 wakeup_source R 0h 指示从 SLEEP/DEEP SLEEP 状态唤醒的源 Bit
0 -> 计时器作为唤醒源 Bit
1 -> UART 作为唤醒源 Bit
2 -> SPI 作为唤醒源 Bit
3 -> GPIO 作为唤醒源 Bit
4 -> RTC 计数器作为唤醒源 Bit
5 -> FRC 帧开始中断作为唤醒源
1-0 wakeup_status R 0h 指示器件的唤醒状态,由 POR 唤醒还是从 SLEEP/DEEP SLEEP 状态中唤醒 0x
1 -> 从 SLEEP 状态唤醒 0x
2 -> 从 DEEP SLEEP 状态唤醒
表 5-3 RST_CAUSE 寄存器字段说明
字段 类型 复位值 说明
31-8 RESERVED R X
7-0 COMMON R 3h APP CPU 的复位原因寄存器
0x00 - 全部清除
0x01 - 上电复位 (PoR)
0x02 - 子系统复位(使用 xWRLx432:TOP_PRCM:RST_APP_PD_SOFT_RESET 和 POR RESET 从 PRCM 启动的热复位组合)
0x04 - STC 复位
0x08 - Reserved
0x10 - 仅 CPU 复位,通过写入 xWRLx432:APP_RCM:RST_FSM_TRIG<RST_FSM_TRIG_CPU> 触发
0x20 - 使用 xWRLx432:TOP_PRCM:RST_SOFT_APP_CORE_SYSRESET_REQ(无条件复位 - 通过调试程序)或 xWRLx432:TOP_PRCM:APP_CORE_SYSRESET_PARAM_WAKEUP_OUT_STATE,从 PRCM 启动的内核复位
0x40 - Reserved
来源
[3:0] 通过引导加载程序识别复位原因
M_BOOT_RESET_REASON_PORZ: (0x1U)
M_BOOT_RESET_REASON_PORZ: (0x1U)
M_BOOT_RESET_REASON_WARM: (0x2U)
M_BOOT_RESET_REASON_DEEPSLEEP: (0x3U)
M_BOOT_RESET_REASON_SOFT: (0x4U)
M_BOOT_RESET_REASON_STC_WARM: (0x5U)
M_BOOT_RESET_REASON_STC_PORZ: (0x6U)
[7:4] SYS_RST_CAUSE[2:0]
[15:7] RADAR_WAKEUP_STATUS[7:0]
[23:16] RST_CAUSE[7:0]