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.

[参考译文] AM3715:为 L2缓存启用 ECC

Guru**** 2587345 points
Other Parts Discussed in Thread: AM3715

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/634547/am3715-enabling-ecc-for-l2-cache

器件型号:AM3715

因此、我的软件工程师尝试从 L2缓存启用 ECC、但无法对 AM3715使用此代码片段:

MRC P15、1、 、C9、c0、2;读取 L2高速缓存辅助控制寄存器

OR 、 ,#0x0020_0000;设置奇偶校验/ECC 使能

MCR P15、1、 、C9、c0、2;写入 L2高速缓存辅助控制寄存器

MRC P15、1、 、C9、c0、2;读取 L2高速缓存辅助控制寄存器

TST ,#0x0020_0000;测试奇偶校验/ECC 使能

BEQ NO_parity ram_setup

奇偶校验_ram_setup:

b DONE_奇 偶校验_RAM_setup

NO_奇 偶校验_ram_setup:

DONE 奇偶校验 RAM_setup:

他说、所有指示都表明处理器不支持此功能。  cortex A8显示这是启用它并验证它是否已启用的步骤、但他说它未启用。  该处理器是否支持 ECC?如果支持 ECC、我需要执行什么代码才能启用该位。  谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    工厂团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ZANE、L2高速缓存辅助控制寄存器必须在安全模式下写入。 AM37x 提供了一个监视器 API、用于在安全模式下执行 CP15写入。 有关这些服务的说明、请查看第26.4.1节"引导概述"。

    此致、
    James
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    因此他们尝试了以下操作:
    MRC P15、1、r0、C9、c0、 2. /*读取 L2高速缓存辅助控制寄存器*/
    ORR r0、r0、#0x10000000 /*设置为 ECC 而不是奇偶校验*/
    ORR r0、r0、#0x00200000 /*设置 ECC 使能位*/
    LDR R12、= 2 /*设置对 L2高速缓存辅助控制寄存器的写入*/
    DSB
    ISB
    DMB
    SMC #1 /*写入 L2高速缓存辅助控制寄存器*/

    我认为这与引用的段匹配。 执行此代码后、我们读取 L2高速缓存辅助控制寄存器、位21未设置、但位28已设置。 因此我们可以对该寄存器进行写入、但出于某种原因、位21无法写入。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Zane、您好、不知道会发生什么错误。  您能否确保在尝试启用 ECC 时未启用 L2高速缓存。  我在 ARM TRM 中找到了以下序列

    可在重置后启用 L2高速缓存,或更改 L2高速缓存的设置

    辅助控制寄存器、您必须使用以下序列:

    1.完成处理器复位序列或禁用 L2高速缓存。

    2.对 L2高速缓存辅助控制寄存器进行编程。 请参见 C9、L2高速缓存辅助

    控制寄存器的更多信息、请参阅第3-124页的。

    注释

    如果已将处理器配置为支持奇偶校验或 ECC 内存、则必须执行此操作

    启用这些功能、然后才能对 C 位进行编程。

    3.对辅助控制寄存器进行编程、将 L2EN 位设置为1。 参见 C1,辅助

    控制寄存器第3-61页、了解详情。

    对 CP15控制寄存器 C1中的 C 位进行编程。 请参见上的 C1、控制寄存器

    详情见第3-58页。

     

    此致、

    James