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.

[参考译文] TMS570LS1224:需要有关 TI 安全库 API 使用的建议

Guru**** 2463330 points
Other Parts Discussed in Thread: TMS570LS1224, HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/651480/tms570ls1224-need-suggestion-on-ti-safety-library-api-usage

器件型号:TMS570LS1224
主题中讨论的其他器件: HALCOGEN

大家好、团队、

作为功能安全的一部分、我们希望在 TMS570ls1224微控制器上实施自检、诊断和诊断测试。  

我认为我们可以通过两种方式来实现这一点:(如果我错了、请纠正我)

1) 1)安全的 TI 诊断库 API 可映射到 Hercules 安全 MCU 诊断功能、这些功能可在我们的应用中用于执行诊断或提供诊断功能本身的测试。

2) 2)在 Halcogen 中配置 SAFE_init 选项卡。  在 SAFE_INIT 选项卡中启用所有安全相关设置(如 CPU 自检、CCM 自检、启用 RAM ECC、闪存 ECC、PBIST……)

现在、我有一些基本问题、在阅读安全手册后我不清楚:

 TMS570架构使用安全岛方法。

“在“安全岛”方法中,连续分配一组核心元素,以运行硬件安全机制。 这个元件内核集、包括电源和时钟以及复位、CPU、闪存存储器、SRAM 和与闪存和 SRAM 的相关互连、需要确保软件的任何功能正确执行。 一旦这些元件的正确运行被确认、为了在其它器件元件上、例如外设上提供基于软件的诊断、可在这些元件上执行软件。 "

这意味着、如果硬件被安全运行、我们可以针对外设运行基于软件和软件的诊断

1) 1)为什么必须使用安全的 TI 诊断库 API?  

2)如果我们在 halcogen 中启用所有安全设置。 我们是否仍然需要使用安全 TI 诊断库 API?  

3) 3) Safe ti lib API 是否仅用于故障插入和诊断测试??

4) 4)当我在 halcogen 的 Safe ti init 选项卡中启用 CPU 自检时, 函数  stcSelfCheck() 将在 sys_startup.c 文件中调用。

这意味  着在引导时 stcSelfCheck()被触发。  如何检查 stcSelfCheck() ;按需/定期? 我应该使用 Safe ti lib API sl_Selftest_STC() ,还是不应该因为安全岛合适 的方法将持续监控 STC 而烦恼??

请提供您的反馈。

Bharat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Bharat、

    1.是的、SDL API 映射到安全手册中的诊断项目。 例如、sl_SeflfTest_PSCON 被映射至 PMM2和 PMM5。 请参阅 SafeTI 诊断库的用户指南

    2.我们建议使用 API 而不是通过 HALCoGen 生成的 init 函数
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在"安全岛"方法中、持续分配一组核心元件来运行硬件安全机制。 这个元件的内核集、包括电源和时钟、复位、CPU、闪存存储器、SRAM 和相关互连、需要确保软件的任何功能性正确执行。 一旦这些元件的正确运行被确认、为了在其它器件元件上、例如外设上提供基于软件的诊断、可在这些元件上开始软件执行。

    赫丘利斯架构还为安全机制的使用提供了多种安全机制和技术建议。 诊断库(SDL)提供了这些安全机制的接口。 根据最终系统要求、系统集成商可以使用这些 API 在最终系统中集成适当的机制、以满足安全要求。

    SDL 由以下模块组成
    初始化:负责配置安全机制并检测系统引导时的任何故障(通过安全测试)
    2.ESM 处理程序:负责在运行时处理各种错误
    3.自检和故障注入 API:可以在故障注入和自检模式下调用这些 API。
    •故障注入允许应用程序引发故障并验证其应用中的故障处理。
    •自检是一种提供潜在故障诊断的机制。 它验证器件上可用的安全机制。
    4.I/O 诊断

    建议在系统中使用 SDL API 定期测试故障诊断。 预计这将在诊断时间内完成。 这些 API 在特殊模式下配置故障诊断、以检查诊断的功能。 自检 API 的返回值指示诊断是否按预期工作、或者器件中是否存在故障。

    故障注入 API 用于在运行时创建故障、以便应用开发人员能够在开发过程中模拟故障及其处理。 与自检 API 类似、故障注入 API 将故障诊断配置为特殊模式、以创建所需的故障。 可以随时插入故障。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Wang、

    感谢您的详细回答。  

    我仍然对安全岛方法有一些疑问。

    "在"安全岛"方法中、持续分配一组核心元件来运行硬件安全机制。"  

     这个被分配的内核元素集是连续的(定期)监控硬件(CPU、STC、CCM、时钟、SRAM、闪存) 还是仅在引导期间??

      此核心元素集分配的范围和寿命是多少(哪些用于监控硬件)??? 此核心元素是否会监控 TMS570微控制器、直至其通电 或仅在 sys_startup.c 文件中监控引导时间?

    此致

    Bharat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Bharat、

    例如:
    用于电源和电源管理的 VMON 和 PSCON 锁步
    2. CLK 检测器、PLL 滑动检测器和用于时钟信号的 DCC
    CPU 锁步、CPU 锁步比较器、LBIST 等
    4. PBIST、ECC、用于内部 SRAM 的冗余地址解码器
    5.闪存的 ECC (数据、地址)、MPU、CRC 等

    其中一些是连续的、有些是按需启用的。 请参阅安全手册
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的王先生:

    感谢您抽出宝贵时间回答问题。

     在安全手册的"附录 A:建议安全功能使用摘要"中、我有一个关于诊断操作的问题。

    安全手册将诊断操作分为两种类型:连续或定期/按需

    按需: 通过调用安全 TI 库 API 按需执行的诊断。

    连续或定期:  连续执行的安全功能和诊断。   

    您能解释连续/定期诊断的工作原理吗??  

    我对 连续或周期这两个词有点困惑。

    如果您调用 安全 TI 库 API (例如:CPU2B)、连续是否意味 着它会监控 LBIST STC 寿命? 还是一次性执行?

    对于持续诊断、我们为什么必须调用 安全 TI 库 API?? 只需在 Halcogen 中启用 LBIST、它就会 连续运行诊断。

    我想知道 TI 如何将诊断分类为 诊断操作: 连续或定期/按需。  

    此致、

    Bharat

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Bharat、

    很抱歉耽误你的回答。 此器件具有许多内置硬件安全机制。 这些是持续运行的、它们的运行方式不能由软件更改、例如 VMON、ECC、锁步、毛刺脉冲滤波器、 等等 LBIST STC 定义为定期诊断或按需诊断。