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.

[参考译文] MSP-GANG:创建 c#应用程序对器件进行编程时出现问题

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1169128/msp-gang-issues-with-creating-a-c-app-to-program-devices

器件型号:MSP-GANG
主题中讨论的其他器件:MSP430F67771

我的器件需要特定顺序的步骤才能正确编程、我正在尝试自动化该过程。 我无法使用《MSP Gang 编程器用户指南》中列出的命令对电路板进行编程。

我有一个文本文件、我们将其上载并写入器件。 使用从 TI 网站下载的应用程序时、我可以使其正常工作。 当我尝试运行 c#示例时、它崩溃、说它无法加载 dll。 此外、通过查看代码、我看不到如何对电路板进行编程。  

目前、我正在运行以下命令

  1. MSPGANG_API.InitCom ("COM66"、115200);  
  2. MSPGANG_API.Default_Config ();
  3. MSPGANG_API.Set_MCU_Name ("MSP430F67771");
  4. MSPGANG_API.Interactive Open_Target_Device ("MSP430F67771")
  5. MSPGANG_API.SetConfig (ConfigIndexes.CFG_TARGET_EN_INDEX、0x01);//仅尝试连接到第一个连接器的一个器件。
  6. MSPGANG_API.Read_Code_File (filePath);
  7. MSPGANG_API.MainProcess (1000);
  8. MSPGANG_API.Interactive Close_Target_Device ();

上述所有步骤返回0状态、但固件确实会加载到器件上。  

以下是 TI 应用程序成功运行后的截屏。

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

    您好、Dave、

    更确切地说、您的 C#实现似乎运行不正常、但您尝试加载的 FW 确实会加载到器件中?

    此外、从较高层次看、您正在尝试完成您需要执行的步骤、从而使您走利用 DL 的道路? 如果这只是实现特定编程顺序自动化的简单应用、您是否考虑了 MSP-GANG 的脚本选项? 它在 www.ti.com/lit/slau358中进行了介绍 

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

    您好、Dave、

    您是否在中的 C#中尝试过该演示  

      C:\Program Files (x86)\Texas Instruments\MSP-GANG \examples\C#-MSP-DLL

    您应该在 GUI 中运行第一个软件、使其正常工作、然后将配置文件另存为... 将该配置文件与您的 dll 一起使用。
    如果您有任何疑问、请告诉我。

    此致、
    Gregory Czajkowski
    Elprotronic Inc.
    gregory@elprotronic.com

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

    我尝试通过 VS 调试器运行该程序、并在点击"Load"或"Start (开始)"按钮时使其崩溃。 它无法加载 DLL。 下面复制的消息。

    System.DllNotFoundException: 'Unable to load DLL 'MSP-GANG.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)'

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

    基本上、我想模仿当您单击 TI 的 Gang 编程器应用程序的"Go"按钮时发生的情况(我的第一篇帖子中包含了该应用程序的屏幕截图)。 遗憾 的是、我无法使用脚本选项、因为我需要与第三个器件通信、这将对正在编程的器件进行重启。  

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

    您好、Dave、

    我们将对此进行研究、但重现/调试可能需要几天的时间。

    我最初的印象是、这是一个构建问题或 DLL 路径的运行时问题、这会阻止您的应用 程序找到 DLL。

    在我深入探讨这个问题时、我可能会为您或您提出一些问题、供您尝试。

    此致、

    Evan

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

    您好、Dave、

    这里是快速更新:我实际上能够在 mspgang 包含的示例项目中重现"DLL 缺失问题"。 我需要深入研究一下、但我希望这应该是一个简单的修复方法、因为我希望示例项目能够正常工作。

    我会不断地研究它、然后返回给您。

    此致、

    Evan

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

    您好、Dave、

    我在这里找不到根本原因、但我注意到、如果我在 bin/Debug 中直接运行.exe、它会起作用。 可以尝试一下吗?

    此致、

    Evan

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

    此外、您使用的是哪个版本的 Visual Studio?

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

    我可以从调试文件夹运行它、但在尝试连接时遇到错误。 我将 Demo.ComPort 更改为正确的值(例如:"COM66")、并确保没有其他软件在使用连接。 应用程序中的文本

    MSPGANG_InitCom              ERROR 310: Open Comm port - invalid handle value
    MSPGANG_CreateGangImage        Operation successful.
    MSPGANG_EraseImage           ERROR 306: Timeout during operation - Correct COM port selected?

    我的 VS 是 VS Professional 2019、v16.2.2

    谢谢

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

    好的、有趣的是、您能确认您可以使用 GUI 进行连接吗?

    Evan

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

    Dave、

    我还想问您的总体系统要求是什么。 MSP-GANG 具有其他自动化选项、可让您在不直接连接 DLL 的情况下完成所需的操作。

    Evan

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

    是的、我可以连接到 GUI

    我的目标是使编程过程自动化。 这需要获取一个十六进制文件并使用 Gang 编程器将其刷写到器件中。 我有一个可与 MSP-FET 硬件编程工具交互的有效 C#应用| TI.com (使用 MSP Flasher v1.3.2 CLI、请参阅下面的屏幕截图) 、但这一次只能对一个器件进行编程。 我们希望使用 Gang 编程器加快该过程。  如果 存在类似的 CLI 命令、我不反对使用它们。  

    使用内置脚本不是一个选项、因为我们的器件必须在需要 第三方器件的编程过程中多次循环通电。  

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

    您好、Dave、  

    感谢您分享背景信息。 我想看看我们是否有其他选项可以在没有 GUI 的情况下运行 MSP-GANG、但除了.dll 之外、我找不到任何选项。 鉴于您已经拥有 C#程序、我认为最好的选择是尝试重复使用。

    因此、到目前为止、我们有几个问题:

    1) 1)即使指定了正确的 COM 端口、也无法连接到 MSPGANG。

    2) 2)调试程序时、加载 DLL 时遇到问题。

    最好能够使用调试器、但现在我想让我们处理2)。 不幸的是、我没有一个 Gang 设备、因此我可能需要再吸收一些团队成员。 这是假日周、可能需要一些时间。  

    您能否详细介绍一下您针对"无效句柄"错误尝试了哪些操作? 您使用的通信端口是 COM66。 这是否意味着有许多设备连接到此工作站? 您说过在运行程序时关闭 MSPGANG GUI、但他们是否正在使用此工作站上的串行端口运行其他程序?

    此致、

    Evan

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

    您好、Dave、

     我们提供具有 C#和 MSP DLL 的演示。 您应该从位置获取它

     C:\Program Files (x86)\Texas Instruments\MSP-GANG \examples\C#-MSP-DLL

     安装 MSP-GANG 软件包时。

     此致、
    Gregory Czajkowski
    Elprotronic Inc.

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

    我也会外出度假、因此我可能无法在下周之前尝试其他任何东西。  

    我只有 Gang 编程器和鼠标通过 USB 连接(这是我的笔记本电脑)。 COM 编号过高是因为我经常工作的其他一些器件无法正确清除 COM 端口、这会导致数字越来越高。  

    当我尝试执行此操作时、没有其他程序 连接到 COM 端口。  

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

    此外、您使用的是演示项目还是您自己的项目? 我认为、在我们将代码移植到您的项目之前、我们应该确保我们可以使用演示项目。