Other Parts Discussed in Thread: AM2612
器件型号: AM2612
- 自检覆盖范围 :关于与内存相关的自检功能 (PBIST、LBIST 和 ECC)、这些功能是否也适用于 PRU-ICSS?
- 错误信令 :如果 PRU-ICSS 内发生错误、是否可以通过 ESM(错误信令模块)输出该错误?
谢谢。此致、
英明
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.
请查看随附的回复:
|
功能
|
适用于 PRU-ICSS?
|
详细信息
|
|---|---|---|
|
PBIST
|
|
所有本地 PRU-ICSS 存储器上均支持[1]
|
|
ECC
|
|
所有 PRU-ICSS 存储器上的 SECDED ECC [1]
|
|
LBIST
|
否
|
PRU-ICSS 无 LBIST 覆盖[1]
|
PBIST PRU-ICSS 子系统[1]内所有本地存储器都支持该协议。 PRU-ICSS 被归类为 A FuSA-Lite 子系统 系统特性。[1]
ECC 在所有 PRU-ICSS 存储器中实现 (SECDED — 单错校正,双错检测)[1]、具体通过集成 ECC 聚合器模块覆盖以下存储器结构[2]:
LBIST 覆盖范围不扩展到 PRU-ICSS [1]。
是—PRU-ICSS 错误路由到 ESM 、ESM 可以从外部发出这些错误的信号。 AM2612 文档明确指出 PRU-ICSS 内的错误会报告给器件 ESM [1]、具体的通道分配定义如下[1]:
|
错误类型
|
ESM 组
|
ESM 通道
|
|---|---|---|
|
可纠正的 ECC 错误 (ICSSG0 RAM)
|
组 1
|
信道 40
|
|
不可纠正的 ECC 错误 (ICSSG0 RAM)
|
组 1
|
信道 41
|
|
超时错误 (OCP 主端口、PRU/RTU_PRU)+ IEP 奇偶校验错误
|
组 1
|
信道 42
|
ESM 可以聚合来自整个 SoC 的安全相关事件、并在将外部置为有效的同时生成到处理内核的中断 SAFETY_ERRORn 引脚(禁用 PWM 模式时,低电平有效)[4]。 该引脚可以由外部安全控制器或系统监控器进行监控、以便在检测到故障时采取适当的操作[4]。
ECC 一位 (SEC) 和双位 (DED) 错误脉冲中断输出到 ESM [2]、这意味着该信令路径涵盖 PRU-ICSS 内的可纠正和不可纠正的存储器故障。
总结: 针对 PRU-ICSS 确认 PBIST 和 ECC;不记录 LBIST(如适用)。 所有 PRU-ICSS ECC 错误都路由到具有定义的通道分配的 ESM、并可以通过 SAFETY_ERROR 引脚从外部发出信号。
自检如何对 PRU 逻辑执行? 通过软件? 如果是、是否有任何 PRU-ICSS 示例? 我找不到它。
PBIST 与任何其他存储器一样、由软件执行、请参阅此处的 SDL 示例 — https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/11_01_00_19/exports/docs/api_guide_am261x/SDL_PBIST_PAGE.html
还包括 PRU 存储器。
您好:Nilabh、
我不理解 PRU 的 LBIST。 您提到如下。
[报价 userid=“500225" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1630230/am2612-pru-icss-self-test-and-error-signaling/6289420PBIST 与任何其他存储器一样、由软件执行、请参阅此处的 SDL 示例 — https://software-dl.ti.com/mcu-plus-sdk/esd/AM261X/11_01_00_19/exports/docs/api_guide_am261x/SDL_PBIST_PAGE.html
还包括 PRU 存储器。
[/报价]
我已经回答了以下问题。
我不确定、但我认为 LBIST 用于 CPU、逻辑器件、门等。 我找到了 R5F 子系统的 SDL 示例。 这些 SDL 库是否可用于 PRU-ICSS 上的每个逻辑模块? [/报价]
客户需要任何东西来对 PRU-ICSS 上的内核、逻辑与门执行自检。
谢谢。此致、
英明
Hi Hideki-san
LBIST 本身由硬件实现、如果您询问是否可以执行基于软件的 lbist、那么
答案很简单:不可以、您无法编写纯软件测试用例来为 PRU-ICSS 逻辑和 CPU 执行真正的 LBIST(逻辑内置自检)。
但是、您可以使用基于软件的自检 (SBST) 实现类似的安全和诊断目标。 下面详细介绍了 LBIST 受限制的原因以及如何实施软件替代方案。
1.为什么 LBIST 不能在软件中“写入“
LBIST 是基于硬件的结构测试。 它使用 BIST 控制器和扫描链(连接在长移位寄存器中的触发器)在硬件级切换逻辑门。
硬件依赖性:LBIST 需要特定的硬件挂钩来将逻辑与系统的其余部分隔离、应用假随机模式并观察输出签名。
破坏性性质:LBIST 通常对 CPU 状态具有破坏性。 如果 AM261x 上的 STC(自检控制器)的扫描分区中没有 PRU-ICSS、则软件无法“强制“硬件执行扫描测试。
访问:PRU-ICSS 内部未通过指令集映射或可访问的逻辑门无法由软件进行切换或验证。
2、替代方案:基于软件的自检 (SBST)
由于无法触发硬件 LBIST、因此必须使用 PRU 自己的指令集来验证其“运行状况“。 这是硬件 BIST 不可用时在功能安全方面的一种常见方法(例如 SIL2/SIL3)。
任务
您可以编写执行一系列测试以验证执行单元完整性的固件例程:
寄存器文件测试:将模式(如 0x555555 和 0xAAAAAAAA)写入所有 PRU 寄存器 (r0 至 R31) 并读回这些模式以确保没有位卡住。
ALU 功能测试:使用已知输入执行一组操作 (ADD、SUB、XOR、LSL)、并验证结果是否与预期值匹配。
指令完整性:执行罕见或复杂的指令(如用于常量表访问的 SBCO/LBCO)、以确保解码逻辑正常工作。
适用于 PRU-ICSS 逻辑(外设/流程)
要测试 PRU(ICSS 结构)周围的“逻辑“、请执行以下操作:
存储器 ECC/奇偶校验:手动触发或检查 PRU 数据 RAM 和指令 RAM 的奇偶校验/ECC 逻辑。
中断控制器 (INTC) 测试:使用软件中断触发位来确保 INTC 可以正确地将事件从 PRU 路由到 R5F 或另一个 PRU。
环回测试:如果将 PRU 用于工业协议(如 EtherCAT 或 PROFINET)、则应在 MII/RGMII 级别实现数字环回、以验证帧处理逻辑。