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.

[参考译文] MSP430F5529:Ubuntu 16.04上的 Python_Firmware_Upgrader-5_10_00_17.zip

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/588010/msp430f5529-python_firmware_upgrader-5_10_00_17-zip-on-ubuntu-16-04

器件型号:MSP430F5529

我的产品使用 MSP430连接到 ODroid C1+上的 USB 端口。 我将 MSP430置于 BSL 模式、并运行 python 固件升级程序、但失败了。

版本:

Droid@odroid:~$ uname -a
Linux odroid 3.10.104-184 #1 SMP 优先于2月20日星期一06:38:17 UTC 2017 armv7l armv7l armv7l GNU/Linux
Droid@odroid:~$ cat /etc/issue
Ubuntu 16.04.2 LTS \n

odroid@odroid:~$ python --version
Python 2.7.12.

以下是运行升级程序时发生的情况:

odroid@odroid:~/knect $ PYTHONPATH=./python -msp430-tools python -m msp430.bsl5.hid_1 -e -v -P firmware-image.txt
调试错误
详细级别设置为2
Python 版本:2.7.12 (默认值、2016年11月19日06:48:10)
[GCC 5.4.0 20160606060606060609]
操作列表:
 批量擦除()
 program_file()
 RESET()
下载完整的 BSL...
发生错误:
[errno 71]协议错误
出错后清理...

由于器件保持 BSL 模式、擦除看起来正常;第一次枚举是在升级尝试之前进行的、第二次枚举是在失败之后进行的:

4月11日11:40:52甲状腺内核:[219.147811@3] USB 1-1.1:USB 断开连接、器件编号3
4月11日11:40:52 Droid 内核:[219.380706@3] USB 1-1.1:使用 DWC_OTG 的新全速 USB 器件编号4
4月11日11:40:52甲状腺内核:[219.483564@3] hid-generic 0003:2047:0200.0001:hiddev0、hraw0:USB HID v1.01设备[HID 2047:0200]位于 USB-lm1-1.1/input0上
4月11日11:41:11甲状腺内核:[237.840784@3] USB 1-1.1:USB 断开连接、器件编号4
4月11日11:41:12甲状腺内核:[238.980936@3] USB 1-1.1:使用 DWC_OTG 的新全速 USB 器件编号5
4月11日11:41:12甲状腺内核:[239.083919@3] hid-generic 0003:2047:0200.0002:hiddev0、hiddraw0:USB HID v1.01设备[HID 2047:0200]位于 USB-lm1-1.1/input0上

使用--debug 运行不再有任何帮助:

odroid@odroid:~ë/knect $ sudo PYTHONPTH=./python -msp430-tools python -m msp430.bsl5.hid_1 -e -v --debug -P knect-2.0.1
调试为真
详细级别设置为2
Python 版本:2.7.12 (默认值、2016年11月19日06:48:10)
[GCC 5.4.0 20160606060606060609]
操作列表:
 批量擦除()
 program_file()
 RESET()
下载完整的 BSL...
出错后清理...
回溯(最近一次调用最后一次):
文件"/usr/lib/python2.7/runpy.py、第174行、在_run_module_as_main "__main__"中、fname、加载程序、 封装名称)
文件"/usr/lib/python2.7/runpy.py、第72行、位于 run_globals 中的_run_code exec 代码中
文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/hid_1.py、第361行、在中 MAIN ()
main BSL_TARGET.MAIN ()中的文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/hid_1.py 第358行
文件"/home/odroid/knect/python-msp430-tools/msp430/target.py,第707行,位于 mainself.do_th_work ()中
文件"/home/odroid/knect/python-msp430-tools/msp430/target.py,第677行,在 DO _the_work self.open_connection()中
open_connection self.BSL_load_PC (0x2504)中的文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/hid_1.py "、第315行
文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/bsl5.py、第96行、位于 BSL_LOAD_PC self.BSL (BSL_LOAD_PC、Three 字节(地址)、Receive_Response=False)中
BSL self.write_report (txdata)中的文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/hid_1.py "、第69行
文件"/home/odroid/knect/python-msp430-tools/msp430/bsl5/hid_1.py、第240行、位于 WRITE_REPORT OS.WRITE (self.hid_device、data) OSError:[errno 71] Protocol error

有人在使用这款拉电流器件、我已安排让 udev 使它成为世界可访问的设备:

Droid@odroid:~/knect $ ls -Alf /dev/hid
crw-rw-rw- 1 root root 246、0 Apr 11:59 /dev/hidraw0

当我使用 Raspberry Pi 3时、此设置对我有效:

PI@raspberrypi:~$ uname -a
Linux raspberrypi 4.1.19-v7+#858 SMP Tue Mar 15:56:00 GMT 2016 armv7l GNU/Linux
PI@raspberrypi:~$ cat /etc/issue
Raspbian GNU/Linux 8 \n

PI@raspberrypi:~$ python --version
Python 2.7.9

以前有人看过这种情况吗?

我想知道为 ODroid 编译较新的内核是否会有所帮助。

(编辑:格式化)

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

    尊敬的 Stuart:

    您是否尝试使用'sudo '命令下载映像文件。  在第一个实例中 、您列出 了不带'sudo '的以下命令:

    odroid@odroid:~/knect $ PYTHONPATH=./python -msp430-tools python -m msp430.bsl5.hid_1 -e -v -P firmware-image.txt

    在第二个实例中、我看到'sudo '、但我不识别文件类型:

    odroid@odroid:~ë/knect $ sudo PYTHONPTH=./python -msp430-tools python -m msp430.bsl5.hid_1 -e -v --debug -P knect-2.0.1

    knect-2.0.1是.txt 文件吗?

    此致、

    Arthi

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

    感谢您的帮助!

    我已将 udev 配置为创建666个 hiDraw 设备,因此不需要 sudo。 有时我会通过肌肉记忆键入它。 :-)

    我打算用 firmware-image.txt 替换'knect-2.0.1'。 它是 TI 十六进制格式。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Stuart:

    您能不能尝试使用'sudo '下载、而不用将扣件设置为666。 如果您仍有问题、请告诉我。

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

    无变化、问题仍然存在。 我在发布之前曾尝试过、但忘了提及、但无论如何重新尝试只是为了确保。

    Stu
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    然后、我想如果您需要、您必须调试 python 代码、以查看它到底在哪里发生了故障。 在 hid_1.py 中搜索"下载完整 BSL"。 然后,您可以在代码中的特定时间间隔内放置相同的 print 语句(sys.stderr.write(....)),以查看故障发生的位置。 对于 Odroid、可能需要提及或提及系统平台。 不管怎样、您能告诉我代码中的确切故障位置吗?

    此致、
    Arthi