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.

[参考译文] MSP430F5527:Python USB 固件更新软件不工作

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1271489/msp430f5527-python-usb-firmware-update-software-not-working

器件型号:MSP430F5527

您好!

我是一名研究生、正在攻读围绕 MSP430构建的激光系统控制板、该 MSP430用于多所大学的一个项目。 我负责管理固件和硬件、并正在研究以简便的方式将固件更新提供给其他大学的主板。 我发现、我们使用的 MSP430支持通过 USB 上的 BSL 进行固件更新、这非常适合我们的项目、因为我们已经通过 USB 将数据发送到主机、如果同一根线缆可用于固件更新、 这样就无需向每个小组分发调试器或收集电路板来更新它们。

在研究这一点时、我首先发现了 slaa452c、它介绍了如何实现该功能。 不幸的是、其他团队中的一些人使用的是 Mac 计算机、因此 Microsoft Visual Studio 方法与.NET 框架不起作用。 然后我发现这篇文章虽然似乎传达了这种方法不再被支持,并且一个 python 工具现在被支持,而这是跨平台(YAY)。

e2e.ti.com/.../msp430f5529-usb-firmware-update-using-ti-visual-studio-project

然后、我找到了"适用于 MSP430 MCU 的 Python 固件升级工具"文档、该文档位于主机到 MCU 软件的文件夹的 USB 开发人员包中。 在纸上,这似乎正是我们需要的,所以我开始考虑使用它。 我在 Mac 上工作,所以开始这样做,即使我可以访问 Windows 计算机,如果需要. 按照发行说明中的说明操作时、我首先意识到 TargetGUI.py 代码不会随 python3运行、因为打印的语法略有不同、并会引发一系列错误 (我相信还有很多其他的东西使它与 python3不兼容)。 然后我用 pyenv 把我的环境设置为 python2,仍然遇到问题。 似乎是什么是导入 hid 的 hid.py 文件(从 cython-hidapi 我想?)。 下面显示了我遇到的错误。

回溯(最近的调用最后):
 文件"TargetGUI.py"、第67行、位于
   导入 hid
 文件"build/bdist.MacOSX-13.2-x86_64/egg/hid.py"、第7行、位于
 在__bootstap__中,文件"build/bdist.MacOSX-13.2-x86_64/egg/hid.py",第6行
 init hid 中的文件"hid.pyx",第418行
AttributeError:"module"对象没有属性"finalize"

我已经尝试了这与不同的 python 版本在这一点,我已经安装了 Cython 和 Cython-hidapi 与 pip,以及从他们的 git-hub repo 安装他们(通过干净的卸载和重新安装 python 在之间)。 我还尝试在程序崩溃的行中将 hid 更改为 hid_1、反之亦然、因为终端输出似乎指向这个问题、以及发行说明中的注释说明:
"在调用导入 hid 期间、msp430-python-tools 目录中的 Hid.py 文件名与 cython-hidapi 模块中的 hid.py 文件名冲突。 为了解决此冲突、hid.py 已重新命名为 hid_1.py、并且原始 hid.py 包含在 msp430-python-tools 目录中作为 hid_original.py。"

我还发现了以下帖子并按照他们做的操作、并设法使 python-msp430-tools 运行、但当我按照这些步骤操作时、仍然会收到错误。 我还尝试用从最新 GitHub Commit 中提取的工具替换包含 TI 发布的工具的文件夹、但仍然无法使其正常工作。 说到这一点,现在文档在 python 工具指南的第5.2.3节说:" Python 可用于 MacOS ,但升级程序还没有在 Mac 上测试。",但对我的测试,它实际上不能在 Mac 上工作。 我认为、除非 TI 能够成功地完成这项工作、否则在我的研究中是找不到的、否则将此部分内容留在中会产生误导。

e2e.ti.com/.../msp430f5659-msp430f5659-python-firmware-upgrader-setup-fails-again

然后、我搬到一台 Windows 计算机上以继续工作、并能够使用该文件夹中包含的提供预编译.exe 程序通过 USB 上载、这表明我们的硬件可以工作、并且电路板能够通过 USB 使用 BSL 进行编程。 然后、我尝试在 Windows 上自定义 GUI、并通过尝试使用 python 而不是.exe 来运行 GUI;当在所需的软件包(分发)中运行"python setup.py install"时、我遇到了一些错误。

总体而言、此 Python 固件更新工具的应用报告自2013年起、 我认为从那时起、软件生态系统已经发生了足够的变化、TI 的相关人员应该对其进行研究并更新该文档以及发行说明、以反映当前情况以及为了使其正常工作需要采取哪些步骤。 同时,如果任何人可以提供建议从这里去哪里,那将是很好的。 我们的电路板有5款运行不同固件的 MSP430、其最终目标是通过自定义 GUI 使其能够正确地为每个器件刷写正确的程序、从而消除其他团队的困惑。

谢谢。

-Max Thoburn

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

    您好、Max:

    您能否在哪里可以共享文档 "MSP430 MCU 的 Python 固件升级工具"的链接? 我可以尝试与作者联系、并检查我们可以为您的问题提供哪些帮助。  

    此致、

    现金豪

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

    大家好、

    https://www.ti.com/tool/download/MSP430USBDEVPACK/5.20.07.01
    在此页面上、如果您下载了 USB 堆栈和示例文件夹、从那里转至"Host_USB_Software"文件夹、有一个名为 Python_Firmware_Upgrader 的文件夹、其中包含我要引用的文件。 您也可以从上面链接的下载页面仅下载该文件夹。 在此文件夹内部、提供了发布说明、以及名为"doc"的文件夹中的"适用于 MSP430 MCU 的 Python 固件升级工具"文档。 这就是您要找的器件吗?

    非常感谢、

    -Max Thoburn

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

    您好、Max:

    我找到此文档。 以及我在"release_Requirement"中找到的更多 Notes_Example_Python_Firmware_Upgrader 关于要求的信息。 您在该线程中提到了 Python 版本。 您可以参考以下相关信息。  

    嗯、我没有找到这份文档的作者。 但是、我还注意到在版本的支持部分中没有。 您可以通过 msp430ware@list.ti.com 向 MSP430软件发送电子邮件并寻求帮助 

    此致、

    现金豪