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.

[参考译文] TMS570LC4357:版本构建中但调试构建中不存在 ECC 错误

Guru**** 2482105 points
Other Parts Discussed in Thread: HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1551817/tms570lc4357-ecc-errors-in-release-build-but-not-in-debug-build

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

工具/软件:

在调试和版本编译中进行编程时使用从 CCS 自动生成 ECC。 halcogen 中的默认.cmd 链接器文件。

在调试构建的调试会话中、我可以看到所有 CAM 条目均可用。 错误引脚关键状态为 0x1h、表示没有错误。

在版本构建的调试会话中、我可以看到 2 个 CAM 条目被占用、 错误引脚密钥状态为 0x0H、指示 ECC 验证错误。

CAM 条目。

问题如下:

1.这种行为与调试和发行版有何不同?
2.`写入数据被 byten 屏蔽,并存储在每个索引上的 CAM 中。` 在 12.4.9 CAM 内容更新注册 n (CAM_content) 中、我无法理解此声明的含义。

提前感谢

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

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

    您好 Prajwal、

    [引述 userid=“616148" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1551817/tms570lc4357-ecc-errors-in-release-build-but-not-in-debug-build ]1. 此行为与“调试“和“发行版“版本有何不同?

    通常、释放模式编译具有更高的优化级别、而调试模式没有优化。

    [quote userid=“616148" url="“ url="~“~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1551817/tms570lc4357-ecc-errors-in-release-build-but-not-in-debug-build`写入数据用 byten 进行屏蔽、并存储在每个索引上的 CAM 中。` 在 12.4.9 CAM 内容更新注册 n (CAM_content) 中、我无法理解此陈述的含义。

    我会查看这些内容。

    --
    此致、
    Jagadish。

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

    尊敬的 Jagadish:  

    通过修改.cmd 文件并在链接器 (CCS) 中启用--ecc=on 选项、我在将准确的 ECC 值填充到指定的闪存 ECC 空间 0xF0400000 上取得了一些成功(这第二步从所有关于链接器生成的 ECC 的指南中都缺失、应由 TI 团队在必要时进行更新)。  

     我的想法是存储产生故障的闪存的 64 位对齐地址、关于数据被字节掩蔽、仍然不明白这是什么意思。 运气好吗?

    此外、我还附上了我的工作.cmd 文件、供感兴趣的任何人参考。


    谢谢您、  
    Prajwal T R

    MEMORY
    {
    /* USER CODE BEGIN (2) */
    /* USER CODE END */
        VECTORS (X)  : origin=0x00000000 length=0x00000020 vfill=0xFFFFFFFF
        FLASH0  (RX) : origin=0x00000020 length=0x001FFFE0 vfill=0xFFFFFFFF
        FLASH1  (RX) : origin=0x00200000 length=0x00200000 vfill=0xFFFFFFFF
        STACKS  (RW) : origin=0x08000000 length=0x00001500
        RAM     (RW) : origin=0x08001500 length=0x0007EB00
    
    /* USER CODE BEGIN (3) */
        ECC_VEC  (R) : origin=(0xf0400000 + (start(VECTORS) >> 3))
                       length=(size(VECTORS) >> 3)
                       ECC={algorithm=algoL2R5F021, input_range=VECTORS}
    
        ECC_FLA0 (R) : origin=(0xf0400000 + (start(FLASH0)  >> 3))
                       length=(size(FLASH0)  >> 3)
                       ECC={algorithm=algoL2R5F021, input_range=FLASH0 }
    
        ECC_FLA1 (R) : origin=(0xf0400000 + (start(FLASH1)  >> 3))
                       length=(size(FLASH1)  >> 3)
                       ECC={algorithm=algoL2R5F021, input_range=FLASH1 }
    
    /* USER CODE END */
    }
    
    /* USER CODE BEGIN (4) */
    ECC
    {
        algoL2R5F021 : address_mask = 0xfffffff8 /* Address Bits 31:3 */
                       hamming_mask = R4         /* Use R4/R5 build in Mask */
                       parity_mask  = 0x0c       /* Set which ECC bits are Even and Odd parity */
                       mirroring    = F021       /* RM57Lx and TMS570LCx are build in F021 */
    }
    /* USER CODE END */
    
    
    /*----------------------------------------------------------------------------*/
    /* Section Configuration                                                      */
    
    SECTIONS
    {
    /* USER CODE BEGIN (5) */
    /* USER CODE END */
        .intvecs : {} > VECTORS
        .text   palign(8) : {} > FLASH0 | FLASH1
        .const  palign(8) : {} > FLASH0 | FLASH1
        .cinit  palign(8) : {} > FLASH0 | FLASH1
        .pinit  palign(8) : {} > FLASH0 | FLASH1
        .bss     : {} > RAM
        .data    : {} > RAM
        .sysmem  : {} > RAM
    	
    
    /* USER CODE BEGIN (6) */
    /* USER CODE END */
    }