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.

[参考译文] TMDSCNCD263P:HsmClient_setFirewall 挂起

Guru**** 2885180 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1633978/tmdscncd263p-hsmclient_setfirewall-hangs

器件型号: TMDSCNCD263P
主题: SysConfig 中讨论的其他器件

嗨、TI 论坛、

我正在努力确保 使用 MPU 防火墙对 R5FSS0_0 的 L2OCRAM 存储体 0 进行独占访问。

我使用额外的 MPU 区域配置修改了 HSM_SERVICES 示例(示例/drivers/hsmclient/HSM_SERVICES)、因此只有 R5FSS0_0 可以访问 L2OCRAM 组 0:

image.png

使用这个额外的 Client_Send 区域时、函数 HsmFirewallApp 挂起在 HsmClient_setFirewall(Hsmr MPack.AndRecv 从不返回)内的第 95 行。

将其他 RAM 组限制到 R5FSS0_0 可以正常工作、只有 L2OCRAM 组 0 会导致 HsmClient_setFirewall 挂起。

什么会导致 HsmClient_setFirewall 挂起?

奖励问题: SysConfig MPU 区域配置中的区域编号参数用于什么? 我无法在 MCU+ SDK 和 TIFS-MCU 文档中找到有关该器件的任何文档。

感谢您的帮助!

 

我以前使用过

  • AM263Px 控制卡
  • 适用于 AM263Px 26.0.0.01 的 MCU+ SDK
  • CCS 20.4.1.4__1.10.1
  • SBL 为空、使用 CCS 调试选项将该应用程序加载到 RAM 中
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Tobias:

    [引用 userid=“677225“ url=“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1633978/tmdscncd263p-hsmclient_setfirewall-hangs

    使用这个额外的 Client_Send 区域时、函数 HsmFirewallApp 挂起在 HsmClient_setFirewall(Hsmr MPack.AndRecv 从不返回)内的第 95 行。

    将其他 RAM 组限制到 R5FSS0_0 可以正常工作、只有 L2OCRAM 组 0 会导致 HsmClient_setFirewall 挂起。

    [/报价]

    您能否添加 HSM 以及 priv ID 并检查是否看到此挂起?

    谢谢。此致、

    Nikhil Dasan

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

    你(嗨,Nikhil)
    感谢您的答复。
    我不明白你的意思

    您能否添加 HSM 以及 priv ID 并检查是否看到此挂起?

    您能否进一步描述您希望我测试的更改?

    感谢您的帮助
    Tobias

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

    您好、

    抱歉、我的意思是、您是否还可以将 HSM 添加到 SysConfig 的“Priv ID Allowed“部分中? 它目前仅显示 R5F0_0

    谢谢。此致、

    Nikhil Dasan

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

    你(嗨,Nikhil)
    HSM 不是 Priv ID Allowed 下拉列表中的选项:

    请注意、即使我选择了所有特权 ID、HsmClient_setFirewall 也会挂起。

    感谢您的帮助
    Tobias

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

    尊敬的 Tobias:

    要了解 HsmClient_setFirewall 挂起的问题、我们将从您提出的额外问题开始。

    SysConfig MPU 区域配置中的“Region Number“参数用于什么? [/报价]

     每个 MPU 防火墙模块都包含多个区域描述符寄存器、这些寄存器定义独立的存储器保护规则。 这些区域描述符由区域编号(也称为区域 ID 或区域索引)索引。  每个区域都是一个独立的硬件保护描述符、具有自己的地址范围、权限 ID 掩码和权限
    Attributes。

    对于 L2OCRAM_BANK0_SLV、有 8 个区域、其中默认由 HSMRt 在安全启动初始化期间配置区域 0、以启用系统运行。

     (系统 MPU/防火墙部分的 TRM 中的图像)

    在这里、OCRAM_BANK0 (0x70000000 - 0x7007FFFF) 对于用于 HSM 客户端和 HSM 服务器之间通信的 SIPC 至关重要。 SIPC_Notify 调用的所有参数都保留在该区域。 因此、对于 M4FSS0 内核来说、访问该区域以处理任何 HsmClient 请求至关重要。

    现在、当您尝试为 L2OCRAM_BANK0_SLV 在同一区域 0 上添加另一个防火墙配置时、由 HSMRt 初始化的现有配置将被覆盖、因此、对 M4FSS0 内核的 OCRAM 访问受到限制、与配置中一样、您仅允许 R5FSS0_0 内核。 因此,HsmClient_setFirewall() 函数被卡住。

    简单的修复方法是使用除 0 之外的区域数(您可以尝试 2)、这不会覆盖 HSMRt 完成的初始化。 现在,M4 内核仍然保留其对 OCRAM 的访问权限,因此,HsmClient_setFirewall () 会在没有卡住的情况下执行。



    此致、
    Naren  

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

    感谢您发送编修。
    我能够重新创建您的结果。