你好
我使用安全库 API 函数来测试错误 诊断
例如"sl_CRC_CALCULESRAT""sl_selftest_flash"等
使用这些函数的前提是什么?
保证的外设?
如何确保这些外设正常?
谢谢你
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
你好
我使用安全库 API 函数来测试错误 诊断
例如"sl_CRC_CALCULESRAT""sl_selftest_flash"等
使用这些函数的前提是什么?
保证的外设?
如何确保这些外设正常?
谢谢你
sl_CRC_Calculate()用于计算该器件上的硬件 CRC 模块。 此函数不会将计算出的 CRC 与预先确定的 CRC 值进行比较。 它不对 CRC 控制器执行诊断测试。
对于 CRC 诊断、您可以使用经过验证的软件工具或自己的 CRC 代码计算 CRC 值、并将其与 CRC 控制器生成的 CRC 值进行比较。 要检查 CRC 模块中的比较单元、 您可以 特意强制数据与预期的 CRC 签名之间存在不匹配、 并查看 CRC 逻辑是否报告错误。
SL_selEST_FLASH ()用于根据 TRM 诊断模式中列出的方法执行闪存诊断。 请参阅安全手册的附录 A 和 TRM 的第5.6节。
请阅读安全手册中的附录:
“安全岛”是所有处理操作所需的逻辑区域。 此逻辑受到硬件诊断的严重保护。 一旦这个区域被安全处理、它可被用于在其它设计元件上提供全面的软件诊断。
安全岛硬件诊断包括:
锁步模式是启动时的默认模式。 为了避免错误的 CCMR4F 比较错误、应用软件需要 在 使用寄存器之前、确保两个 CPU 的 CPU 寄存器初始化为相同的值。 ESM 2:2
CCM-R4F 自检可使用多种诊断模式:自检、错误强制等 可以通过向 CCMKEYR 寄存器写入正确的 vale 来启用这些诊断。
硬件
片上闪存和 RAM 存储器由单纠错、双纠错(SECDED) ECC 诊断支持。 闪存和 RAM 的 ECC 逻辑在复位时被禁用并且必须由应用软件启用。
闪存包装程序支持多种诊断模式、应用程序可以使用这些模式来测试 ECC 逻辑。
如果发生任何 ECC 错误、ESM 标志将被置位。
这个 PBIST 被用来在 晶体管级执行的 SRAM 上提供一个非常高的诊断覆盖。 PBIST 测试由软件触发。
这个 LBIST 逻辑被用来在晶体管级锁步 CPU 上提供一个非常高的诊断覆盖。 LBIST 测试由软件触发。 LBIST 错误将报告给 ESM 1:27
VMON 监视内核和 I/O 电源。 VMON 持续运行、无需软件配置或 CPU 开销。 如果电源 超出电压范围、则生成复位。
时钟:它包括 低功耗振荡器时钟检测器、 PLL 跳周检测器和 双时钟比较器(DCC)。 低功耗振荡器时钟检测器(LPOCLKDET)是一种安全诊断、可用于检测 主时钟振荡器的故障。 在上电复位状态期间、LPOCLKDET 电路默认被启用。 此诊断可由软件禁用。 ESM 1:11
只要 PLL 被启用、PLL 跳周检测诊断就被激活并且已经锁定在一个目标频率上。 该诊断不能由软件禁用。 ESM 1:10