请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
器件型号:RM48L952 主题中讨论的其他器件:HALCOGEN
您好!
对于我们使用 Hercules RM48L52 MCU 的应用、我们有几个关于安全手册[spnu577d]的问题、主要 是关于 SafeTI 诊断库(V2.4.0)和 HalCoGen 的关系。 我在 SafeTI 诊断库的用户指南中找到了"API 映射安全手册"页面。 不过,我有时不清楚哪一项论点须交予各职能部门,以涵盖某项测试。
1) 1)安全手册使用两种类型:诊断和诊断测试。
我们必须:
我们必须:
A。 选择用于诊断系统安全关键组件的诊断程序
B。 确保已启用它们(即在 RAM 上启用 ECC)
c。 定义此诊断报告的错误的错误处理(即 ISR)
D。 实施/使用(单个?) 涵盖此诊断的"诊断测试"
这是´s 我如何解释该表的。 是这样吗?
2) 2) RAM14/VIM12/DMA16均为 PBIST 的软件测试。 SafeTI 库是指带有注释的"sl_SelfTest_PBIST"函数
"在 PBIST 上使用失败测试-有关详细信息、请参阅器件安全手册。"
《安全手册》规定:
"通过选择一个应该失败的算法并查看是否、可以配置 PBIST 逻辑
PBIST 逻辑在这种情况下报告一个错误。 例如、可以在上执行读写测试
只读存储器、以确保报告故障。 另一种方案是运行存储器测试
实际存在于器件存储器中的位数更多。"
《安全手册》规定:
"通过选择一个应该失败的算法并查看是否、可以配置 PBIST 逻辑
PBIST 逻辑在这种情况下报告一个错误。 例如、可以在上执行读写测试
只读存储器、以确保报告故障。 另一种方案是运行存储器测试
实际存在于器件存储器中的位数更多。"
HalCoGen 生成"pbistSelfCheck()函数来执行这个测试。
单次测试(写入 ROM)是否足以保证 PBIST 的正常运行、或者我是否必须 为每个 内存运行一个失败的 PBIST?
3) RAM15/RAM19/CPU9/VIM11/VIM13/FLA15/.. "自动覆盖"
"Auto Coverage" (自动覆盖)被称为诊断测试多次。 解释说、由于2^n 值中只有1个是正确的、因此如果 CRC 计算/PBIST 中存在故障、不可能生成正确的值。 这似乎由"文本执行时间"列中的"N/A;隐含在 CRC/PBIST 操作中"确认。 如果我们执行 SRAM PBIST (RAM7A)、那么我们是否可以自动声明 RAM15 PBIST 自动覆盖已完成?
"Auto Coverage" (自动覆盖)被称为诊断测试多次。 解释说、由于2^n 值中只有1个是正确的、因此如果 CRC 计算/PBIST 中存在故障、不可能生成正确的值。 这似乎由"文本执行时间"列中的"N/A;隐含在 CRC/PBIST 操作中"确认。 如果我们执行 SRAM PBIST (RAM7A)、那么我们是否可以自动声明 RAM15 PBIST 自动覆盖已完成?
4) RAM18 "硬件 CRC 的软件测试"
如果 CRC 外设仅用于计算 CRC、而不是根据"黄金值"对其进行评估(这是由 CPU 完成的)、那么有意引入错误以在计算的 CRC 和"黄金值"之间创建不匹配似乎毫无意义。 同意?
5) CPU6/CPU7:"静态配置寄存器的定期软件回读/ CPU 寄存器的软件回读"
从 Cortex R4F TRM 中,我花了一段时间来弄清这里的寄存器是什么样子的,CPU 协处理器好像是:浮点单元、TCRAM、... 使用 MRC 和 MCR 指令(在由 HalCoGen 生成的 sys_core.asm 中)来完成对这些控制寄存器的设置。 例如、这就是启用 ECC 的方式。
从 Cortex R4F TRM 中,我花了一段时间来弄清这里的寄存器是什么样子的,CPU 协处理器好像是:浮点单元、TCRAM、... 使用 MRC 和 MCR 指令(在由 HalCoGen 生成的 sys_core.asm 中)来完成对这些控制寄存器的设置。 例如、这就是启用 ECC 的方式。
在我看来、实现回读只能通过汇编实现、在 SafeTI 库或 HalCoGen 中、我找不到这方面的支持函数。 不支持是否正确?
在哪里可以找到对协处理器配置寄存器的监督?
在哪里可以找到对协处理器配置寄存器的监督?
6) FLA7:"闪存扇区保护"/FLA13 "闪存扇区保护单元的软件测试"
我不清楚闪存扇区保护的目的。 它是为了防止 CPU (某种类型的引导加载程序)或外部源(JTAG?)意外擦除闪存组?
如果应用不使用闪存写入 API、是否有必要对此进行测试?
7) 7) INC2 "PCR 访问管理"
如何禁用未使用的外设? HalCoGen 中没有 PCR 选项卡、我找不到 API 函数来执行此操作。 当您取消选中"ENABLE DRIVER"复选框时、HalCoGen 是否自动完成此操作?
8) 8) ESM2B 错误部件报告
这可以通过执行 CCM 自检进行测试、因为这会报告 ESM 错误、但这仅测试1个错误路径。
并非所有 ESM 错误路径都可以被测试(因为某些错误路径将直接导致一个中止)。
这可以通过执行 CCM 自检进行测试、因为这会报告 ESM 错误、但这仅测试1个错误路径。
并非所有 ESM 错误路径都可以被测试(因为某些错误路径将直接导致一个中止)。
测试一个错误路径是否足以声明已测试此诊断?
9) DMA9A/DMA9B/DMA18
SafeTI 诊断库文档显示 sl_SelfTest_DMA 是用于测试这些(和 DM12)的函数。
在 R4器件上、该函数可以执行两个测试 DMA_software_test 和 DMA_SRAM_parity 测试。 很明显、DMA_SRAM_parity 测试与 DMA12匹配。
不清楚哪个测试 DMA_software_test 匹配:
在 R4器件上、该函数可以执行两个测试 DMA_software_test 和 DMA_SRAM_parity 测试。 很明显、DMA_SRAM_parity 测试与 DMA12匹配。
不清楚哪个测试 DMA_software_test 匹配:
DMA9A/B:“DMA MPU 功能的引导时间/定期软件测试,包括错误测试”
或 DMA18:" MPU 功能的软件测试"。
谢谢、
Karel