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.

[参考译文] TMS320C6472:禁用 CSL 高速缓存

Guru**** 2539500 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/570868/tms320c6472-csl-cache-disable

器件型号:TMS320C6472

我想为外部 DDR 的某个区域禁用高速缓存、0xEA000000至0xEB000000。  


有人能否确认 cache_EMIFA_CE10是用于该区域的正确常量?

本文档令人困惑的是哪一个对于 C6472是正确的。

www.ti.com/.../spru401j.pdf

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

    我已通知设计团队。 他们的反馈将在此处发布。

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

    我们有时会对该常量使用 cache_EMIFA_CE10、有时使用 cache_EMIFA_CE010、这是奇怪的。 我假设这正是您所要询问的、因为 API 参考指南中的注释清楚地说明了地址范围。

    答案将取决于您使用的 CSL 版本和其他构建时间常数。 我会尝试这两种方法、看看哪一种方法有效。 或者、您可以在 CCS 中搜索符号的定义、并查看它是否已启用或呈灰色显示。

    如果这不是您所寻找的答案、请向我们提供一些更多信息、例如您要使用哪个 API、您正在使用哪个操作系统(TI-RTOS?) 等等。

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

    为了补充 Randy 的答复、我建议查看 www.ti.com/.../spru862b.pdf 的第2.3节www.ti.com/.../spru871k.pdf 的第105页 (MAR 234适用于 EA00 0000h - EAFF FFFFh 区域)

    此外、如果您从此处看到 CSL 的\CSL_C6472_03_00_07_01\CSL_C6472\inc\csl_cache.h 、则 software-dl.ti.com/.../index_FDS.html 行117定义了 CE_MAR 结构内的 cache_EMIFA_CE10 = 234。

    www.ti.com/.../spru401j.pdf 是通用的 C6000 API 参考指南、对于 C6472而言可能并不明确。

    我理解我的答复可能是零碎的,但希望这将澄清。

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

    我今天将检查版本。

    我提到的是010 vs 10约定、但该文档也没有专门提到 C64x。  假设这是最后一组价值观。

    我看到的实际问题是:我尝试为外设访问保留该地址范围(在 Platform.XDC 中创建了一个段)、因此想要关闭缓存。  构建映像时、引导所有内核时出现了一些问题。  但是、我后来意识到这可能是堆栈/堆短缺、而不是禁用缓存。