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.

[参考译文] MSP430F2274:读取 MSP430F2274存储器时出现问题

Guru**** 2525540 points
Other Parts Discussed in Thread: MSP430F2274

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/600804/msp430f2274-issue-when-reading-memory-of-the-msp430f2274

器件型号:MSP430F2274

您好!

我们在产品中使用的是 MSP430F2274。 我们已经使用了其中的大约20个、没有任何问题。

我们使用相同的软件对新的编程。 有时(1/15 startups)我们会遇到以下问题:CPU 必须使用闪存(地址0x9D28)中的数据填充软件缓冲区。 这个数据应该是0x4F、但是软件缓冲区被0XB0填充。 当我们在从存储器读取数据的汇编指令上放置断点时、我们无法重现问题。

您是否有任何疑问,或者如何找到问题?

谢谢

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

    Johannes、您好!

    您能否提供以下信息:

    1. 您能否提供重现问题的简化代码集、以便我可以在我的设置上测试此问题?
    2. 缓冲器是在闪存还是 RAM 中?
    3. 您是否已验证您正在复制的闪存中的数据是否正确?
    4. 连接或断开调试器时、问题是否更频繁发生?
    5. 您是否满足"图1 "中特定的系统频率要求。 工作区" 的信息?

    此致、

    Caleb Overbay

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

    感谢您的回答。
    1) 1)我很难为您提供重现问题的简化代码集。 我尝试稍微修改了代码、之后无法重现问题。 由于我们的代码依赖于外部组件、我认为很难生成一个您可以使用的代码、它会重现问题。 此外、我们还有大约20个运行相同软件的 MSP430F2274原型、我们只观察到其中一个原型的问题。
    2) 2)软件缓冲器在 RAM 中、但用闪存中的值填充。
    3) 3)我们已检查闪存中的数据是否正确。
    4) 4)断开调试器(连接:1/15、分离:1/2)时、问题更频繁。
    5) 5)系统频率设置为16MHz、MSP 使用3.3V 电源供电、因此我们满足数据表图1的要求。

    系统在电池上工作、但我们也再现了电源问题。

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

    这很奇怪。 我需要与一些团队成员进行头脑风暴、然后我很快就会回来。 如果您有任何进展、请随时更新我的信息。

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

    您能否在启动时监控 VCC 以查看从0到3.3V 的斜升? 此斜坡可能需要太长的时间、并且您在 VCC 达到适当电压之前切换至16MHz。

    此外、缓冲器存储在 RAM 中的存储器位置是什么?

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

    我们在启动时监控了 VCC、并观察到信号在不到300us 的时间内斜升至3.3V。 信号干净稳定。
    在将时钟设置为16MHz 之前、我们在代码中添加了延迟、但我们仍然重现了该问题。

    缓冲器存储在从地址0x2A0到地址0x2BF 的 RAM 中(并不总是在同一字节上发生)。

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

    您好 Caleb、


    有关调试器的问题:有时、当我设置条件断点时、会导致 MSP 运行不正常。

    例如、当我们读取闪存存储器时、我尝试在汇编代码上放置条件断点。 条件是我们读取值0xB0。 当我启动系统时、它没有中断、但导致 MSP 通过 UART 发送不相干数据(然后通过 UART 发送闪存中读取的数据)。

    您是否有什么想法可以解释这种行为?


    此致、

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

    [引用 user="Johannes Hennecke">CPU 必须使用闪存(地址0x9D28)中的数据填充软件缓冲区。 该数据应该是0x4F、但软件缓冲区被0XB0填充。[/QUERP]

    BTW、(0x4F)=非(0XB0)、因此有时字节可能会被反转。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、我们也注意到了这一点、但我们无法获得字节可反转的位置。

    此外(但我没有写入)、字节0x4F 变为0xB0时、情况并不总是发生(这是大多数情况下发生的情况)。
    有时 IN 变为0x20、或0x40... 它并不总是在字节0x4F 上发生。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Johannes、您好!

    很抱歉、我上星期不上班、回复延迟。

    我想详细了解一下您的代码和您描述的调试器行为。 您能否向我发送一封包含 CCS 项目的私人邮件、以便我可以查看您的代码和设置?


    此致、
    Caleb Overbay

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

    您是否仍遇到此问题? 如果您解决了问题、您能否在论坛上分享您的答案、供其他人参考、如果他们遇到类似的情况吗?

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

    您好 Caleb、

    我们未能解决该问题。 由于我们只在这一个芯片上重现了这个问题、因此我们决定对其进行更改。

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

    不幸的是、我们未能达到这个目标的底部。 无论哪种方式、您都可以回到正轨。 如果您有兴趣进一步调查、我随时为您提供帮助。

    我将关闭此主题、但如果您有任何其他问题、请随时回复此评论、并重新开始讨论。

    此致、
    Caleb Overbay