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.

[参考译文] Linux/MSP430FR2433:Launchpad 的行为不符合预期、无法通信

Guru**** 2595805 points
Other Parts Discussed in Thread: MSP430FR2433, MSP-FET, ENERGIA

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/646982/linux-msp430fr2433-launchpad-behaves-not-as-expected-cannot-communicate

器件型号:MSP430FR2433
主题中讨论的其他器件: MSP-FETENERGIA

工具/软件:Linux

我获得了这些"promo" msp430fr2433 Launchpad。

该文档指出、它已预先刷写"OutOfBox"、当我为电路板通电时、红色 LED 应在5秒内闪烁大约一次。 但实际上、它每秒快速闪烁几次、当我按下 J1或 J2或同时按下两者时、该模式不会改变。 反向通道 UART 上没有任何内容。

我尝试通过 Linux 上的`mspdebug utilib`与其进行通信。 Mspdebug 的行为就像一切正常一样、探针上的红色 LED 101亮起。 我刷写提供 的 BlinkLED_MSP430FR2433.txt、它不报告错误、但闪烁模式没有变化。

$ mspdebug utilb - allow-FW-update
MSPDebug version 0.22 -用于 MSP430 MCU 的调试工具
版权所有(C) 2009-2013 Daniel Beer 
这是免费软件;请参阅复印条件的来源。 不
提供任何保证;甚至不提供适销性或特定用途适用性。

MSP430_GetNumberOfUsbIfs
MSP430_GetNameOfUsbIf
Found FET: ttyACM0
MSP430_Initialize:ttyACM0
固件版本为4294967295
MSP430_VCC:3000mV
MSP430_OpenDevice
MSP430_GetFoundDevice
设备:(ID = 0x0000)
0断点可用
MSP430_EEM_Init
芯片 ID 数据:00 03

可用命令:00
= 擦除 搜索 电源 Save_raw simio
别名 退出 负载 程序 设置 步骤
中断 填充 LOAD_RAW 读取 setbreak sym
Cgraph gdb MD 寄存器 setwatch 验证
脱开帮助 兆瓦 复位 setwatch_r verify_raw
分遣队 六角形 可选 运行 setwatch_w

可用选项:
颜色 gdb_loop
ENABLE_BSL_ACCESS gdbc_xfer_size
enable_locked_flash_access iradix
FET_BLOCK_SIZE 安静
gdb_default_port

键入"help "以了解更多信息。
使用"opt"命令("help opt")设置选项。
按 Ctrl+D 退出。

(mspdebug) prog BlinkLED_MSP430FR2433.txt
偏置...
正在编程...
在 C400写入218字节...
正在写入8字节 ff80...
正在 FFDA 上写入38个字节...
完成、
总共264字节(mspdebug)寄存器
(PC:00000)(R4:00000)(R8:00000)(R12:00000)
(SP:00000)(R5:00000)(R9:00000)(R13:00000)
(SR:00000)(R6:00000)(R10:00000)(R14:00000)
(R3:00000)(R7:00000)(R11:00000)(R15:00000)
0x0000:
00000:D0 38 JL 0x01a2
00002:AB 97 fc 7f CMP @R7、0x7ffc (R11)
00006:00 布拉 @PC
00008:01 00 MOVA @PC、SP
0000a:00 布拉 @PC
0000c:00 布拉 @PC
0000e:00 布拉 @PC
(mspdebug)寄存器
(PC:00000)(R4:00010)(R8:00000)(R12:d368da60)
(SP:00000)(R5:00000)(R9:00000)(R13:da4cce00)
(SR:97ab33a8)(R6:00000)(R10:00000)(R14:00000)
(R3:97ab3440)(R7:6884cb94)(R11:d368d560)(R15:00010)
0x0000:
00000:D0 38 JL 0x01a2
00002:AB 97 fc 7f CMP @R7、0x7ffc (R11)
00006:00 布拉 @PC
00008:01 00 MOVA @PC、SP
0000a:00 布拉 @PC
0000c:00 布拉 @PC
0000e:00 布拉 @PC
(mspdebug)寄存器
(PC:00000)(R4:00010)(R8:00000)(R12:d368da60)
(SP:00000)(R5:00000)(R9:00000)(R13:da4cce00)
(SR:97ab33a8)(R6:00000)(R10:00000)(R14:00000)
(R3:97ab3440)(R7:6884cb94)(R11:d368d560)(R15:00010)
0x0000:
00000:D0 38 JL 0x01a2
00002:AB 97 fc 7f CMP @R7、0x7ffc (R11)
00006:00 布拉 @PC
00008:01 00 MOVA @PC、SP
0000a:00 布拉 @PC
0000c:00 布拉 @PC
0000e:00 布拉 @PC
(mspdebug)运行
。 按 Ctrl+C 键中断...
^C
(PC:00000)(R4:d368da60)(R8:97ab38d0)(R12:00000)
(SP:6884d065)(R5:da4cce00)(R9:00001)(R13:00000)
(SR:46505845)(R6:d368da60)(R10:d366ee00)(R14:00002)
(R3:d368d560)(R7:00001)(R11:d324db8c)(R15:00000)
0x0000:
00000:D0 38 JL 0x01a2
00002:AB 97 fc 7f CMP @R7、0x7ffc (R11)
00006:00 布拉 @PC
00008:01 00 MOVA @PC、SP
0000a:00 布拉 @PC
0000c:00 布拉 @PC
0000e:00 布拉 μ@PC
(mspdebug)

