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.

测试 ram ECC

Other Parts Discussed in Thread: C2000WARE

如何确定我配置的ECC功能是否正确呢?另外,SysCtl_enableNMIGlobalInterrupt();这个函数是在哪个文件定义的?

  • 关于测试的问题您可以参考一下

    e2e.ti.com/.../892730

    以及文档

    www.ti.com/.../spracb9.pdf

    SysCtl_enableNMIGlobalInterrupt();这个函数是在driverlib下面的sysctl.h定义的
  • 我看了下参考的,感觉跟我想的不太一样,我希望模拟在程序正常运行时,ram数据被修改的过程,而不是在测试模式下。
    因为我不太理解ecc触发的过程。如果触发ecc中断,就说明ram或者flash区域不可靠,程序是否会进入非法中断?
    我尝试在程序里直接多次修改一个在ram m0区域变量的数据,但是并不会触发任何中断。

    #pragma DATA_SECTION(testm0Data, "ramm0");
    volatile uint32_t testm0Data[2] = {0xAAAA5555U, 0x55005500U};
    while(1)
    {
    testm0Data[0] ^= 0x00000001U;
    testm0Data[0] ^= 0x00001001U;
    }
    能否不在测试模式下触发ecc相关中断?还是说这个过程只能通过测试模式才能模拟?
    那我怎么保证ECC功能是正常运行的呢?
  • 你好,关于ram 硬件ecc 有没有比较详细相关的资料,flash ecc在数据写入flash时,有自动生成ecc的模式。那么ramm0和m1中的ecc是如何生成的呢?
  • ECC/Parity calculation is done inside the memory controller module and calculated. ECC/Parity is written into the memory along with the data.我在手册里面看到这句话,是否表示我在往ramm0和ramm1存数据时,不需要用户自己计算ecc?只需要存数据即可?

  • 在C2000ware内有相关的例程sdl_ex_ram_ecc_parity_test 和 sdl_ex_ram_access_protect

    C:\ti\c2000\C2000Ware_3_01_00_00\libraries\diagnostic\f28004x\examples

    请问下面的话是出自哪个文档?

    ECC/Parity calculation is done inside the memory controller module and calculated. ECC/Parity is written into the memory along with the data.
  • sprui33b 121页 3.11.1.7 Memory Error Detection, Correction and Error Handling 第三段开头

    另外我觉得这两个例程无法解决我的困惑。

  • 默认情况下启用RAM ECC, 用户不需要额外操作。若是想测试的话,可以使用之前我贴的例程路径
  • 1.Fapi_AutoEccGeneration模式下,flash模块生成的ecc是否存放在如上图所示的区域中?

    2ram m0和m1生成的ecc是否也和上图的方式一样存放在专门的区域中?还是紧跟在数据后面?

    我尝试在m0中存放数据并修改数据,但是并没有在数据后面找到生成的ecc。

  • 1 是的,Fapi_AutoEccGeneration模式下,flash模块生成的ecc存放在如上图所示的区域中

    2 据我所知RAM ECC是没有memory mapped,是否紧跟在数据后面,我需要确认一下
  • 以下是国外工程师的回复,请您参考一下

    RAM ECC are stored at same address location. User need to use the TEST MODE to read the ECC value. Please refer section "3.11.1.8 Application Test Hooks for Error Detection and Correction" in TRM for detail on this.
  • RAM ECC are stored at same address location.这句话是指ram ecc和flash ecc一样存在flash ecc内存中吗?

  • 是的 按照国外工程师的回复,是这样的,两者存在相同的位置

    e2e.ti.com/.../3357440