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.

[参考译文] MSP430FR5994:MSP430:初始化仿真器时出错:MSP430调试接口(MSP-FET430UIF / MSP-FET / eZ-FET)需要固件更新。

Guru**** 2535150 points
Other Parts Discussed in Thread: MSP430FR5994, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/629006/msp430fr5994-msp430-error-initializing-emulator-a-firmware-update-is-required-for-the-msp430-debug-interface-msp-fet430uif-msp-fet-ez-fet

器件型号:MSP430FR5994
主题中讨论的其他器件: MSP-FET430UIFMSP-FET

大家好、

在使用 MSP430FR5994几个月后、当我尝试增大堆大小时、就会出现这个问题。

当我尝试调试并运行程序时、我从 CCS 中收到消息:

MSP430:初始化仿真器时出错:MSP430调试接口(MSP-FET430UIF / MSP-FET / eZ-FET)需要固件更新。 单击"Update"按钮更新固件并启动调试会话(这可能需要几个更新步骤)。  更新期间请勿拔下接口插头。

如果我单击"更新"、则更新开始、但在更新完成之前、我再次收到相同的消息。 无限循环。

尝试了我在互联网上能找到的一切,没有什么帮助。

有人能 帮我解决这个问题吗?

谢谢你。

斯拉德詹

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

    几个问题:

    如果将堆大小减小回原来的大小、您仍然会看到问题吗?
    您使用的是什么调试接口?
    您使用的是 LaunchPad、目标板还是定制硬件?

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

    您好、Nathan、

    如果我将堆大小设置为以前的大小、问题仍然存在。

    调试接口:eZ-FET。

    我使用的是 LaunchPad MSP430FR5994。

    刚刚发生的情况是、我已经在项目上工作了四天了。 今天、当我尝试调试和运行我的代码时、我能够在电路板上运行我的代码。 我不知道原因和方法、但它起作用了。 堆大小为默认设置。

    然而,这仍然是一个问题。 我应该能够更改我的动态内存大小、但对于这个问题、我不确定是否能够更改。

    此致、

    斯拉德詹

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

    还有一个问题:您使用的是哪个版本的 CCS?

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

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

    您好、Sladjan、

    问题似乎可以自行解决、这似乎是奇怪的。 原始堆大小是多少、您尝试将其更改为什么? 您是否尝试过将堆大小增加一个较小的量? 增大尺寸是否会导致问题?

    此致、

    Nathan

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

    您好 Nathan、

    我同意,似乎很奇怪。

    原始堆大小为160字节、我尝试将其设置为大约30 KB。 我需要存储一个阵列、其大小最多可介于1KB 到大约30KB 之间。

    我尝试将其增加到1KB、此时将出现此更新错误。

    遗憾的是、如果您更改任何值上的堆大小、则会收到此错误、需要更新调试接口。

    此致、

    斯拉德詹

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

    您好、Sladjan、

    首先、MSP430FR5994只有8KB RAM、因此您无法将堆大小设置为30KB (物理上没有太多 RAM 可用)。 您可以为此使用 FRAM、但需要确保为分配空间的变量存储在 FRAM 中。 但是、您应该能够将其设置为1KB。 为了澄清这一点、您是否在 CCS 中设置它、如下所示?


    当我这么做时、我看不到问题。

    此致、

    Nathan

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

    此问题是否已解决?

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

    您好、Nathan、

    感谢你的帮助。 我测试过这个、看起来一切都很好。 对于1024字节的堆大小、没有问题。

    但是、这不适合我的应用、我遇到了其他问题、例如 MCU 或更可能是编译器的一些完全奇怪的行为。

    在我试图弄清的许多问题中:

    (在代码的某些部分)

    unsigned char x;

    X = 0x03;

    x = x|(0x04);

    执行按位或命令后、可以在调试器中看到 x 保持0x03。

    对此是否有任何解释?

    提前感谢、

    斯拉德詹

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

    今天突然、同样的错误再次出现。 这次内存没有执行任何操作。 它从任何地方都没有出现。

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

    您好、Sladjan、

    关于您的第一个问题(关于 OR 命令)、我需要更多信息来了解这种情况的原因(例如您的其余代码)。 但是、首先、请确保在检查调试器时、您在 OR 行之后有一个断点。

    至于调试问题、当它出现不一致时、很难将其固定下来。 您是否尝试使用其他 PC 调试 MSP?

    此致、

    Nathan

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

    您好、Nathan、

    关于 OR 命令、我已经在一个简单的程序中对其进行了测试、该程序只是在 main 函数中包含此命令。 不管用。

    int main (空)

     T1 = 0x03;

     T1 = T1 |(0x04);

    最后、T1 = 0x03。

    关于更新错误、情况与以前一样。 我在周五有个错误,周末没有解决,周一一切都很好。

    没有尝试在另一台计算机上使用它。 下次发生这种情况时、我将尝试执行该操作、看看会发生什么情况。

    此致、

    斯拉德詹

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

    请确保在代码之前在 main 中包含以下两行代码:

    WDTCTL = WDTPW + WDTHOLD; //停止看门狗

    PM5CTL0 &=~LOCKLPM5; //禁用 GPIO 上电默认高阻抗模式
    //激活先前配置的端口设置

    尤其是第一行可能会导致您的问题。

    关于更新错误、我将会研究该错误以及一些相关问题、我将使用我发现的内容更新此主题。

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

    尊敬的 Nathan:

    只是为了提供更新。

    WDTCTL = WDTPW + WDTHOLD;//停止看门狗 该行出现在我的主函数中。 因此、它不是看门狗。

    PM5CTL0 &=~LOCKLPM5;将这个添加到我的简单测试代码中。 结果相同。

    关于更新错误、自我上次编写以来、它没有出现。  

    此致、

    斯拉德詹

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

    根据您提供的代码、我看不到任何可能导致此问题的原因。 我需要更多信息来提供进一步的帮助、例如代码的其余部分(包括您声明 T1的位置)以及任何其他与常规配置不同的配置。 同样、我建议您确保正确使用调试器(即、您在执行 OR 的行后面有一行代码)、并且您在 CCS 中正确查看变量。

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

    您是否能够解决此问题? 如果是、请将其标记为已回答。

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

    我不能说这解决了我的问题、但因为它帮助我将其标记为已解决。

    关于 FET 误差问题、该支持没有任何帮助。
    这是任何线程中都不会出现的问题(正如我上次检查的那样)。 大多数来自 TI 支持部门的人员甚至不知道这是为什么发生的。 不必再进一步说明如何解决它。

    至于 OR 函数的第二个问题、要想看它是否起作用、必须关闭编译器优化。 基本上、我的问题是在调试器中。 CCS 7中的这个 BUGER 远未完全发挥作用。 在许多情况下、它具有怪异或完全混乱的行为。

    此致、
    斯拉德詹