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.

[参考译文] RTOS/LINUXSDK-OMAPL138:SMA 池句柄结构中的 DSPLINK 1_65_01_06高速缓存/存储器损坏问题

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/668923/rtos-linuxsdk-omapl138-dsplink-1_65_01_06-cache-memory-corruption-issue-in-sma-pool-handle-structure

器件型号:LINUXSDK-OMAPL138

工具/软件:TI-RTOS

大家好、TI 人、

 

在 DSPLINK DSP 端有问题。
背景:

-具有不同缓冲区大小的缓冲区池

- DSP 正在发送消息(具有不同的缓冲区大小:128字节、256字节...) 发送到 ARM。

- DSP 端的消息"用户"没有相同的优先级。


我们在以下文件中发现一个错误:

DSP/src/pools/DSPBIOS/SMA_pool.c:SMAPOL_alloc (...) 或 SMAPOL_FREE (...)

我将仅介绍 ALLOC 案例(与免费案例问题相同)


当线程分配128字节的缓冲区时、该线程在"bufHandle[I].FreeBuffers-- ;"(第273行)如果线程要使用256字节的缓冲区,则第二个线程将使"bufHandle[i]"(第252行)无效,从而导致128字节结构上的内存损坏/不匹配,因为尚未对其执行回写操作。

SMAPOL_ALLOO (……)



   HAL_cacheInv((PTR) bufHandle, sizeof (SMAPOL_BufObj));<<此行!!

   对于(i = 0;i < smaCtrl->ctrlPtr.numBuf;i++){
       if (smaCTRL->TextrMatchReq =false){
           /*查找请求大小的最接近匹配项*/
           if (bufHandle[i].size >= size){
               /*找到所需大小的匹配项。 *
               休息;
           }
       }
       否则{
           /*查找请求大小的确切匹配值*/
           if (bufHandle[i].size =size){
                   /*找到所需大小的匹配项。 *
               休息;
           }

       HAL_cacheInv((PTR)&bufHandle [i],sizeof (SMAPOL_BufObj));<<此行!!!
       }
   }

 

我们不明白为什么这里会出现无效、因为在所有池寿命期间大小都是固定的。

能给你建议吗? 我们能否安全地删除这2个无效(与 SMAPOL_free (...)相同) 或者是否有理由使这些无效?

 

 

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

    我们将对此进行研究。

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

    如果您需要更多信息、请随时访问。

    此致、

    Michael

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

    您好、Michael、

    遗憾的是、DSPLink 是我们不再支持的传统软件包。

    我建议您搜索这些论坛、查看是否有任何以前的主题帖可能存在与您看到的主题类似的问题。

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

    您好、Sahin、

    由于我们已经纠正了我们的问题、我们将提供我们的经验回报。

    我们只想从 TI 获得有关这些失效的更多信息、我们认为这些失效在 DSPLINK 中是不必要的。 也许我们错过了这些线路上的一些内容、需要建议。

    对这些论坛没有类似的评论或问题。

    提前感谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我们只需要更多的信息来说明这些无效的情况、而我们认为这些信息是不必要的。