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.

[参考译文] UCD3138A:未清除 HSFB1.1 EVM 代码校验和

Guru**** 2341440 points
Other Parts Discussed in Thread: UCD3138128, UCD3138A64, UCD3138, UCD3138A, UCD3138064, UCD3138064A
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/613401/ucd3138a-hsfb1-1-evm-code-checksum-not-cleared

器件型号:UCD3138A
主题中讨论的其他器件:UCD3138128UCD3138UCD3138064UCD3138064A

我看了之后发现修复方法非常明显。 在"零输出完整性"字中、您需要在 下面添加两行粗体。  我添加了它们、它现在起作用了。

 

我有一个在对校验和进行编程之前我始终建议使用的序列、该代码对您来说是新的或新的:

 

  1. 使用器件 GUI

  2. 无需对校验和进行编程即可下载

  3. 返回 GUI 的主屏幕

  4. 单击设备 ID

  5. 单击 Command Program 跳转至 ROM

  6. 单击校验和选项卡

  7. 单击验证

  8. 如果校验和全部为零、程序将清除校验和、执行重新创建以将校验和放入是安全的

  9. 如果校验和是所有 FFs、则程序不会清除校验和、这是不安全的。

  10. 如果在步骤5中程序不能进入 ROM,则可能不安全,但校验和可能会被清除,设备也不会被重置。 您可以尝试重置按钮或断电、然后再次验证校验和。

  11. 这适用于典型情况。 如果您的校验和不是特定器件的标准点、例如引导闪存或意外块或其他内容、则必须使用存储器窥视来确认其已清零。

 

void zero_out_integration_word (void)

 

   DecRegs.FLASHILOCK.ALL = 0x42DC157E;//将密钥写入编程闪存互锁寄存器

   DecRegs.MFBALR1.ALL = MFBALRX_BYTE0_BLOCK_SIZE_32K;//启用程序闪存写入

   program_flash_integration_word = 0;

   DecRegs.MFBALR1.ALL = MFBALRX_BYTE0_BLOCK_SIZE_32K +//将程序闪存扩展为4倍实际大小

                           MFBALRX_BYTE0_RONLY;

UCD3138128

   while (DecRegs.PFLASHCTRL_0.bit.Busy!= 0)

UCD3138A64

   while (DecRegs.PFLASHCTRL_0.bit.Busy!= 0)

#Elif UCD3138

   while (DecRegs.PFLASHCTRL.bit.BUSY!= 0)

UCD3138A

   while (DecRegs.PFLASHCTRL.bit.BUSY!= 0)

UCD3138064

   while (DecRegs.PFLASHCTL1.bit.BUSY!= 0)

UCD3138064A

   while (DecRegs.PFLASHCTL1.bit.BUSY!= 0)

#endif

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

    Ian、

    我很清楚。

    此致

    弗兰克