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.

[参考译文] MMR-AM243X:MCU-PLUS-SDK 写保护机制

Guru**** 1821780 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/1388228/mcu-plus-sdk-am243x-mmr-write-protection-mechanisms

器件型号:MCU-PLUS-SDK AM243X
主题中讨论的其他器件:SysConfig

工具与软件:

专家、您好!

我想知道 TI 是否有任何用于实现与 MMR-F3相关的诊断措施的参考例程:MMR 写保护机制。

谢谢!
此致

吉米

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

    你好、Jimmy、

    请您详细说明 您的要求吗?

    MMR 寄存器在向其写入任何值之前支持锁定和解锁、这些寄存器拥有专用的密钥来锁定和解锁。

    如果您查看 TRM、您将会了解有关 MMR 保护寄存器的详细信息。

    5.1.3.1.2 KICK 保护寄存器

    此致、

    Anil。

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

    您好、Anil。

    感谢您的答复。

    我注意到、在安全手册中、MMR 有两种避免故障的措施:分区锁定和 MMR 写保护机制。 SDK 中提供了一个针对分区锁定措施的示例。 我想知道是否还有 MMR 写保护机制措施的类似示例、或者您能否提供一个演示其用法的简单示例程序?

    此致

    吉米

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否提供一个演示其用法的简单示例程序?

    在任何使用 SysConfig 的代码中、您都将在 ti_DPL_config.c 中看到一个名为 DPL_init ()的函数 您可以在其中看到针对"RTI0_CLK_SRC_SEL"的保护示例、其中  使用了 SOC_controlModuleUnlockMMR ()和 SOC_controlModuleLockMMR () API:

     

    void Dpl_init(void)
    {
        /* initialize Hwi but keep interrupts disabled */
        HwiP_init();
    
        /* init debug log zones early */
        /* Debug log init */
        DebugP_logZoneEnable(DebugP_LOG_ZONE_ERROR);
        DebugP_logZoneEnable(DebugP_LOG_ZONE_WARN);
        /* UART console to use for reading input */
        DebugP_uartSetDrvIndex(CONFIG_UART0);
    
    
        /* set timer clock source */
        SOC_controlModuleUnlockMMR(SOC_DOMAIN_ID_MAIN, MSS_RCM_PARTITION0);
        *(volatile uint32_t*)(RTI0_CLOCK_SRC_MUX_ADDR) = RTI0_CLOCK_SRC_WUCPUCLK;
        SOC_controlModuleLockMMR(SOC_DOMAIN_ID_MAIN, MSS_RCM_PARTITION0);
        /* initialize Clock */
        ClockP_init();
    
    
    
        /* Enable interrupt handling */
        HwiP_enable();
    }

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

    你(们)好

    感谢您的答复。

    我理解你提到的例子,但我相信它只实现 MMR-F2:分区锁定机制,而不是 MMR-F3: MMR 写保护机制。



    如安全手册中所述:

    6.3.107 MMR 写保护机制
    此 MMR 模块启用了代理寻址。 以下每个寄存器描述都列出了 Proxy0地址偏移量、这些地址偏移量用作正常读取/写入访问地址。 另一个 Proxy1地址也存在、用于为安全感知处理元素提供独占寄存器写入控制。 当设置相关的声明寄存器位时、寄存器在其 Proxy0地址变为只读状态、并且只能通过其 Proxy1地址写入。 声明寄存器本身执行



    根据您的回复、不需要对 MMR-F3进行额外的处理:MMR 写保护机制;使用 SOC_controlModuleLockMMR 和 SOC_controlModuleUnlockMMR 应该足以实施 MMR-F3测量。 我的解释是否正确?

    此致

    吉米

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

    我没有安全手册、所以最好的答案是 TI。

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

    您好、Anil。

    请跟进此问题、谢谢。

    此致。

    吉米

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

    你好、Jimmy、

    我理解您提到的示例、但我相信它只实现了 MMR-F2:分区锁定机制、而不是 MMR-F3:MMR 写保护机制。

    实际上、我可以说上述代码  仅属于写保护。

    如果您查看代码、首先我们解锁存储器区域并将 数据写入相应的寄存器、然后锁定存储器区域。

    所以,在这里,用户不能在锁定内存区域后写入到注册. 因此我说这种方法仅适用于写保护。

    我不熟悉 MMR - F3的实施,并转移到不同的专家来评论上述问题..

    很抱歉回复延迟。

    此致、

    Anil。

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

    您好、Anil。

    感谢您的答复。 我将继续等待其他专家的结果。

    此致。

    吉米

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

    你好、Jimmy、

    如安全手册中所述:

    我假设您参考的是安全手册。

    "MMR-F3 -  MMR 写保护机制" 是针对"故障避免"的硬件诊断、其中"故障避免"定义为"完全在硬件中实现的诊断、不需要开发任何软件。 以避免出现故障"。

    因此、不需要对 MMR-F3进行任何额外的处理。

    此致、
    Krithika

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

    您好、Krithika

    感谢您的回应,我知道 MMR-F3是由硬件保证的,不需要软件操作。

    此致。

    吉米