主题中讨论的其他器件:SysConfig
工具与软件:
专家、您好!
我想知道 TI 是否有任何用于实现与 MMR-F3相关的诊断措施的参考例程:MMR 写保护机制。
谢谢!
此致
吉米
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.
工具与软件:
专家、您好!
我想知道 TI 是否有任何用于实现与 MMR-F3相关的诊断措施的参考例程: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测量。 我的解释是否正确?
此致
吉米
你好、Jimmy、
我理解您提到的示例、但我相信它只实现了 MMR-F2:分区锁定机制、而不是 MMR-F3:MMR 写保护机制。
实际上、我可以说上述代码 仅属于写保护。
如果您查看代码、首先我们解锁存储器区域并将 数据写入相应的寄存器、然后锁定存储器区域。
所以,在这里,用户不能在锁定内存区域后写入到注册. 因此我说这种方法仅适用于写保护。
我不熟悉 MMR - F3的实施,并转移到不同的专家来评论上述问题..
很抱歉回复延迟。
此致、
Anil。