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.

[参考译文] MSP430F5659:使用 MSP430 USB 固件升级进行刷写后不执行

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/764723/msp430f5659-not-executing-after-flashing-using-msp430-usb-firmware-upgrade

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

大家好、

在 MSP430F5659的定制板中、我们面临一些与闪存相关的问题。 MCU 使用 MSP430 USB 固件升级 V1.3.1进行闪存、V1.3.1是使用 CCS 生成的 TI-TXT 文件。

闪存后、它不会执行。 我们在 CCS 中使用 MSP-FET 430 JTAG 进行了相同的闪存、但运行正常。

USB 固件升级不起作用的原因可能是什么?

附加 USB 固件升级日志:-

""开始
密码发送成功
发送 RAM BSL v00.07.08.38
已完成 RAM BSL v00.07.08.38
擦除存储器段  
发送 C:\Users\name\Desktop\Application_test2.txt
固件已发送
正在验证内存
已成功验证内存
总编程时间为2s  
正在重置设备...
正在启动应用程序
完成! ""

问题是否与引导加载程序版本有关? 如何将引导加载程序刷写到 MCU?

如果更改了引导加载程序版本,它是否可以恢复为旧版本?

在刷写 引导加载程序时,如果发生电源故障,我们可以将其恢复到原来的状态吗?

很好的帮助!

此致、

Renjith

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

    Renjith、您好!  

     您的 MSP430 USB 固件升级(V1.3.1)版本太旧。 请下载最新 的 MSP430 USB 开发包 并尝试强烈推荐的基于 Python 的 MSP430 USB 固件升级(V3.1)。 您可以在以下路径中找到它:

    MSP430USB 开发程序 Package_version\Host_USB_Software\PYTHON_Firmware_Upgradeer\Python_Firmware_UpgraderGUI.exe

    同时、请确保正确调用 USB BSL。

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

    您好,Philo,


    感谢您的快速回答。 现在、闪存工作正常、只执行一次。

    如果我重置或关闭 MCU,则它将不会再次工作!

    请提供帮助!


    此致、
    Renjith

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

    是否有更新??

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

    Renjith、您好!

    USB BSL 实际上运行良好。 它听起来像是代码在断电后丢失。 请检查以下各项:
    如果您在 CCS 中使用 MSP-FET 对 MSP430进行编程、然后又断电、那么它是否可以在之后工作?
    2.检查您的代码是否在非易失性存储器(闪存)区域中正确分配。
    3.如有必要、您可以上传整个 CCS 项目、以便我查看并识别可能出现的问题。

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

    e2e.ti.com/.../RELAY_5F00_CONTROL.zipHi

    1) 1) 如果在 CCS 中使用 MSP-FET 进行闪存、则可以正常工作。

    2) 2)它适用于 CCS 的默认设置、我没有更改任何内容。 如何在闪存区域中正确分配代码?

    3) 3)我正在使用一个简单的程序来测试这一点、只需切换 GPIO 引脚即可。 我还在上传 CCS 项目。

    Regars、

    Renjith

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

    有关更多详细信息、请回答一些其他问题:
    1."不工作"是否意味着 P5.3不切换?
    2.尝试在停止看门狗定时器的行后面添加以下代码行:
    PM5CTL0 &=~LOCKLPM5;//禁用 GPIO 上电默认高阻抗模式以激活先前配置的端口设置
    3.如果您有检查波形的仪器、您能否检查 XT2振荡器在下电上电后是否工作正常?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好,

    非常感谢您的快速回答。

    1) 1)是的、我是说 p5.3不会切换
    2) 2)如果我添加此代码 PM5CTL0 &=~LOCKLPM5;它在 CCS 中甚至不起作用。
    3) 3)我尝试不初始化晶体、但也具有相同的结果。 我们已验证 XT2
    4) 4)如何在 CCS 中配置闪存位置?

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

    Renjith、您好!

    默认情况下、您的代码在闪存中分配。 我想这不是我们现在的主要问题。
    如果它甚至在 CCS 中不起作用、请检查程序的运行位置。 它可能无法从 Do-while 循环中退出、这可能意味着 XT2实际上不起作用。

    如果您可以检查 UCSCTL7和 SFRIFG1寄存器的内容、也会有所帮助。

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

    在 CCS 中逐步执行 PM5CTL0 &=~LOCKLPM5时、

    它首先显示一条警告消息,如下所示:-
    "在地址"0xFFA"处中断、没有可用的调试信息、或在程序代码之外。"

    然后转至以下函数:-

    CSTART_DECL _c_int00_noinit_noargs (void)

    _c_int00_template (0、0、0);

    然后,
    int _system_pre_init (void)

    返回1;

    然后返回到 main (0);
    这一过程是重复的。

    UCSCTL7 = 0x0403
    SFRIFG1 = 0x00C2


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

    因此它不会卡在多路信号环路中。 现在看起来它在执行 PM5CTL0 &=~LOCKLPM5阶跃后被复位、并且它可能与定制板上的电路有关。
    如果您有 launchpad 或 TI 官方目标板、请在这些板上尝试您的代码。 通过这种比较、可以确认您的代码是干净的、问题出在您的定制板上。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好

    非常感谢您的快速支持。
    目前、我们没有任何 TI 目标板。
    是否有任何其他选项可确认此项... ?
    硬件可能有什么问题?

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

    Renjith、您好!

    硬件问题可能多种多样、很抱歉、我无法在线提供更多帮助。 我只能建议您通过比较进行调试。 大胆尝试不同的配置、并尝试专注于使事情正常工作的配置与其他不工作的配置之间的差异。

    例如、尝试将您的代码还原到有效的版本。 然后尝试在 CCS 中逐步运行它。 观察配置的寄存器的值、看看是否一切都符合预期。

    如果您有新发现、请尝试更多并告知我。 不过、最好的方法是获得一个 TI 电路板进行测试、与您的定制电路板相比。

    P.S.检查定制板和 TI 官方目标板之间的差异可能会有所帮助。

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

    感谢您的支持。
    问题已解决,实际上它与硬件有关,PUR 引脚始终处于高电平。 这就是原因。

    此致、
    Renjith