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.

[参考译文] MSP430F5310:低温下下下电上电会导致 PC 处于零

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1434356/msp430f5310-power-cycling-at-cold-temperatures-results-in-the-pc-at-zero

器件型号:MSP430F5310

工具与软件:

多年来、我们一直在-40°C 至+85°C 的温度范围内每月运行大约1000个器件。  我们的产品还具有另一个主处理器、MSP430F5310充当协处理器、以提供实时时钟(RTC)。   在五种不同的温度下、我们将完全关闭产品电源、包括关闭 RTC (MSP430)。  在-40C 时、在1000个单元中、RTC (MSP430)会卡住并且不会运行、因此大约有4个单元。  四个单元的数量会波动、有时我们不会锁定任何单元。  我们已经通过使用纽扣电池为 MSP430供电解决了这个问题、因此当产品在低温条件下下下下下循环通电时、MSP430仍然保持运行。  

我已经决定找到这个问题,有两个故障的单位,已经表现出这个问题,我已经在我的桌面上复制使用冷喷雾...  我发现、当代码从 PMM_setVCoreUp 函数返回时、程序计数器(PC)将为零。  我附上了调试器的屏幕截图、器件卡在 PC = 0x00004的位置。 我认为 PC 会完全清除、然后运行到0x00004、在这里有一个无限循环跳转到地址0x4、如片段中所示。    

什么外设是地址零?  地址为零是否存在于闪存中、以及当发生这种情况时是否可以编写代码来产生 POR?  请注意、用户 NMI 闪存访问冲突或总线错误并不能从内存错误中捕获到这一点。

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

    更多信息 要能够关闭单元电源、我需要在 IAR 工具中退出调试器模式、并保持 SPI 的连接状态。  我冷冻喷雾 MSP430、断开电池连接、然后重新连接。  MSP430卡住了、然后我使用"Project"选项卡启动 IAR 调试器、然后选择"Attach to Running Target"选项。  

    此外、有时我已经捕获了此数据、PC 地址为 F0000、而不是00004。   

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

    Dave、您好!

    我想这是外设的保留地址、我无法找到其定义。

    顺便说一下、这可能与以下勘误表有关:

    https://www.ti.com/lit/er/slaz267ac/slaz267ac.pdf?ts = 1730881269316&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FMSP430F5310 

    您可以尝试使用它的权变措施。

    B.R.

    SAL

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

    我使用的是最新的 PMM 库且 PMM_SetVCoreUp 中的代码具有以下注释...  

    //增加 Vcore 的代码流程已被修改为可以解决
    //错误的 FLASH37。
    //请参阅勘误表以了解特定的器件是否会受到影响
    //请勿更改此函数  

    因此、我假设相关解决方案已经到位。  请记住、这种情况仅发生在我们在整个温度范围内测试的0.4%的器件上。 我想知道我是否应该从我的产品中移除芯片并提交给 TI 进行故障分析?

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

    Dave、您好!

    好的、我明白了。 如果误解、请更正我:

    故障单元将在运行"PMM_SetVCoreUp"后停止。  您会发现它有时卡在 PC=0x4 (这在外设地址中);还有 PC=0xF 0000 (这在代码闪存中)。

    这是否意味着代码发生了更改? 如果你读了记忆,失败的一个和其他的一样吗?

    顺便说一下、对于失败的应用程序、重新编程是否可以修复它?

    B.R.

    SAL