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.

[参考译文] TMS320C5505:malloc 大小限制

Guru**** 2544130 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/619931/tms320c5505-malloc-size-limitation

器件型号:TMS320C5505

55X 修订版2.x 内核(5510A、5509A、5507、5506、5503、 5502、5501)数据访问有64K 字限制。 由于 C5505是 Rev 3.x 内核、我认为它没有这样的限制。

但 RTS 函数 malloc (unsigned int size)参数是16位数据类型、因此它限制为64K。  

如果应用程序需要>64K 字的动态分配缓冲区,请分享您的建议...

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

    我已将此内容转发给 C55x 软件专家。 他们的反馈应发布在此处。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tony、
    根据(spru404q.pdf)中的以下段、存储器分配的大小可能与使用的大型或巨型存储器模型不同:

    内存模型。 这指定了'C55x 程序内的地址范围。 选择多样。 在大型和大型模型中、数据寻址使用完整的23位范围。 程序空间寻址始终使用完整的24位范围。 大型和巨型模型都支持相同的地址范围。 但是、巨型模型允许缓冲区跨越64K 页边界。 对于大型模型、size_t 为16位(64K)。 对于巨型模型、size_t 为23位、这需要32位存储、因为最小存储单元为16位。

    希望这对您有所帮助。

    Lali