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:TDA4 R5F2_0内存不一致或函数 SemaphoreP_PEND 失败

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1164147/tda4vm-tda4-r5f2_0-meomry-not-consistency-or-function-semaphorep_pend-failed

器件型号:TDA4VM
Thread 中讨论的其他器件:SYSBIOS

您好、TI 专家、

我们的 TDA4代码发生了错误(仅发生一次)、超出了我们的理解范围。

我们的互斥量代码 将 SysBIOS 信标封装到自适应不同的操作系统中、添加了一个头结构、如下所示。

typedef  结构
    uint32_t               magicNum;//0xFEFEFEFEFD
    uint32_t               级别;
    SemaphoreP_Handle      互斥量;
    内部32_t                保留[4]
}OS_MutexObject
typedef OS_MutexObject*   OSA_MutexHandle
2.创建了两个列表(空列表和完整列表)以按如下方式保存我们的资源。  
typedef  结构
    uint32_t             buffersize
    uint32_t             bufferCount
    OSA_ListNode            HeadEmpty
    OSA_ListNode            头式;
}DSA_BufferListHead;
typedef  结构
    OSA_MutexHandle       hndlMutexEmpty
    OSA_MutexHandle       hndlMutexFull
    DSA_BufferListHead    listHead
}DSA_BufferListUnit
3.当代码运行时,出现互斥锁错误,函数代码如下所示。
4.如所示的代码所示,返回错误仅有两个原因:
互斥对象错误
SemaphoreP_create 的返回值 。  到目前为止、在任何地方都找不到此案例。
我们找到了堆栈信息、并找到了存储器信息列表、如 flollows。
6.如下所示,互斥的魔法和级别是正确的。 但是、我们在 其他项目中也没有发现 SemaphoreP_pend。
7.现在我们不知道,需要 TI 专家的帮助,谢谢。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TDA4器件使用 SDK 7.3

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

    TI 专家、案例触发器断言问题并未知原因。 我们需要您的帮助来寻找原因。

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

    您好、Shuwan、

    [引用 userid="387144" URL"~/support/processors-group/processors/f/processors-forum/1164147/tda4vm-tda4-r5f2_0-meomry-not-consistency-or-function-semaphorep_pend-failed "]如图所示的代码,仅返回错误两个原因:

    它可能返回错误的另一个原因是 pobj->mutexLocal 为空。 您能否从上面确认这是否为空、以及是否获得了正确的值

    此致、
    Parth

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

    通过堆栈信息和代码调试信息,  pobj->mutexLocal 不为空,值为0xA4028EF8。  

    在我们检查 互斥量( 0xA4028EF8)后、值看起来正常。

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

    /您好、

    [引用 userid="387144" URL"~/support/processors-group/processors/f/processors-forum/1164147/tda4vm-tda4-r5f2_0-meomry-not-consistency-or-function-semaphorep_pend-failed/4380614 #4380614"]我们检查 互斥量 (0xA4028EF8)时、该值看起来正常。[/quot]

    那么、您的案例中 SemaphoreP_Pend 的返回值是多少?

    此致、
    Parth