ZHCACS4 june   2023 AM6442

 

  1.   1
  2.   摘要
  3.   商标
  4. 1引言
  5. 2所需的硬件和软件
  6. 3AM6442 RTI 看门狗模块
    1. 3.1 RTI 如何在 U-Boot 中工作?
  7. 4关于 U-Boot 中的这六个命令
  8. 5如何将这些命令转换为 C 代码?
    1. 5.1 本应用手册的完整 RTI 补丁
  9. 6参考文献

RTI 如何在 U-Boot 中工作?

通过读取特定于器件的 TRM,U-Boot 提示符中有六条命令可以让 RTI 看门狗工作:

  • mw.l 0x43009008 0x68EF3490 1
    (CTRL_MMR0,请参阅 AM64x/AM243x 技术参考手册
  • mw.l 0x4300900C 0xD172BC5A 1
    (CTRL_MMR0,请参阅 TRM)
  • mw.l 0x43008380 0x3 1
    (CTRL_MMR0,请参阅 TRM)
  • mw.l 0xe0000a4 0xa 1
    (RTI0,请参阅 TRM)
  • mw.l 0xe000094 0x23 1
    (RTI0,请参阅 TRM)
  • mw.l 0xe000090 0xA98559DA 1
注: 用红色标记的值 0x23 表示可以为看门狗过期值配置的值。

流程如下:

  1. 前四个命令用于解锁存储器映射寄存器 (MMR0),以 MMR0 为例。根据表 3-1,您需要解锁 RTI0 的“MMR0 寄存器”。
  2. 第 1 条和第 2 条命令用于 CTRL_MMR0 锁定或解锁。有关 CTRL_MMR0 的更多详细信息,请参阅 AM64x/AM243x 技术参考手册Kick 保护寄存器 部分中的分区解锁值 表。

    mw.l 0x43009008 0x68EF3490 1
    mw.l 0x4300900C 0xD172BC5A 1

  3. 第 3 个命令是设置 CTRLMMR_WWD0_CLKSEL 寄存器,其中 WWD0 是窗口看门狗 0 = RTI0。根据默认设置,值 0x3 是 32K 系统时钟源。有关更多信息,请参阅 AM64x/AM243x 技术参考手册

    mw.l 0x43008380 0x3 1

  4. 最后 3 个(第 4 个、第 5 个、第 6 个)命令用于配置 RTI0。
    1. 第 4 个命令是设置 RTI_WWDRXNCTR“数字窗口式看门狗响应”。该寄存器的值只能是 0x5 或 0xa。0xa 用于 RTI 生成不可屏蔽中断。

      mw.l 0xe0000a4 0xa 1

    2. 第 5 个命令用于设置预加载值,即计时窗口。这可以被视为“看门狗超时过期值”。

      mw.l 0xe000094 0x23 1

    3. 第 6 个命令用于启用 RTI 看门狗:
      1. 值 0x5312ACED 用于禁用 RTI。
      2. 值 0xA98559DA 用于启用 RTI。

      mw.l 0xe000090 0xA98559DA 1

表 3-1 RTI 时钟和复位
模块实例 模块时钟输入 源时钟信号 吸电流 说明
RTI0 RTI0_ICLK MAIN_SYSCLK0/4 PLLCTRL0 RTI0 接口时钟
RTI0_FCLK MCU_HFOSC0_CLKOUT MCU_HFOSC0 RTI0 功能时钟。有关 RTICLK0 多路复用器中时钟多路复用的更多信息,请参阅控制模块 (CTRL_MMR) 中的 CTRLMMR_WWD0_CLKSEL [1:0] CLK_SEL。
MCU_HFOSC0_CLKOUT_32K
MCU_CLK_12M_RC MCU_RC_OSC_12M
CLK_32K
RTI1 RTI1_ICLK MAIN_SYSCLK0/4 PLLCTRL0 RTI1 接口时钟
RTI1_FCLK MCU_HFOSC0_CLKOUT MCU_HFOSC0 RTI1 功能时钟。有关 RTICLK1 多路复用器中时钟多路复用的更多信息,请参阅控制模块 (CTRL_MMR) 中的 CTRLMMR_WWD0_CLKSEL [1:0] CLK_SEL。
MCU_HFOSC0_CLKOUT_32K
MCU_CLK_12M_RC MCU_RC_OSC_12M
CLK_32K
RTI8 RTI8_ICLK MAIN_SYSCLK0/4 PLLCTRL0 RTI8 接口时钟
RTI8_FCLK MCU_HFOSC0_CLKOUT MCU_HFOSC0 RTI8 功能时钟。有关 RTICLK8 多路复用器中时钟多路复用的更多信息,请参阅控制模块 (CTRL_MMR) 中的 CTRLMMR_WWD0_CLKSEL [1:0] CLK_SEL。
MCU_HFOSC0_CLKOUT_32K
MCU_CLK_12M_RC MCU_RC_OSC_12M
CLK_32K