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.

[参考译文] TDA4VEN-Q1:c7x_x 卡在 funcion HeapP_building 中

Guru**** 2474700 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1454728/tda4ven-q1-c7x_x-gets-stuck-in-funcion-heapp_construct

器件型号:TDA4VEN-Q1

工具与软件:

大家好、TI 专家:

在定制电路板上进行内部下电上电测试期间、C7x 会卡在函数 HeapP_structure 内、C7x_1和 C7x_2中都会发生这种情况。 发生此问题时、MCU2_0正常运行。 发生概率在每22次中1次和每200次中1次之间。

发生挂起时、无法通过 CCS 连接到 C7x 内核

我们发现了 C7x_1和 C7x_2的几个异常(MCU2_0上一切正常):

a.变量的分配似乎无效—即使 C7x 正常运行、这种情况仍然存在。 在 Heap_internal.c 中的 vHeapCreateStatic 函数中、有一个赋 值操作:heap->xTotalHeapSize = xTotalHeapSize;赋值后、打印 heap->xTotalHeapSize 产生了不正确的结果、而理论上、它应显示 xTotalHeapSize 的值。

b. sizeof (struct_type)的大小为零—即使 C7x 正常运行、也可以观察到这一点。 在函数 HeapP_built 中有一个断言 DebugP_assert (sizeof (StaticHeap_t)< sizeof (HeapP_Object));通过添加 print 语句、我们发现 sizeof (HeapP_Object)为零、而在 MCU2_0上、它为128字节。 该结构不为空。

在 EVM 电路板上进行下电上电测试期间、400个周期中就出现了相同的问题(附加的日志:ti-evm-c7x-hang.txt)。

e2e.ti.com/.../ti_2D00_evm_2D00_c7x_2D000263_.txt

能否为我们提供一些分析此问题的指南?

我们的 SDK 版本:

RTOS: 10.00.00.05 (2024年8月19日)

Linux: 10.00.00.08 (2024年8月19日)