我有两个板、它们的行为方式相同。

这一切都适用于旧的 G2 launchpad 和 RF2500驱动程序。

我有什么问题吗? 发生什么事了?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这也是我的行为方式。 看起来它们是使用示例 msp430fr2433_1.c 进行编程的。 (我还模糊地回顾、其他器件的等效示例程序以1Hz 而不是5Hz 的频率闪烁、但我一直没有跟踪。)

    MSP-expfr2433 (电路板而不是 MCU)示例包括名为 OutOfBox_MSP430FR2433的内容;这可能是您接下来要尝试的内容。 该文档似乎与实际内容不同步。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我猜他们可能已经用其他东西预先刷写了电路板。
    但更大的未解决问题是 mspdebug 对我不起作用(使用 libmsp430.so 从 slac460w 构建)。 我无法刷写任何内容。
    MSPDebug 的新版本也不起作用(github.com/.../43)
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    SLAU739表4确实显示 Launchpad 已加载 OutOfBox、但显然存在混频。

    我刚刚尝试了 BlinkLED、它的行为(对我的眼睛)与 msp430fr2433_1.c 相同 我的建议是尝试一些已知会有所不同的固件。 在本例中、我刚刚更改了 msp430fr2433_1.c 中的延迟常数、以查看闪烁速率变化。

    也就是说、现在我看一下您的寄存器看起来确实有点奇怪。 我从未尝试过使用 mspdebug 加载 TI-TXT 文件(多年来我从未使用过 mspdebug)。 .txt 中的复位矢量似乎或多或少是正确的。 是否需要执行"重置"或执行其他操作来设置 PC? 您能否要求它加载".out"(ELF)文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当然、我尝试以 ELF 和 TXT 格式加载不同的程序、自编译并随示例一起提供、包括具有修改后的延迟值的自编译`闪烁`示例。 即使在`擦除`后、LED 也会以相同的方式继续闪烁。

    正如我说过的、我的主要问题是 mspdebug 不起作用(但会先起作用)。 因此我无法加载任何内容。

    我在原始帖子中使用 mspdebug 0.22描述了行为。 从那以后,我尝试了当前的 mspdebug (0.25),使用了相同的 libmsp430.so,它是用 slac460w.zip 构建的。 新版本的 mspdebug 坚持更新 FET 固件、失败、现在电路板不闪烁、显示为 USB 类型 2047:0203、我仍然无法加载任何程序(错误? 我还有另一个板)。

    Bruce、您似乎使电路板正常工作、您使用的是哪个版本的 mspdebug 以及哪个版本的 slac460源代码?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我在 Windows (8.1)上使用了 CCS。 它确实坚持升级 eZ-FET 固件、但在我的情况下没有遇到任何困难。 eZ-FET 已经使用了几年、但 G2 Launchpad 和 RF2500将 eZ-FET 的日期提前了更多年。

    我已经用了很长时间了。 论坛上有人知道这些事情、但您可能在周一之前没有听到他们的声音。

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

    另一个使用 MSPdebug 的 Linux 开发人员。 我非常感兴趣地关注这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我无法运行 CSS (TI 说"不能使用此版本的 glibc、我们正在研究此问题")、如果可以、我宁愿不使用 GUI 工具。
    我找到了"Native TI"命令行工具 www.ti.com/.../MSP430-FLASHER、它附带了自己的(二进制) libmsp430.so 副本。 如果我使用包含的 libmsp430运行它、我将获得一些更好的结果:

    -在“全新”的主板上,MSPFlasher 建议升级 FET 固件,我*不同意*,然后它可以正常工作并可以成功加载程序。 是吗?
    -我不愿意让它升级 FET 固件,以免我的第二块板发生弯曲。
    -当我使用 libmsp430的 slac460w 副本运行 MSPFlasher 时,它无法升级 FET FW,并且无法加载程序。
    -在尝试升级 libmsp430的 slac460w 副本失败的主板上,MSPFlasher (具有自己的 libmsp430)尝试升级固件,但失败。 电路板仍然无法正常工作:

    *---- /|-------------------------------------------------------- *
    */|_*
    *//MSP Flasher v1.3.16 *
    *|/*
    *---- |/---------------------------------------------------------- *
    *
    *评估触发器...完成
    *检查可用的 FET 调试器:
    *检测到 USB FET 固件损坏。 正在开始恢复。
    #出口:49
    #错误:MSP-FET / eZ-FET 恢复失败
    *
    ***********************************************************************************************。
    *驱动程序:已关闭(无错误)
    ***********************************************************************************************。
    *

    更新:

    MSPFlasher_1.3.16中止了我的第二块板(我意外允许它升级 FET 固件)。

    我在 一个新的 Linux Box (Ubuntu 16.04.3 LTS)上安装了从 TI 网站下载的 MSPFlasher-1.3.16-Linux-x64、而没有任何预先存在的 MSP430相关软件。 我能够将几个示例程序加载到 launchpad 中、对 MSPFlasher 升级固件的提示回答"N"。 他们工作正常。 然后、我不小心用`-s`标志运行了它、它尝试升级固件、失败、现在无法恢复。

    第一次运行:

    *---- /|-------------------------------------------------------- *
    * /|__ *
    /// MSP Flasher v1.3.16 *
    * |/ *
    *---- |/---------------------------------------------------------- *
    *
    *评估触发器...DONE
    *检查可用的 FET 调试器:
    *找到 USB FET @ ttyACM0 <- Selected
    * Initializing interface @ ttyACM0...DONE
    *检查固件兼容性:
    * FET 的固件已过时。
    *已跳过固件更新提示。
    
    
    (小部分
    *
    *初始化更新引导加载程序。
    *对新固件进行编程:
    *|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 100%#退出:49
    #错误:MSP-FET / eZ-FET 内核(通信层)更新失败
    **---------------
    *驱动程序 :已关闭(无错误)
    *----------------------------------------------------
    * 

    后续尝试:

    *---- /|-------------------------------------------------------- *
    * /|__ *
    /// MSP Flasher v1.3.16 *
    * |/ *
    *---- |/---------------------------------------------------------- *
    *
    *评估触发器...完成
    *检查可用的 FET 调试器:
    *检测到 USB FET 固件损坏。 正在开始恢复。
    #退出:49
    #错误:MSP-FET / eZ-FET 恢复失败
    *
    *---------------
    *驱动程序 :已关闭(无错误)
    *----------------------------------------------------
    *
    

    我甚至在这个盒子上安装了 CCS (这是一个旧的发行版、所以它确实安装了)、它也尝试恢复固件、并且也失败了。

    这一次不涉及自编译或第三方软件、仅涉及直接从 TI.com 下载的工具。

    TI 支持、请帮助!!!

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

    供参考、CCS 7.4的测试版可用于更新的版本:

    http://processors.wiki.ti.com/index.php/Code_Composer_Studio_Beta_Downloads

    当我在 Energia、CCS 和 CCS Cloud 之间来回切换时、我还遇到了损坏的 FET 固件。  其中一个能够恢复、但我真的不记得是哪一个。  因此、希望这意味着您的电路板不会被永久欺骗。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    事实证明、附带 CCS 4.7的 libmsp430.so 可将 FET 固件恢复到工作状态!
    谢谢 Shayun!
    TI 推出的软件会使其自己的电路板砖墙、这仍然令人失望。

    $ MSP430Flasher -e ERASE_ALL
    *---- /|-------------------------------------------------------- *
    * /|__ *
    *//MSP Flasher v1.3.16 *
    * |/ *
    *---- |/---------------------------------------------------------- *
    *
    *评估触发器...完成
    *检查可用的 FET 调试器:
    *检测到 USB FET 固件损坏。 正在开始恢复。

    (小部分
    *
    *初始化更新引导加载程序。
    *对新固件进行编程:
    *|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 100%
    *更新已成功完成。
    *
    (小部分

    *退出更新引导程序并重新引导固件。
    * USB FET 恢复完成。
    *找到 USB FET @ ttyACM0 <-已选中
    *正在初始化接口@ ttyACM0...DONE
    *检查固件兼容性:
    * FET 的固件已过时。
    -您是否要更新它? (是/否):是

    (小部分
    *
    *初始化更新引导加载程序。
    *对新固件进行编程:
    *|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||| 100%
    *更新已成功完成。
    *
    (小部分

    *退出更新引导程序并重新引导固件。
    * FET 固件是最新的。
    *正在读取固件版本...完成
    *将 VCC 设置为3000mV...完成
    *正在访问设备...完成
    *正在读取设备信息...完成
    *擦除器件存储器...完成
    *
    ***********************************************************************************************。
    *参数:-e ERASE_ALL
    ***********************************************************************************************。
    *驱动程序 :已加载
    dll 版本:31100001
    * FwVersion:31100001
    接口:TIUSB
    * HwVersion : E 5.0
    * JTAG 模式:自动
    *器件 :MSP430FR2433
    * EEM :5级,ClockCntrl 2
    *擦除模式:ERASE_ALL
    * VCC 关闭
    ***********************************************************************************************。
    *断电...完成
    *正在从设备断开连接...完成
    *
    ***********************************************************************************************。
    *驱动程序 :已关闭(无错误)
    ***********************************************************************************************。
    *