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.

[参考译文] UCD3138064:如何擦除程序闪存页面? (UCD3138064)

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/569789/ucd3138064-how-to-erase-program-flash-page-ucd3138064

器件型号:UCD3138064
主题中讨论的其他器件: UCD3138

尊敬的先生/女士

技术参考手册(SNIU028A)、第17.5.2章 写入程序闪存控制寄存器并执行批量擦除。  示例代码是清除总程序库。  

如何擦除第页中的程序闪存? 有人能详细告诉我吗?

应使用哪些寄存器?

此致、

黄上

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它的工作方式与数据闪存页擦除相同。 您无需设置 PFLASHCTRL 寄存器中的 MALL_ERASE 位、而是设置 PAGE_ERASE 位。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    新年快乐!
    上周是中国新年。
    我按照相同的步骤进行测试、发现 UCD3138064可以擦除程序闪存页、但 UCD3138不能擦除程序闪存页。
    非常有趣。

    变量 page_number
    我的流程如下所示
    清除 RONLY 位
    PFLASHCTRL.BIT.BUSY 位=0时该怎么办
    FLASHILOCK= program_FLASH1_intersil_key (技术 参考0x42Dxxxxx)
    PFLASHCTRL = PAGE_NUMBER | 0x200
    设置 RONLY 位
    完成。
    UCD3138064工作正常、UCD3318工作不工作。
    我在 UCD3138中写入了错误吗?
    此致、
    黄上
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当闪存块中的任何内容被擦除或写入时、该闪存块将返回所有 FFs。

    这意味着您不能擦除闪存块或页、也不能写入该闪存块中的一个字并同时从该字中执行。

    由于 UCD3138只有一个程序闪存块、因此如果您要擦除某个页、则必须在擦除该页时从其他位置执行、理想情况下是从 RAM 执行。

    UCD3138064有两个程序闪存块、因此您可以在擦除另一个闪存块的同时从1个闪存块执行。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好 Ian
    感谢您的深入解释。
    我现在已经了解了、我将测试是否擦除 UCD3138中的程序闪存页面。
    请允许我解释如何擦除我之前的 UCD3138代码中的程序闪存。
    我使用地址0x0000~0x1fff 的 bootflash 项目、从地址0x2040~0x7fff 加载应用。
    实际上、应用存储在地址0x2040~0x6xxx 中。
    当我将一个 GPIO 形式从高到低放置时、负责擦除地址0x3000~0x5fff 的引导闪存。
    此致、
    黄上