BRS

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

    尊敬的 Xie JC:

    您能否分享有关 此问题何时发生的更多详细信息? 是在运行一些特定用例时使用的吗? 是否存在内存损坏?  

    此致、

    Brijesh

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

    您好、Brijesh:

    我们可以使用 SPL 引导模式在 EVM 板上重现此问题、 我们只在 C7x 代码中添加了一些打印语句、目前没有具体用例。 您是否可以在 C7x 日志中添加一些日志并进行尝试?   出现问题时、我未发现任何内存损坏。  

    您可以 参阅上面随附的日志: ti-evm-c7x-v í 挂.txt

    我的复制方式:

    1.轻触 fille boot_script.service 并添加以下内容:

    [单位]
    Description=/etc/rc.local 兼容性
    ConditionPathExists=/etc/boot_script

    [服务]
    type=forking
    ExecStart=/etc/boot_script
    TimeoutSec=0
    标准输出=TTY
    RemainAfterExit=是
    SysVStartPriority = 99
    [安装]
    wantedBy=多用户目标

    2.轻触文件 boot_script 并添加以下内容: (我 认为如果所有内核正常启动、/dev/rpmsg 将会 出现)

    #!/bin/bash
    #文件/etc/boot_script

    while [! -e "/dev/rpmsg_ctrl3 "];do
    睡眠1
    停止更新的

    while [! -e "/dev/rpmsg6 ];do #也许是 rpmsg7?
    睡眠1
    停止更新的

    重新引导 -f  

    3.  

    cp -RF boot_script.service rootfs/etc/systemd/system/
    cp -rf boot_script rootfs/etc/
    cd rootfs/etc/systemd/system/multi-user.target.wand/
    LN -SF /etc/systemd/system/boot_script.service boot_script.service

    4.添加打印件

    e2e.ti.com/.../6521.patch.txt

    如果一切正常、boot_script 将执行重新启动。 但是、如果 C7x 挂起或存在其他问题、boot_script 将停止。

    谢谢

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

    您好、Brijesh:

    您可以帮助查看该主题吗? 这可以在 EVM 上重现、 请帮助尝试并尽快修复。 感谢您的支持!

    BR、

    Biao

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

    大家好、Biao、JC、

    我刚从 PSDKRA10.0创建了 SD 卡、并安装了您的脚本。 运行此脚本大约45分钟后、我可能会看到 C7x_2上的消息挂起。 因此很难重现此问题。 我进一步看看 C7x 为何挂起。  

    此致、

    Brijesh

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

    您好、Biao、JC、

    以下图片是否显示 C7x 挂起? 这是我在 J722S 上在重启数百次后看到的内容。 您认为这与 Heap_Mem 相关的原因是什么?

    [C7x_2 ] 245.070897 s:IPC:4个 CPU 参与 IPC!!
    [C7x_2 ] 245.071215 s:IPC:等待 HLOS 准备就绪...!!
    [C7x_2 ] 257.865183 s:IPC:HLOS 已准备就绪!!
    [C7x_2 ] 257.865265 s:IPC:初始化...完成!!
    [C7x_2 ] 257.865282 s:应用程序:正在与3个 CPU 同步...!!

    此致、

    Brijes

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

    您好、 Brejesh

    EVM 板上确实有几个卡住的情况、你可以再试几次、应该能够重现我们遇到的情况、被困在内部的函数 HeapP_built 中

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

    尊敬的 Xie JC:

    是的、这似乎 有点涉及调试、因此需要一些时间来修复。  

    此致、

    Brijesh

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

    您好、Brijesh:

    感谢您的更新、如有需要帮助、请告诉我

    BRS

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

    尊敬的 JC:

    C7x 上确实存在页面错误、但仍在尝试确定其来源。

    此致、

    Brijesh

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

    您好、Brijesh:

    这听起来不错的消息、似乎我们已经接近解决这个问题了。

    BRS

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

    尊敬的 JC:

    奇怪的是、即使 MMU 条目适用于 MMR 区域、我们在访问某些寄存器时会看到页面错误、而这种情况很少出现。 我们正在努力弄清楚为什么失败。 我怀疑有一些 MMU 配置。

    此致、

    Brijesh  

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

    尊敬的 JC:

    我们在 uboot MMU 设置中发现了一个问题、它可以解释我们看到的问题。 您能否在 board-support\ti-u-boot-2024.04+git 文件夹下应用附加的补丁、重新编译 uboot 并尝试使用更新的 uboot?  

    /cfs-file/__key/communityserver-discussions-components-files/791/MMU_5F00_Fix_5F00_For_5F00_Vision_5F00_apps.patch

    这将修复您在 C7x 上观察到的问题。  

    此致、

    Brijesh

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

    您好、Brijesh:

    很棒!!! 我们将在应用补丁后对其进行测试、并提供任何更新。

    谢谢  

    BRS

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

    尊敬的 JC:

    谢谢、顺便说一下、我运行这个测试超过60小时、C7x 上没有再次发生同样的崩溃。 这个修复很有前景。 希望它也能解决您的问题。  

    此致、

    Brijesh

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

    您好、Brijesh:  

    谢谢。 听起来很有希望。 ^O^

    BRS。

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

    您好、Brijesh:

    好消息、我们已经测试了几个小时、到目前为止还无法重现此问题。 您能否简要说明故障排除过程以及进行此修改的原因?  

    谢谢

    BRS

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

    您好、Brijesh:

    此外、MT_NORMAL_NC 和 MT_NORMAL 之间有什么区别?

    谢谢

    BRS

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

    尊敬的 JC:

    本质上、uboot 中的 MMU 条目未正确分割用于远程核心固件的部分。 此内存 被标记为缓存(MT_NORMAL)、这造成了问题。 这 损坏了 C7x 的 TLM 内存并导致 C7x 崩溃(异常)。  

    将此存储器区域(固件使用的存储器)设置为非缓存(MT_NORMAL_NC)有助于解决此问题。  

    此致、

    Brijesh

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

    您好、Brijesh:

    明白了、谢谢

    BRS

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

    尊敬的 JC:

    我想这个问题已经解决、所以我将关闭该主题。  

    此致、

    Brijesh