ZHCABS9A October   2017  – September 2022 TMS320F28075 , TMS320F28075-Q1 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S

 

  1.   C2000™ 硬件内置自检
  2.   商标
  3. 1引言
    1. 1.1 HWBIST 概述
      1. 1.1.1 HWBIST 系统内运行
    2. 1.2 HWBIST 故障响应
    3. 1.3 使用系统内 HWBIST 的优点
  4. 2使用系统内 HWBIST
    1. 2.1 基本 HWBIST 操作
      1. 2.1.1 初始化 HWBIST 控制器
      2. 2.1.2 执行 HWBIST
        1. 2.1.2.1 执行 HWBIST 微运行
        2. 2.1.2.2 执行 HWBIST 完全运行
      3. 2.1.3 错误管理
    2. 2.2 管理双核器件上的 HWBIST
      1. 2.2.1 信标管理
      2. 2.2.2 处理器间通信
    3. 2.3 使用 HWBIST 时的系统注意事项
      1. 2.3.1 中断延迟
      2. 2.3.2 电源注意事项
      3. 2.3.3 HWBIST 存储器要求
      4. 2.3.4 注入错误
    4. 2.4 调试系统内 HWBIST
  5. 3参考文献
  6. 4Revision History

基本 HWBIST 操作

执行 HWBIST 涉及以下四个代码段:

  • 初始化 HWBIST 控制器
  • 执行 HWBIST
  • 从 HWBIST 中恢复
  • 管理结果

大部分过程是通过软件诊断库函数实现的,用户的应用程序可以调用这些函数。头文件 stl_hwbist.h 中提供了函数定义。有关这些函数描述的更多详细信息,请参阅 stl_hwbist.h 或特定于器件的《SDL 用户指南》(位于库发布包的 /docs 文件夹中)。

包含多达八个函数,如下所示:

__interrupt void STL_HWBIST_errorNMIISR(void);
uint16_t STL_HWBIST_runFull(const STL_HWBIST_Error errorType);
uint16_t STL_HWBIST_runMicro(void);
void STL_HWBIST_restoreContext(void);
void STL_HWBIST_init(const STL_HWBIST_Coverage coverage);
void STL_HWBIST_injectError(const STL_HWBIST_Error errorType);
bool STL_HWBIST_claimSemaphore(const STL_HWBIST_Core core);
void STL_HWBIST_releaseSemaphore(void);