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.

[参考译文] MSPM0C1104:MSPM0C1104 BOR 阈值和闪存工作电压

Guru**** 3003130 points

Other Parts Discussed in Thread: MSPM0C1104

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1650669/mspm0c1104-mspm0c1104-bor-thresholds-and-flash-operating-voltage

器件型号: MSPM0C1104

TI 团队大家好、

我们使用 MSPM0C1104、并有一个专用的主闪存扇区用于运行时数据存储。 此数据扇区在断电期间发生丢失或损坏是可以接受的。

我们需要关注其他主闪存扇区的固件完整性、这些扇区包含应用代码、不应在运行时修改、尤其是在编程/擦除闪存操作期间断电的情况下。

首先、启用默认 BOR0 配置后、我们能否保证闪存在断电事件期间不会进入未定义的工作状态? 根据数据表中的电气特性、可以注意到、典型 BOR0 阈值为 1.57V、而闪存的额定最小工作电压为 1.62V。这似乎会引入一个电压窗口、在该窗口中、微控制器可能仍在运行、并且无法再保证闪存正常运行、从而可能导致未定义的行为。  本应用手册随附了数据表的相关章节以供参考。

image.png

image.png

但是、还有一种说法指示 BOR0 可在达到 BOR0 阈值时保证正常运行。 假设闪存操作正确、如果在器件擦除/编程专用数据扇区时 VDD 下降并发生 BOR0、则预期故障是否限制为目标数据扇区、或者是否有干扰/损坏其他主闪存扇区的风险?

image.png

如果仅 BOR0 无法完全解决此问题、可以通过哪些选项来确保在闪存擦除或编程操作期间断电时固件代码完整性? 或者、如果固件执行在欠压期间变得不稳定、并意外向受保护的固件扇区发出闪存命令、那么鉴于闪存控制器也可能低于最小工作电压、为保存应用代码的扇区启用静态写保护是否保持未修改?

 

谢谢!

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

    尊敬的 Abel:
    要确认、问题是否如下:
    1. BOR-电平是否会影响闪存的规格?  

    2.如果是,客户可能会做什么,以避免闪存损坏时发生此类级别?

    此致、

    Diego Abad

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

    尊敬的 Diego:

    是的,这些是主要的问题,与一个澄清。

    我们并不担心被编程/擦除的数据扇区发生损坏 — 该扇区仅包含运行时数据,丢失数据是可以接受的。

    我们担心的是、在对该数据扇区的闪存操作期间发生断电或欠压事件是否会影响 包含固件代码且不打算修改的其他 MAIN 闪存扇区。

    因此、两个主要问题就像您提到的、但更具体地说是:

    1. BOR0 是否可以保证断电期间的安全/定义闪存行为、尤其是考虑到闪存编程/擦除最小电源电压看起来高于 BOR0 下降阈值?
    2. 如果闪存擦除/编程操作被欠压或 BOR 中断、TI 建议采用哪种方法来保持其他扇区中的固件完整性?  例如、如果固件执行变得不稳定、所有代码扇区的静态写保护是否会阻止对这些扇区进行意外的擦除/编程操作?  

    此致、
    Abdel

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

    尊敬的 Abdel:
    让我在内部与我的团队联系、并为您的两个问题提供答案。

    此致、

    Diego Abad

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

    尊敬的 Abdel:

    以下是上述问题的答案:

     在闪存编程/擦除操作期间、如果电源电压降至 BOR‑负阈值以下、则无法保证成功完成操作。

     2.如果目的不是更新闪存, MSP 可以应用静态写保护。 如果计划更新闪存、则无法使用静态保护。 如果 BOR 事件中断更新、在 BOR 时被编程或擦除的闪存区域将不可靠、而其他扇区将保持受保护状态。 闪存可‑不受保护来执行操作、之后会自动重新 μ s 自我保护、因此其他扇区默认保持受保护状态。 您可以在闪存的开头添加完整性检查、例如在 闪存扇区的前 1KB 中、然后静态写入‑保护该 1‑KB 扇区。 该区域的行为将类似于 ROM、保持永久保护、并允许在每个周期执行完整性检查。

    此致、

    Diego Abad