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.

[参考译文] TMS320DM8148:在 Engine_close()调用期间 syslink 模块崩溃

Guru**** 2614265 points
Other Parts Discussed in Thread: TMS320DM8148

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/571891/tms320dm8148-syslink-module-crash-during-engine_close-call

器件型号:TMS320DM8148

大家好、

请查看以下基本信息:

处理器:TMS320DM8148

EZSDK 版本:ezsdk_5_05_02_00

Linux 内核版本:linux-2.6.37-psp04.04.00.01

Syslink 版本:syslink_2_20_02_20

在我们的项目中、我们使用 Ittiam 提供的音频编码器、这是基于编解码器引擎 API 的实现。

它包含用于音频编码的示例应用。

此应用程序运行正常。 但并非总是如此。 有时、在应用程序退出时、末尾会出现较大的短接

崩溃表明它来自 syslink 驱动程序。

CPU:0   未被污染 (2.6.37-Centaurus-036 #1)
PC 位于_TransportShm_notifyFxn+0xac/0xFC [syslink]
LR 位于 MessageQ_Put + 0x478/0x4e4 [syslink]
PC:[ ]   LR:[ ]   PSR:80000013
SP:c5967e38 IP:00000000 FP:c5967e5c
R10:00000004 R9:c054e934 R8:00000002
R7:cb805a80 r6:00000000 r5:cbf2c000 r4:cb807480
r3:00000000 r2:00000000 r1:00060000 r0:00000000
FLAGS:   在模式 SVC_32 ISA ARM 段内核上的 FIQ 上的 Nzcv IRQ
控制:10c5387d 表:85bf4019 DAC:00000017
进程 kwork/0:1 (pid:22、栈限制= 0xc59662e8)

由于此崩溃板在重启后挂起、只有重启是一个选项。 这个问题非常关键。

请查找随附的崩溃日志以供您参考。

我们不了解这个问题、也不知道如何调试这个问题。

我们将感谢您提供有关此问题的任何指导或帮助。 请告诉我是否需要任何日志或更多信息。

谢谢、

Jemish

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

    器件型号:TMS320DM8148

    e2e.ti.com/.../crash_5F00_log.zipHi所有、

    请查看以下基本信息:

    处理器:TMS320DM8148

    EZSDK 版本:ezsdk_5_05_02_00

    Linux 内核版本:linux-2.6.37-psp04.04.00.01

    Syslink 版本:syslink_2_20_02_20

    在我们的项目中、我们使用 Ittiam 提供的音频编码器、这是基于编解码器引擎 API 的实现。

    它包含用于音频编码的示例应用。

    此应用程序运行正常。 但并非总是如此。 有时、在应用程序退出时、末尾会出现较大的短接

    崩溃表明它来自 syslink 驱动程序。

    CPU:0   未被污染 (2.6.37-Centaurus-036 #1)
    PC 位于_TransportShm_notifyFxn+0xac/0xFC [syslink]
    LR 位于 MessageQ_Put + 0x478/0x4e4 [syslink]
    PC:[ ]   LR:[ ]   PSR:80000013
    SP:c5967e38 IP:00000000 FP:c5967e5c
    R10:00000004 R9:c054e934 R8:00000002
    R7:cb805a80 r6:00000000 r5:cbf2c000 r4:cb807480
    r3:00000000 r2:00000000 r1:00060000 r0:00000000
    FLAGS:   在模式 SVC_32 ISA ARM 段内核上的 FIQ 上的 Nzcv IRQ
    控制:10c5387d 表:85bf4019 DAC:00000017
    进程 kwork/0:1 (pid:22、栈限制= 0xc59662e8)

    由于此崩溃板在重启后挂起、只有重启是一个选项。 这个问题非常关键。

    请查找随附的崩溃日志以供您参考。

    我们不了解这个问题、也不知道如何调试这个问题。

    我们将感谢您提供有关此问题的任何指导或帮助。 请告诉我是否需要任何日志或更多信息。

    谢谢、

    Jemish

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

    您是否使用 DM814x TI EVM 或定制板?

    您能否使用 aaclc 编码器进行测试?
    processors.wiki.ti.com/.../OMX_AAC_LC_Encoder_Integration_in_EZSDK
    processors.wiki.ti.com/.../Example_GStreamer_Pipelines

    要关闭引擎实例并释放使用的内存,应用程序应调用 Engine_close()。 只有在删除为此引擎创建的任何算法实例后,才能执行此操作。

    您还可以启用编解码器引擎和 Syslink 的调试功能:

    processors.wiki.ti.com/.../CE_DEBUG
    processors.wiki.ti.com/.../SysLink_Install_Guide
    processors.wiki.ti.com/.../SysLink_UserGuide

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

    您好、Pavel、

    感谢您的回复!

    >>您使用的是 DM814x TI EVM 还是定制板?

    我们使用基于 DM8148处理器的定制板。

    >>您能否使用 aaclc 编码器进行测试?
    我们已经使用了 aaclc 编码器进行了测试、该编码器在我们的系统中长时间运行正常。

    实际上、我们以前没有遇到过问题。 该问题在我们开始使用 Ittiam 提供的编码器后引入。  它使用编解码器引擎 API。

    为此、我要确保问题不在 ezsdk 侧。 是否有任何使用编解码器引擎 API 的类似示例应用程序。

    我可以在我的系统上运行该应用程序、并确保 Ittiam 提供的编码器出现问题。

    >>您还可以为 Codec Engine 和 Syslink 启用调试功能:  

    请对我捕获的附加日志进行微调、您可以在我多次运行应用程序时看到日志末尾出现崩溃。

    此日志已通过 CE_DEBUG=3标志捕获。

    如果你能指出一些可疑的事情、对我会很有帮助。

    谢谢、

    Jemishe2e.ti.com/.../debug_5F00_log.zip

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

    [引用 user="Jemish Patel37">我们使用的是基于 DM8148处理器的定制板。 [/报价]

    如果您可以在 TI EVM 上测试您的应用、这将非常有用

    [引用 user="Jemish Patel37"]

    实际上、我们以前没有遇到过问题。 该问题在我们开始使用 Ittiam 提供的编码器后引入。  它使用编解码器引擎 API。

    为此、我要确保问题不在 ezsdk 侧。 是否有任何使用编解码器引擎 API 的类似示例应用程序。

    我可以在我的系统上运行该应用程序、并确保 Ittiam 提供的编码器出现问题。

    [/报价]

    请参阅:

    TI-ezsdk_dm814x-EVM_5_05_02_00/docs/DM814x_EZ_Software_Developers_Guide.pdf -第 3.3节"运行编解码器引擎示例"

    TI-ezsdk_dm814x-EVM_5_05_02_00/ezsdk_5_05_02_00_dm814x_Release_Notes.pdf - SDOCM00085970

    TI-ezsdk_dm814x-EVM_5_05_02_00/组件源代码/codec_enginer_3_22_01_06/examples/ti/

    此致、
    帕维尔

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

    感谢您的帮助和支持、此问题已得到解决。 我们现在可以结束本次讨论。

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

    很高兴看到您成功解决了问题。 您能否简单地指出解决方案是什么?

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

    我在说过将我们的最新内核 defconfig 与 TI8148 EVM defconfig 进行比较后获得了解决方案。 比较我发现在我们的内核中设置了"CONFIG_PRETER=y"。 TI8148 EVM 内核配置中不是这种情况。 在 EVM 内核配置中、此选项设置为"CONFIG_PRESTER_NONE = y"。 因此、我根据 EVM defconfig 恢复了它、问题得到了解决。

    但我的问题是这个选项"CONFIG_PRETER"是否有意不在 TI8148 EVM 中设置这个选项? 启用此标志是否存在任何此类已知问题? 我想了解启用抢占是如何导致崩溃的。

    如果您希望我在单独的主题中提出这个问题、我将会这样做。 但是、如果您知道答案、我想了解这一点。

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

    请打开有关"CONFIG_PRETER"的新 e2e 线程

    此致、
    帕维尔