ZHCAFU0 October   2025 TDA4VM

 

  1.   1
  2.   摘要
  3.   商标
  4. 1简介
  5. 2指令
    1. 2.1 范围
    2. 2.2 HWA 指令定义
    3. 2.3 故障注入程序
      1. 2.3.1 方框图
      2. 2.3.2 故障注入:步骤
        1. 2.3.2.1 下溢错误
        2. 2.3.2.2 溢出错误
        3. 2.3.2.3 偏移奇偶校验错误
        4. 2.3.2.4 配置奇偶校验错误
          1. 2.3.2.4.1 FSM 配置奇偶校验错误
          2. 2.3.2.4.2 B FSM 配置奇偶校验错误
          3. 2.3.2.4.3 C FSM 配置奇偶校验错误
          4. 2.3.2.4.4 X FSM 配置奇偶校验错误
        5. 2.3.2.5 C 读取错误
        6. 2.3.2.6 C 写入错误
  6. 3流程图
    1. 3.1 代码更改
      1. 3.1.1 返回挂钩定义
      2. 3.1.2 清除 MMA 函数
      3. 3.1.3 序列测试
  7. 4总结
  8. 5参考资料

下溢错误

尝试读取传输缓冲器时会导致下溢错误,但 FIFO 中无有效数据(编程错误),以下是注入下溢错误的步骤。
  1. HWAOPEN 指令用于写入 HWA_CONFIG 及 HWA_OFFSET。
  2. 执行 HWAXFER 以将 HWA_STATUS 的内容传输至内部缓冲器。
  3. 执行 HWARCV_(0) 指令,将存储在 HWA 内部缓冲器中的值传输至 C7x CPU 通用寄存器。
  4. 重复步骤 3,直到 c7x CPU 的内部缓冲器中没有会触发异常的有效数据。
void underflow_exception(void)
{
  __HWA_CONFIG_REG_v1 mma_config_reg;
  mma_config_reg = __gen_HWA_CONFIG_REG_v1();
  __HWA_OFFSET_REG offset_reg;
  offset_reg = __gen_HWA_OFFSET_REG();
  __HWAOPEN(mma_config_reg,offset_reg,__MMA_OPEN_FSM_RESET);
  __HWAADV();
  __HWAADV();
  __HWAXFER(__MMA_XFER_SRC_HWA_STATUS);
  __HWAADV();
  __HWAADV();
  __HWAADV();
  __HWAADV();
  __HWARCV(0);
  __HWARCV(0);
}