Other Parts Discussed in Thread: AM2432, SYSCONFIG
器件型号: AM2432
主题: SysConfig 中讨论的其他器件
您好、
我将 AM2432 与工业 SDK 11.00.00.08 配合使用、
我正在尝试在工程上实现 reset_isolation 示例。 我有一个内核 M4 和内核 R5 的应用工程以及一个 SBL OSPI 工程、并在我的器件上刷写了这两个工程。 我的代码与该示例非常相似、但当它重新启动时、核心 M4 仍然卡住。
我期望会发生的情况是:
1.从 core m4,我调用 SOC_generateSwWarmResetMainDomainFromMcuDomain();
2.调用导致执行 resetReqIsr () 函数,
然后在 gIPCRestartSem 上执行 SemaphoreP_POST;
3.然后执行 ipcRestartTask() 函数、等待 SOC_waitForFwlUnlock();
4.同时、内核 R5 重新启动并执行 SBL。 SBL OSPI 执行 Bootloader_socNotifyFirewallOpen() 并通知内核 m4;
5、内核 m4 现在可以继续执行。
我会发现、内核 R5 通过将魔术字值写入地址 0x0 来正确通知 FirewallOpen、但内核 M4 继续读取值 0。
我不明白这是否是一个地址问题。 我假设对于内核 R5、通知函数中使用的地址 0x0 直接是主域的地址 0x0、因为根据处理器视图、它应该是 ATCM 地址、但在此阶段尚未启用 ATCM。 而由于 SysConfig 中配置了 RAT 区域 CONFIG_ADDR_CONVERSION_REGION0 0x0(48 位转换地址)<-> 0x80000000(32 位本地地址)、内核 M4 访问主域的地址 0x0。
当我尝试使用 CCS 中的“Memory Browser“工具访问它时、我看到内核 R5 实际上看到该值被正确写入了 0x0、而如果我从内核 M4 读取地址 0x80000000、我会看到整个存储器区域为空。
此外、如果我向 SBL OSPI 工程添加 RAT 区域 0x0(48 位转换地址)<->0xA0000000(32 位本地地址)、那么它是有效的、但我希望该示例在没有这个时也能正常工作。
我可以做些什么来调查问题? 我是否有误解?
谢谢您、
此致、
Andrea

