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.

[参考译文] TDA4AP-Q1:如何启用 MSMC L3缓存并测试是否正常工作

Guru**** 2540720 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1356348/tda4ap-q1-how-to-enable-msmc-l3-cache-and-test-if-working

器件型号:TDA4AP-Q1

您好!

我们要将 MSMC 的某些部分配置为 L3缓存。

一些环境信息:

电路板:J784s4定制电路板
PDK:9.01.00.22
Linux
SPL 引导

在以 mcu1_0运行的 ti-dm 固件上、"sciclient_defaultBoardcfg.c"经过调整、已激活2MB (.MSMC_cache_size = 0x8)。

diff --git a/krc5_mcu1_0/ti-pdk/pdk_j784s4_09_01_00_22/packages/ti/drv/sciclient/soc/V6/sciclient_defaultBoardcfg.c b/krc5_mcu1_0/ti-pdk/pdk_j784s4_09_01_00_22/packages/ti/drv/sciclient/soc/V6/sciclient_defaultBoardcfg.c
index b07a55e..b1bb18c 100644
--- a/krc5_mcu1_0/ti-pdk/pdk_j784s4_09_01_00_22/packages/ti/drv/sciclient/soc/V6/sciclient_defaultBoardcfg.c
+++ b/krc5_mcu1_0/ti-pdk/pdk_j784s4_09_01_00_22/packages/ti/drv/sciclient/soc/V6/sciclient_defaultBoardcfg.c
@@ -110,7 +110,7 @@ __attribute__(( aligned(128), section(".boardcfg_data") )) =
          * be given in steps of 4, which makes the size of cache to be
          * configured in steps on X/8 MB.
          */
-        .msmc_cache_size = 0x00,
+        .msmc_cache_size = 0x8,
     },
 
     /* tisci_boardcfg_dbg_cfg */

是否有可能检测 Linux 是否识别这个新激活的 L3高速缓存。
我曾尝试以"lshw"为例来显示可用缓存、但看起来新的 L3缓存不可用。
是否有其他方法可以检查是否正在使用该 MSMC L3高速缓存?

# lshw -C memory                                              
  *-cache                   
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-cache
       description: L1 Cache
       physical id: 0
       size: 32KiB
  *-memory
       description: System memory
       physical id: a
       size: 3649MiB

此致、谢谢

托马斯

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

    尊敬的 Thomas:

    指定的工程师目前已在本周外出。 请预计响应会延迟。

    谢谢!

    法比亚纳

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

    尊敬的 Thomas:

    https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-j784s4/09_02_00_05/exports/docs/linux/How_to_Guides/FAQ/How_to_Configure_MSMC_memory.html

    您可以在 SPL U-Boot 流程中执行类似的配置、如上面的链接所示。  

    没有用于检查 L3高速缓存大小的直接命令。 粗路是从下到上进入该区域。  

    有一个 MMR 可以读取、但它还需要一些查找来检查大小。

    此致、

    基尔西  

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

    Keerthy、您好!

    非常感谢您的回答、但我仍有一些问题。

    1.关于通过 uboot-spl-R5参数化的问题

    在 uboot 编译过程中、会创建二进制"combined-tifs-cfg"、并包含一些设置。 其中之一是具有所需"MSMC_cache_size"参数的电路板配置。

    ImagePos    Offset      Size  Name
    00000000  00000000  000011ac  combined-tifs-cfg
    00000000   00000000  000011ac  ti-board-config
    <none>      00000000  0000001d  board-cfg
    <none>      0000001d  0000015d  sec-cfg
    <none>      0000017a  00000002  pm-cfg
    <none>      0000017c  0000100e  rm-cfg
    


    "combined-tifs-cfg_gp.bin"将加载到地址 load-sysfw-data=0x66800。



    是否进行任何更改以验证是否真正写入了这些板配置?
    我已经尝试在 JTAG 调试器的帮助下读取存储器区域0x66800。
    但只能看到零、存储器区域可能已锁定?




    2. MSMC 三级缓存和循环检测

    我们的系统是一个抢占式 RT 内核、并受到了 stry-ng 的压力。 如果应力参数
    如果设置了(-cache-level 3 --cache 4 --cache-no-Affinity),则延迟将大幅增加。 这种计算的结果
    无论 L3高速缓存是否被激活、循环测试始终相同。

    我们有什么问题吗?或者 MSMC L3高速缓存是否未激活?

    此致
    托马斯





  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有任何更改可验证这些主板配置是否真正写入

    在 U-Boot 中、您可以使用:

    MD 0x70000000

    MD 0x70100000

    依此类推、直到0x70700000

    以1MB 为步长。 如果启用了 L3高速缓存、则在最后将无法访问该大小的数据。

    我们出错了吗,或者是 MSMC L3缓存未激活吗?

    尝试为1建议的步骤并检查。

    此致、

    基尔西