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.

[参考译文] TDA4VM:在 MCU10内核的1MB 内部 RAM 中运行 PMIC 诊断应用程序

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1249305/tda4vm-run-pmic-diagnostic-app-in-1mb-internal-ram-of-mcu10-core

器件型号:TDA4VM

您好、团队成员:

我们正在开发一项用于监测安全 MCU10岛上 PMIC 故障的功能、一旦 PMIC 中断线路发生故障、该功能将注册回调、并通过 IPC 将故障传播到 A72内核。

我们正在 寻找一种解决方案、可以在内部 SRAM (1MB)上运行这个定制应用。

我们目前面临下列问题。
1.定制应用程序可以使用内部 SRAM 的所有区域、我们可以看到1MB 的有限内存。
我们试图将不同的存储器段放在存储器的起始位置、但未起作用。

观察结果:
在最后一个未使用的内部 RAM 段中创建单独的段 OCMC_RAM_DATA 和 IPC_VRING_MEM 会导致在加载内核之前在 uboot 阶段之后发生运行时崩溃。

2.由于 SRAM 受到限制、应该为 IPC_VLING_MEM 分配什么大小。

备注:该应用程序已在上面运行 sciserver 任务。 (SCI 客户端服务器)
      之后、我们启动诊断应用程序。

SDK:

TI-PROCESSOR-SDK-LINUX-J7-EVM-08_01_00_07-Linux

TI-PROCESSOR-SDK-RTOS-j721e-evm-08_01_00_13

您能帮助我们解决这个问题吗?

提前感谢。

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

    尊敬的 Kishore:

    您的引导流程是什么? 您是否使用 SBL 引导流程或 SPL 1?

    此致、
    帕尔特

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

    您好、Parth:

    我们使用 SPL 流。

    tiboot3来自 Linux SDK。

    此致、

    岸尾市

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

    尊敬的 Kishore:

    让我来检查 Linux SPL 存储器映射和共享、但从开始、OCMC 绝对由 SPL 使用、因此您将无法使用。

    此致、
    帕尔特

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

    是的、它由 SPL 使用。

    请告知我们可以进一步使用哪些部分来解决此问题。

    谢谢。

    岸尾市

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

    尊敬的

    关于此查询的温和提醒。

    提前感谢。

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

    尊敬的 Kishore:

    Unknown 说:
    1. 自定义应用程序可以使用哪些内部 SRAM 的所有区域、因为我们可以看到、这里有1MB 的有限内存。

    R5 SPL 在 SPL 执行结束时执行到 MCU R5F 的仅分支跳转。 鉴于 R5 SPL 必须加载应用程序的内容、您将没有可用于应用程序加载段的完整1MB MCU SRAM。 RM/PM 板配置数据也使用8K 存储器在0x41c80000处传递到 MCU1_0应用程序。 应用程序可以使用 tiboot3.bin 文件所占用的存储器之外的任何存储器。

    请提供 MCU1_0固件的 readelf -l 输出。

    Unknown 说:
    2. 由于 SRAM 受到限制、应该为 IPC_VLING_MEM 分配什么大小。

    Linux IPC 堆栈要求存在 .resource_table 添加到 DDR 中的 IPC 区域。 该驱动程序不支持来自 MCU SRAM 的整个固件存储器。 可以将 MCU SRAM 与 DDR 一起使用、但不是全部使用。 请继续为 IPC 振铃存储器预留1 MB (如果需要、可将其减少至1/2 MB)。 为 .resource_table 段需要位于 DT 节点中分配的第二个 DDR 区域的底部。

    Unknown 说:
    注意:该应用程序已经在上面运行 sciserver 任务。 (SCI 客户端服务器)
          之后、我们启动诊断应用程序。

    就 R5 SPL 而言、有一个应用固件。 请阐明您的诊断功能不是另一个应用、而是在另一个任务中执行。

    是否有理由希望完全从 MCU SRAM 运行您的应用?

    此致

    苏曼

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

    READ_elf_OUTPUT_internalRAM您好、Suman:

    感谢您提供这些信息。

    关于:

     :您的应用程序可以使用 tiboot3.bin 文件占用的内存之外的任何内存。  

    您可以指向 tiboot3.bin 使用的存储器区域吗? 并向我们指出自定义应用程序可用的存储器区域。

     : 提供您的 MCU1_0固件的 readelf -l 输出。

    >>在我的自定义应用程序中,在 sci 服务器任务之后,我将在 while 循环中打印 Hello world 程序,每1秒。 (LDS 文件为内部 RAM)

    连接 readelf 输出。

     : 请澄清您的诊断功能不是另一个应用程序,而是在另一个任务中执行。

    >>是的、诊断代码在另一个线程中 Sciserver 任务之后运行。 半桥驱动器。

     : 有没有理由让您的应用程序完全从 MCU SRAM?

    >>我们将尝试在安全岛(MCU10)中运行 PMIC 诊断、即使系统进入只有 SRAM 处于活动状态的 MCU_ONLY 模式。

    因此、我们需要在内部 RAM 中纳入完整的诊断、即使在外部 RAM 关闭后也能继续进行监控。

    谢谢。

    岸尾市