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.

[参考译文] MSP430G2402:存储器中复位矢量位置的奇怪问题

Guru**** 2513185 points
Other Parts Discussed in Thread: MSP430G2402

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/623486/msp430g2402-strange-problem-with-reset-vector-location-in-memory

器件型号:MSP430G2402

GoodMorning TI 社区、

今天我写信给您是因为有 MPS430G2402处理器的某些电子电路板存在一个奇怪的问题。

经过一些工作周期后、处理器停止工作并丢失。

这种特定行为的起源是、复位矢量的位置意外地使用未定义的地址重新编程

因此处理器不再知道程序的起始点在哪里。

固件(以汇编语言编写)已经过多年的试用和测试、每台机器都能很好地配合使用。

这是第一次发生类似的情况、我不知道原因。

可能的原因是什么?

我还有另一个疑问/问题:MSP430微处理器的闪存受到意外写入的保护、不是吗?

那么、复位矢量的原始地址怎么可能会丢失并使用未定义的值自动重新编程呢?

您需要知道、在这个应用中、我只访问包含 A 至 D 段的信息存储器、而我不写入闪存存储器。

我希望有人能帮助我解决这个奇怪的问题。

感谢您的关注。

此致、

Luigi Quaglia。

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

    复位矢量是唯一被覆盖的位置、您如何观察它? 对导致这种情况发生的汇编代码或设置进行了哪些更改、您可以在多少个器件上复制此问题? 除非 FCTL3内的 LOCK 位被复位(默认置位)、否则您不能覆盖闪存内容。

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

    您好、Ryan、

    是的、要回答您的第一个问题、复位矢量是唯一一个其位置已被覆盖的矢量。

    我使用 IAR 开发环境中提供的"调试而不下载"工具、我注意到这个问题。

    正如我在上一个帖子中所说的、固件已经过多年的试用和测试、并且由于它始终运行良好、我没有对其进行任何更改。

    目前、问题发生在7个器件(总共50个)中、这是第一个 I 编程的器件。

    我觉得很奇怪、这些设备的处理器一直运行良好、而且突然停止运行、尽管大多数设备只运行了几个月!

    编程或工作期间的电压尖峰是否可能仅导致复位矢量的覆盖?

    在第一个编程期间、仅使用 MSP FET 仿真工具在没有任何外部电源的情况下调试处理器上的固件。

    这种"闭锁"现象是否会造成这种情况?  

    感谢您的回答。

    此致、

    路易吉

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

    您是否有理由怀疑系统中存在电压尖峰? 电路板设计最近是否发生了变化? 如果器件在其技术规格之外运行、则无法保证 FRAM 正常运行。 我会将此问题提交给质量团队、看看他们过去是否遇到过类似的情况。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    路易吉
    您能回答以下问题吗:

    1.部件的运行频率和电压是多少?
    2.您提到您只访问信息存储器、但您在代码闪存读取或写入函数中是否有位置? 您是否在何处访问闪存内容?
    3、50个中有7个显示了这一点吗?
    a.节目是否总是相同的变化?
    b.位于0xFFFE 的 RST 矢量是唯一改变的地址吗?
    c.逻辑1更改为0、或采用另一种方法、还是两者兼而有之?

    您是否已查看以下应用手册:
    www.ti.com/.../slaa729a.pdf
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    早上好、Ryan、

    再次感谢您的回答。

    电源滤波非常好、因此我认为机器在工作期间没有出现任何电压尖峰。

    该器件具有板载 MSP430G2402处理器、并且电路设计中的任何内容也已更改。

    我只怀疑在没有外部电源的情况下对器件进行编程、但只有使用仿真器电压才能启用复位矢量地址的这个奇怪的锁存过程。

    让我们看看质量团队对这种情况的评价!

    此致、

    路易吉  

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

    你好,Walther!
    感谢您的回答和有关问题的问题。
    1、频率设置为最大可能的内部振荡器值:16MHz、而电压为3、3V
    2.我在代码中有一个用于读取和写入信息存储器的函数。 除了这一点、闪存存储器只在代码中的某个特定位置读取。
    3、是的、50上只有7个器件会显示此问题、是的、同样、它始终相同:复位矢量不在其特定地址。
    需要强调的一点是、处理器已经运行了几个月、然后突然出现了这个奇怪的事实。
    还感谢您提供应用手册链接。 我会读它!
    此致、


    路易吉

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

    您好、Luigi、

    感谢您回答问题。 您可以在16 MHz 的频率下以3.3V 的电压运行器件。 这意味着您在规范的边界上操作、如下所示。

    在顶部、您还可以使用闪存编程、这会导致高峰值电流。 因此、我必须问:

    您是否确定在整个运行期间(即温度、所有类型的代码执行)、16MHz 时不会违反3.3V 规格。
    通常情况下、LDO 对可能导致问题的短尖峰反应不会非常快。

    那么、您能否重现该行为? 如果是、请增大 DVCC 或降低频率以查看是否消失。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    古德姆·瓦尔特!
    我非常确信、在编程期间、我绝不会违反3.3V~16MHz 的规格、事实上电压值永远不会超过3、25V。
    由于我以前的经验、我认为这种类型的处理器对电压尖峰特别敏感、但这也是某些器件首次出现这种奇怪的行为。
    不幸的是、我无法重现造成问题的随机条件...
    此致、
    路易吉
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Luigi、

    我不关心编程周期、而是更关心您应用的一般操作。
    电压永远不会超过3.25V 意味着什么?
    它是否意味着它始终在3.25V 和更低的电压下运行、或者意味着它绝不会低于3.25V。

    顺便说一下、我不会将其称为敏感型、但您必须确保在特定范围内操作它。

    此致、
    Dietmar
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,Dietmar!
    感谢你的答复。
    电路板上的机器该处理器始终在大约3.25V 的电压下工作、并且电压非常恒定。
    这个问题是一个奇怪的特殊情况、我想、事实上我的公司生产了很多使用 MSP430处理器的机器、这些机器的技术规格是相同的(频率为16MHz、电源为3.25A 至3.3V)、在过去15年的工作中、没有人展示过这个问题。
    我真的不明白问题在哪里...
    此致、
    Luigi Quaglia
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Luigi、

    我理解您的顾虑、但如果您在16 MHz 下以3.25V 的电压运行、您还将违反规范、同时请记住 DCO 温度漂移。
    但是、为了更好地理解出错的地方:

    您的公司以前生产的应用程序是否存在任何显著差异?

    您的应用中是否进行了 pegin DCO 频率开关? 如果是、是否考虑了所有现有错误?

    此致、
    Dietmar