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:在 A72上调试 A72应用程序和内核

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1025870/tda4vm-debug-a72-application-and-kernel-on-a72

器件型号:TDA4VM
您好!
我们正在使用 QNX OS 在 TDA4x PSDK7.1上处理具有多个节点的应用。
该应用在多个内核上有节点、但其中一个处理节点位于 a72内核上。 此节点中有许多复杂的计算。
当我们尝试运行应用程序时、我们会看到应用程序在其中一个函数调用中提供了内存故障。
当进一步调试时、我们看到访问一个本地阵列会导致内存转储。
由于此节点位于 a72上、您能否指导我们进行调试、假设我们可能无法访问 momemics IDE。
此外、由于我们在访问本地阵列时面临存储器转储、这可能是由于堆栈损坏造成的。
是否有任何方法可以增加 a72堆栈?
此致、
Vinayak
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Vinayak、

    对于不使用 QNX IDE 的调试、建议使用 自卸 程序和 coreinfo 实用程序。  这些将从 QNX 命令提示符处提供错误的基本回扫。

    根据您遇到的错误类型、此链接可能对您有用、  8.3.如何处理当前异常级别的异常—Processor SDK QNX J721E。  通过此链接中提到的更改、不好的内存访问将是 SIGSEGV、而不是锁定。

    其他调试选项包括 Good old printf、以查看错误发生的位置和/或连接 JTAG 调试器。   Lauterbach 的 Trace32支持 QNX、可用于此目的、但对于此类调试而言可能过于死机。   建议使用 IDE 方法。

    关于堆栈大小、请参阅 -堆栈分配(qnx.com)。  

    此致、

    KB

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

    尊敬的 KB:

    感谢您的建议。  

    我们尝试使用  coreinfo  实用程序、我们遇到以下错误。  

    # coreinfo
    Ksh:coreinfo: Cannot execute - No such file or directory (Ksh:coreinfo:无法执行-无此类文件或

     

    然后我们尝试了自卸 工具。 我们能够生成 app_name.out.core 文件、但需要 分析此文件 gdb

    目标板上运行 gdb 命令之后。 我们遇到了以下错误

    # gdb
    ksh: gdb: Cannot execute - No such file or directory (ksh: gdb:无法执行-无此类文件或

    因此、我们使用了安装在主机(Ubuntu 系统)上的 gdb。 但我们遇到了以下错误。

    #gdb app_name.out app_name.out.core  

    启动程序:/home/linux/dumper/app_name.out
    /bin/bash:/home/linux/dumper/app_name.out:无法执行二进制文件:EXEC 格式错误
    /bin/bash:/home/linux/dumper/app_name.out:成功

    注:  

    1. 我们使用的是定制硬件。
    2. 目标板上的 QNX 由客户端配置。
    3. 我们使用的是 QNX Neutrino 7.0

    请联系我们进行进一步调试。  

    此致、

    Vinayak

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

    您好、Vinayak、

    "coreinfo"二进制文件包含在主机上的 QNX 安装中。   对于 QNX 7.0、其路径如下所示:

    qnx700/target/qnx7/aarch64le/usr/bin/coreinfo

    该二进制文件必须在目标上运行时可以访问的文件系统中可用。  这有多种选择。   

    如果要安装到 SD 文件系统、则应将 coreinfo 二进制文件复制到 SD 卡。

    如果不提供 SD/eMMC 文件系统、通过将 coreinfo 文件包含在 BSP"构建"文件中、可以将其拉到 RAM 文件系统中。

    此致、

    KB

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

    您好、Vinayak、

    因为现在正在离线讨论这一点、所以关闭此主题。

    此致、

    KB