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.

[参考译文] 我们能否通过 API 解锁 TM4C129x 闪存

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/579586/can-we-unlock-tm4c129x-flash-by-api

主题中讨论的其他器件:UNIFLASH

你(们)好

我们希望通过调用 FlashProtectSet (ui32Address、FlashReadOnly)将16KB 引导加载程序代码保护为只读。 它是保存在闪存中的自定义引导加载程序。

但它 确保了它可以由外部 MCU 更新、而不是由 LM 闪存编程器或 Uniflash 通过 ICDI 解锁。 那么、我们能否在接收器的情况下通过应用代码中的 API 函数来解锁外部控制器的特定命令?  

 复位期间似乎有一小段时间、在硬件加载已提交给闪存存储器保护寄存器的值之前、闪存将不会受到保护。

我们是否可以利用这个瞬时时间通过 API 解锁它并擦除闪存? 如果是、您能否与我们分享一些代码示例、说明如何做到这一点? 非常感谢。

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Daniel、您好!
    提交后、锁定块将永久锁定、通过下电上电可防止其反转。 没有要解锁的 API。 如果有的话,它首先就会失去保护它的目的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    谢谢 Charles、

    它是否 被永久锁定。  为什么 LM 闪存编程器可以解锁它?

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

    调试端口解锁将通过对内部闪存执行批量擦除来解锁 JTAG 调试引脚。 您的设备再次变得新鲜。 在此过程中、引导加载程序将被擦除。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Charles、

    我们能否使用外部 MCU 控制调试端口首先执行批量擦除? 然后将完整的新固件写入闪存、包括新的受保护引导加载程序。

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

    Daniel、您好!

     如果您正在使用外部 MCU 开发定制 JTAG 编程器、请参阅数据表中 JTAG 一章中有关解锁序列的"恢复锁定"微控制器部分。 我复制数据表中的摘录。

    1.使 RST 信号有效并保持该信号。
    2.为设备通电。

    3.在名为“JTAG 到 SWD”的部分执行 JTAG 到 SWD 切换序列的步骤1和2
    切换”。
    4.在名为“SWD 到 JTAG”的部分中执行 SWD 到 JTAG 切换序列的步骤1和2
    切换”。
    5.执行 JTAG 到 SWD 切换序列的步骤1和2。
    6.执行 SWD 到 JTAG 切换序列的步骤1和2。
    7.执行 JTAG 到 SWD 切换序列的步骤1和2。
    8.执行 SWD 到 JTAG 切换序列的步骤1和2。
    9.执行 JTAG 到 SWD 切换序列的步骤1和2。
    10.执行 SWD 到 JTAG 切换序列的步骤1和2。
    11.执行 JTAG 到 SWD 切换序列的步骤1和2。
    12.执行 SWD 到 JTAG 切换序列的步骤1和2。
    13.释放 RST 信号。
    14.等待400ms。
    15.对微控制器进行下电上电。

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