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/TMS320C6657:禁用 C66上的缓存

Guru**** 2539500 points
Other Parts Discussed in Thread: SYSBIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/593941/rtos-tms320c6657-disable-cache-on-c66

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

工具/软件:TI-RTOS

我们使用的是 AM571X、在 C66上使用 SYS/BIOS、在 A15上使用 Linux。 我们在 C66和 A15之间有 CMEM 共享存储器。

我们希望禁用 C66上 CMEM (DDR)的缓存。

这是 SysBIOS 配置中的正确方法:

/*
*=========== 高速缓存=========================================
*
/*禁用 CMEM 缓存(物理地址:0x9F000000,大小为16 MB)*/
VAR Cache = xdc.useModule('ti.sysbios.family.c66.Cache');
//Cache.MAR_128_159 = 0x7FFFFFFF;
VAR temp = cache.getMarMeta ( 0x9F000000 );
Cache.setMarMeta (0x9F000000、0x1000000、temp |(~cache.PC));

请注意、"C缓 存.MAR_128_159 = 0x7FFFFFFF"不会在 C66上编译。

我们如何检查 MAR 寄存器中的缓存是否确实被禁用? 是否有读取寄存器的方法?

谢谢、

Paritosh

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    更正最后的配置行:
    Cache.setMarMeta (0x9F000000、0x1000000、temp &(~cache.PC));
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    软件团队已收到通知。 他们的反馈将直接发布在此处。

    同时、您能否分享您使用的是哪个版本的 RTOS SDK?

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

    我想您所说的是 AM571x、而不是主题行中所示的 C6657。 从表5-12中删除。 《AM571x TRM 的 DSP_ICFG 寄存器映射摘要》、您可以查看涵盖9F00 0000h - 9FFF FFFFh 的 MAR159。 地址应为0x0184_827C、您可以在其中通过 JTAG 或代码进行访问。 查看位字段0:如果它为0:存储器范围不可高速缓冲。 如果为1:可高速缓存存储器范围。

    此致、Eric