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.

[参考译文] RM48L952:RAM 被分成多组

Guru**** 2608735 points
Other Parts Discussed in Thread: RM48L952

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/754597/rm48l952-ram-divided-over-multiple-banks

器件型号:RM48L952

大家好、

RM48x 技术参考手册(SPNU503B–2012年11月–2013年8月修订版本 p 297)中的下图提出了一些问题。
以下是我了解和理解的内容:

  • 只消耗两个 Cortex R4F 中的一个、第二个 Cortex R4F 还具有其自己的 B0TCM 和 B1TCM。
  • 从 ARM Cortex-R4F 技术参考手册中、我发现一个 R4F 允许有两个 BTCM 接口、这两个 BTCM 接口在这两个接口上交错
    • 地址的位[3]
    • 对 MSB 的影响
  • RM48L952具有两个 RAM 组

RM48L952产品说明书(SPNS177D–2011年9月–2015年6月修订版 p 85)的以下句子使我感到困惑。
TCRAM 的特性:
"通过实现两个36位宽字节交错 RAM 组、为 RAM 寻址提供了增强的安全性
并向两个存储体生成独立的 RAM 访问控制信号"

但是、在图片上、我看到4个36位宽的 RAM (我标记为 A、B、C、D)。
我不理解这张图片和我引述的句子之间的关系。
以下是几个具体问题:
1) 1)有多少个 RAM 组?

2) 2) A、B、C 和 D 如何适应这些组?

3) 3)如果我声明 uint8_t array[16]={0x00、0x11、0x22、0x33、0x44。 0xFF};
这是如何存储在存储器组(或存储区)中/划分在存储器组中的? ABCD)?

提前感谢、

此致。

Karel

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

    您好 Karel、

    请参阅以下我的评论:

    • 只消耗两个 Cortex R4F 中的一个、第二个 Cortex R4F 还具有其自己的 B0TCM 和 B1TCM。

      >>两个 Cortex R4F 的输出中只有一个连接到 TCM 互连。 第二个 R4F 的输出只被连接至 CPU 比较模块(CCM)。

    • 从 ARM Cortex-R4F 技术参考手册中、我发现一个 R4F 允许有两个 BTCM 接口、这两个 BTCM 接口在这两个接口上交错
      • 地址的位[3]
      • 对 MSB 的影响

        >>两个 BTCM 接口在64位边界上交错。 因此、每次连续的64位读取都来自不同的 BxTCM。 这使得多个总线主控(例如 CPU、DMA)能够并行访问 CPU RAM、只要它们不访问同一个64位地址。

    •  RM48L952 具有两个 RAM 组

    >> RM48L952具有256KB RAM、物理上分为16个每组16KB。 每个 BxTCM 接口寻址8个16KB 组。

    在每个 BxTCM 内、有两个32位交错的物理36位组。 这样做是为了使任何位干扰源(例如中子)在一个64位值内不会影响超过1位。

    希望这对您有所帮助。

    此致、Sunil

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

    感谢您的回复。

    如果我正确理解16字节{0x00, 0x11, 0x22,…… 0xFF}将按以下方式存储

    地址偏移量
    0x00 0
    0x11 1
    0x22 2.
    0x33 3.
    0x44 4.
    0x55 5.
    0x66 6.
    0x77 7.
    0x88 8.
    0x99 9.
    0xAA A
    0xbb B
    0xcc C
    0xDD D
    0xee e
    0xFF F

    0x00... 0x77将通过 B0TCM、0x88... 通过 B1TCM 0xFF。

    然后、TCRAMW1将0x00.0x33放置在一个 RAM 组(R1)中、将0x44.0x77放置在另一个 RAM 组(R2)中

    然后、TCRAMW2将0x88.0xBB 放置在一个 RAM 组(R3)中、将0xCC.0xFF 放置在另一个 RAM 组(R4)中

    R1、R2、R3和 R4都是不同的 RAM 组(我的图片上为 ABCD)

    是这样吗?

    谢谢

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

    是的、没错。 应用程序或 CPU 实际上并不能单独识别每个 RAM 组、因为实施对 CPU 读取或写入操作没有影响。 手册中突出显示了这些实现细节、以说明实现的优势:在并行访问时提供更好的 SRAM 带宽、并提高了位干扰的稳健性。

    此致、
    Sunil