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:闪存、奇偶校验覆盖寄存器、如何将端口设置为空闲状态

Guru**** 2609945 points


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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/759589/tms570lc4357-flash-parity-override-register-how-to-set-a-port-to-idle-state

器件型号:TMS570LC4357

您好!

我注意  到、当 PAR_OVR_KEY 字段设置为5 (导致寄存器重置为标称值:0x00005400)时、无法将 FPAR_OVR 寄存器字段 PAR_OVR_SEL 设置为1 (所有其他值均可设置)。

我想知道是否需要将其中一个闪存端口设置为空闲状态、但我在 TRM 中没有发现任何内容。

谢谢、

此致

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

    您说得对、FPAR_OVR_KEY 和 PAR_OVR_SEL 在执行测试后会自动清除。

    1) 1)适当地写入 PAR_OVR_SEL (FPAR_OVR[17:16])-0以进行空闲状态奇偶校验
    2) 2)对于 PORTA、写入 DIAG_BUF_SEL=0;对于 PORTB、写入 DIAG_BUF_SEL=4 (FDIACTRL[10:8])
    3) 3)写入 PAR_OVR_KEY (FPAR_OVR[11:9])以启用翻转
    4) 4)针对一次访问执行此操作后、FPAR_OVR_KEY 和 PAR_OVR_SEL 会自动清除。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    /*空闲状态奇偶校验器接收到反相奇偶校验极性。 *
    flashWREG->FPAR_OVR = 0x00010000U;

    /*启用诊断模式并选择诊断模式7 */
    /* DIAG_BUF_SEL [10:8][10:8]= 0:已选择端口 A 以翻转数据/ECC */
    /* DIAG_BUF_SEL = 4:选择端口 B 来触发数据/ECC *
    flashWREG->FDIAGCTRL = 0x00150007U;

    /*启用对访问的奇偶校验*/
    flashWREG->FPAR_OVR |= 0x00005A00U;

    /*禁用诊断模式*/
    flashWREG->FDIAGCTRL = 0x000A0007U;

    设置端口 A 空闲状态下的奇偶校验错误(FEDAC_PASSTATUS 寄存器中的 MCMD_PAR_ERR)、并设置 L2FMC -奇偶校验错误(ESM 组2的通道17)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当我在 FPAR_OVR 寄存器中写入以启用访问时的奇偶校验检查时,该寄存器将按预期自动清零,但未设置 FEDAC_PASS_ERR 寄存器中的 MDMD_PAR_ERR。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我重复了多次测试、结果相同:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉、我很晚才回复、是的、我只需调整代码即可、这样测试 TRIG 和奇偶校验过载之间就会出现很少的指令。

    谢谢、
    此致