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.

[参考译文] TMS320F28027:闪存重写

Guru**** 2524460 points
Other Parts Discussed in Thread: TMS320F28027, TPS3306

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/985014/tms320f28027-flash-rewrite

器件型号:TMS320F28027
主题中讨论的其他器件: TPS3306

你好。

如所附电路图中所示、有一个 TMS320F28027和外部 WD (TPS3306)的电路配置。

使用 JTAG 重新写入程序时、断开跳线并禁用外部 WD。

但有时我忘记打开它并关闭它。

在这种情况下、写入期间将应用复位、写入将失败。

此外、CPU 将无法连接到 JTAG、并且永远不会再次使用。

使用 SCI_BOOT 时是否获得相同的结果?

即使我犯了上述错误、是否有任何不会损坏 CPU 的软件/硬件对策?

提前感谢您。

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

    感谢您访问 E2E 论坛。  您提到中断闪存程序或擦除过程可能会导致闪存中出现随机值。  如果这些发生在 CSM 密码位置、则可能会导致器件如您所述被永久锁定。

    在连接到锁定设备方面、您可以使用等待引导模式、以确保代码不在任何安全存储器中。  这将允许您进行连接。  但是、仿真器将无法读取闪存、用户 OTP 和 L0 RAM。

    在预防方面、如果可能、请勿使用闪存扇区 A 和 H (如果代码大小允许)。  或者尽可能保持这些静态、这样它们就不需要每次都被重新编程。  扇区 A 包含闪存密码、并与扇区 H 进行电气平衡。 如果我们可以消除或尽量缩短重新刷写这些密码的时间、那么如果根据上述情况发生复位、我们可以最大程度地降低将密码写入未知/未擦除值的风险。

    闪存工具中的 CCS 中有一些设置、您也可以将这些设置设置设置为不强制对新数据进行重新编程等  我在下面附上了一张图片。  作为一种保护措施、您可以将其设置为加载到 RAM、或仅进行验证。  这样、当您转到闪存/加载 CCS 时、会引发错误、您可以使用该错误来记住在允许闪存程序之前拉跳线。  

    最棒的

    Matthew

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢你的答复。 请告诉我更多信息。
    >>但是、仿真器将无法读取闪存、用户 OTP 和 L0 RAM。
    这话到底是什么意思? 这是否意味着您可以进行连接、但不能进行重新编版?
    >>在预防方面、如果可能、请勿使用闪存扇区 A 和 H (如果代码大小允许)。
    例如、我在下面的理解是否正确?
    我想28027是扇区 A 到 D。在这种情况下、我不应该使用 A 和 D?
    /*分配计划领域:*/
    .cinit:> FLASHC PAGE = 0
    .pinit:> FLASHC、PAGE = 0
    .text:> FLASHC PAGE = 0
    >>我在下面附上了一张图片。
    >>这样、当您转到闪存/加载 CCS 时、会引发错误、您可以使用该错误来记住在允许闪存程序之前拔出跳线。
    请告诉我如何操作。 照片似乎没有贴附、因此请附上。
    提前感谢您。

    このソーステキストの詳細 μ A

    翻訳についての詳細を確認するにはソーステキストが必要です μ A
    フィードバックを送信 μ A

    サイドパネル μ A

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

    感谢您的回复、您对该器件的回答是正确的、只有4个扇区、我的陈述适用于 A 和 D。 如果没有足够的空间、我会尽可能预订。

    对于使用未知密码锁定的器件、这些存储器在该状态下将无法读取或写入(可编程)。  

    有一个可能的权变措施、涉及将闪存 API (在 ROM 中)复制到 L0 RAM 并擦除器件。  您必须将此代码编码到闪存中的程序中、但如果这种情况再次发生、则可能是一个安全网。

    我将再次尝试附加图片、并查看图片是否通过。

    最棒的
    Matthew

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

    照片已到达。 谢谢你。

    我很害怕、实际上无法尝试、但如果我将其设置为附件、是否会在跳线关闭时发出警告?

    或者、我是否还需要编辑代码、例如使用 memcpy ()函数?

    如果是、您是否有示例代码?

    提前感谢您。

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

    如果跳线已闭合、它不会发出警告、但也不会尝试对闪存进行编程。  这样、一旦您看到此错误、您就可以记住在将设置从仅验证更改为擦除/编程/验证之前检查跳线。  

    无需在跳线关闭/风险的情况下尝试、您可以将跳线置于打开状态、设置为仅验证、然后尝试加载程序。  CCS 应该发出一个错误、表明它不能写入具有这个设置的闪存区域。

    最棒的

    Matthew