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.

[参考译文] MSP430G2553:新的BSLDEMO v 2.02 中的"I"开关不起作用

Guru**** 2539810 points
Other Parts Discussed in Thread: MSPBSL, MSP-FET

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/654553/msp430g2553-the-i-switch-in-the-new-bsldemo-v2-02-doesn-t-work

部件号:MSP430G2553
主题中讨论的其他部件:MSPBSLMSP-FET

2017年初,我请求在BSLDEMO2.exe中添加一个新的可选"i"开关,以允许DTR的极性反转。  这将允许程序与嵌入式USB到串行适配器一起使用,而无需在硬件中反转DTR。

我刚刚发现,这样的修订似乎是在8月份进行的,并且包含在MSPBSL_Scripter_win330/zip中的deprecated文件夹中。  问题在于,此新的BSLDEMO2 v 2.02 在启用“i”的情况下不能工作。  我使用CP2102 USB适配器和G2553对其进行了测试,DTR (重置)和RTS (测试)上的特殊信号模式无法同步,G2553没有响应。  以下说明了它不起作用的原因。

SLAU319第1.3 1节(用于具有共享JTAG引脚的器件)明确要求,当DTR重置为高电平时,RTS-测试必须为高电平,并且RTS-测试应在此后变为低电平,并留在那里以启动BSL。  启用了"i"的新版本不符合这两个要求。

我唯一的工作范围只有一个通道,但希望下面的第一张图片将显示出错误。 两个浅蓝色轨迹是在组合图片中显示的实际示波器捕获,触发点对齐。  它们是RTS线路本身的捕获,以及(DTR + RTS)/2的捕获。  后者是通过47k电阻器将两条线路连接到一个单点,然后将探针放在那里。  顶部的橙色线本身就是DTR -这是从两条活迹线之间的差异得出的。  相比DTR和RTS,很明显,DTR高时RTS较低,之后RTS较高且保持较高。 这与SLAU319的图2不匹配。

我不知道这一新版本的BSLDEMO2,我修改了以前版本的BSL脚本程序zip文件(3.2 v.1)中包含的v 2.01 的源代码,并重新编译了它,在启用我的“i”开关的情况下,生成的程序工作正常。 下面的第二张图片显示了我在启用"I"的情况下进行修改时产生的模式。  我相信它符合SLAU319,实际上可以与G2553和CP2102适配器配合使用。

除非程序员正在解决其他一些我不知道的问题,否则他或她可能会误解所需的内容。  根本不需要对RTS测试或DTR重置的时间进行任何更改。 唯一的问题是DTR-Reset的极性。 对于我的版本,除了设置新的"i"变量"InvertDTR",我唯一的更改是从bslcomm.c第65行开始的函数(日期为2005年05月11日)。

在:

  Void SetRSTpin (BOOL级别)

我改变了:

  comDCB.fDtrControl =级别? DTR_CONTINT_ENABLE : DTR_CONTINT_DISABLE;

至:

  如果(InvertDTR) comDCB.fDtrControl =电平? DTR_CONTINT_DISABLE:DTR_CONTINT_ENABLE;
  else comDCB.fDtrControl =级别? DTR_CONTINT_ENABLE : DTR_CONTINT_DISABLE;

DTR只需要这样的内容,RTS不需要任何更改。

我不知道发布新版本以正确设置是否有意义。  我认为TI还没有被投诉所欺骗,所以我可能是唯一一个希望进行此更改的人,而且我已经有了一个能够正常工作的版本。  但是,如果TI确实开发了新版本,我会在发布之前自愿对其进行测试。  当然,我的版本可供任何想要它的人使用,如果这样做会有帮助。

我应该补充一点,如果没有启用“i”,新版本的信号模式似乎与上一版本相同,所以我认为它将继续与火箭一起工作,等等

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我假设这是您提到的原始线程: e2e.ti.com/.../

    我将通知之前参与的各方和BSL专家,以了解他们对该主题的意见。

    此致,
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢,Ryan。 是的,这就是我所指的主题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,George,

    感谢您在此提供的意见。 以下是我方面的一些反馈:

    除非程序员正在解决其他一些我不知道的问题,否则他或她可能会误解所需的内容。  根本不需要对RTS测试或DTR重置的时间进行任何更改。 唯一的问题是DTR-Reset的极性。 对于我的版本,除了设置新的"i"变量"InvertDTR",我唯一的更改是从bslcomm.c第65行开始的函数(日期为2005年05月11日)。 DTR只需要这样的内容,RTS不需要任何更改。

    是的,我还更新了RTS,而不仅仅是DTR。 除了更新代码之外,我还使用Visual Studio更新项目文件(在使用Visual C++程序交付之前,它是非常旧的IDE,现在不常用),并且没有其他库依赖性,客户现在只需更改极性代码即可。 没有实施时间更改。 我们也在软件包中提供源代码,因此导致无法正常工作的误导是转换RTS。

    我不知道发布新版本以正确设置是否有意义。  我认为TI还没有被投诉所欺骗,所以我可能是唯一一个希望进行此更改的人,而且我已经有了一个能够正常工作的版本。  但是,如果TI确实开发了新版本,我会在发布之前自愿对其进行测试。  当然,我的版本可供任何想要它的人使用,如果这样做会有帮助。

    非常感谢,George,非常感谢您在这里提供的服务,但我们必须在内部进行测试。 作为开发人员,我可能理解要求100 % 不正确。 但我用测试设置测试了反向信号,并使其工作。 我今天不在办公室,但当我进入办公室后,我使用CP2102检查了工作的原因。

    我应该补充一点,如果没有启用“i”,新版本的信号模式似乎与上一版本相同,所以我认为它将继续与火箭一起工作,等等

    如果您的意思是不在命令行中提供"-I",则是的,它将生成它最初的内容。 对于BSL演示,我们使用的通信桥由第三方Elpotronic提供,而MSP-BSL Rocket不支持它。

    总结一下:对于BSLDEMO,我们认为不会在不久的将来进行特定的更新。 但是,通过使用Visual Studio更新项目文件,我们希望这能帮助客户比以前更轻松地编辑和构建项目。 再次感谢您对本主题的关注和反馈。

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

    [报价用户="Fatmawati_Santosa"]

    您好,George,

    感谢您在此提供的意见。 以下是我方面的一些反馈:

    [/引述]


    谢谢Fatma。  我不确定我是否理解回复,但会尝试发表评论。

    [引述]

    除非程序员正在解决其他一些我不知道的问题,否则他或她可能会误解所需的内容。  根本不需要对RTS测试或DTR重置的时间进行任何更改。 唯一的问题是DTR-Reset的极性。 对于我的版本,除了设置新的"i"变量"InvertDTR",我唯一的更改是从bslcomm.c第65行开始的函数(日期为2005年05月11日)。 DTR只需要这样的内容,RTS不需要任何更改。

    是的,我还更新了RTS,而不仅仅是DTR。 除了更新代码之外,我还使用Visual Studio更新项目文件(在使用Visual C++程序交付之前,它是非常旧的IDE,现在不常用),并且没有其他库依赖性,客户现在只需更改极性代码即可。 没有实施时间更改。 我们也在软件包中提供源代码,因此导致无法正常工作的误导是转换RTS。

    [/引述]

    没有理由更新RTS,也没有必要反转RTS。  RTS与CP2102一起工作正常,没有任何变化。  只有DTR的极性错误。  我对上一个版本的修订证明了这一点,它非常有效。

    [引述]

    我不知道发布新版本以正确设置是否有意义。  我认为TI还没有被投诉所欺骗,所以我可能是唯一一个希望进行此更改的人,而且我已经有了一个能够正常工作的版本。  但是,如果TI确实开发了新版本,我会在发布之前自愿对其进行测试。  当然,我的版本可供任何想要它的人使用,如果这样做会有帮助。

    非常感谢,George,非常感谢您在这里提供的服务,但我们必须在内部进行测试。 作为开发人员,我可能理解要求100 % 不正确。 但我用测试设置测试了反向信号,并使其工作。 我今天不在办公室,但当我进入办公室后,我使用CP2102检查了工作的原因。

    我应该补充一点,如果没有启用“i”,新版本的信号模式似乎与上一版本相同,所以我认为它将继续与火箭一起工作,等等

    如果您的意思是不在命令行中提供"-I",则是的,它将生成它最初的内容。 对于BSL演示,我们使用的通信桥由第三方Elpotronic提供,而MSP-BSL Rocket不支持它。

    [/引述]

    也许这表明了导致这一问题的原因。  我的理解是,Elprotronic不能与BSLDEMO一起使用,但 火箭是专门设计用于使用它的。  如果编程器试图让BSLDEMO与 Elprotronic一起工作,那么这是一个与我试图 解决的问题完全不同的问题。   我希望能够在G2553电路上嵌入CP2102,以便最终用户(即平民)可以插入USB电缆并刷新固件更新。  没有火箭,没有Elprotronic。  只需在 他的计算机上安装CP2102驱动程序, 我将提供的更新十六进制文件和密码文件以及BSLDEMO。  无附加硬件,无引脚 管座,不了解电子产品。

    所以,程序员可能真的在解决一个与我提出的问题不同的问题。

    如果“通信桥”是CP2102和USB电缆的正常Silabs驱动程序,则我不相信BSLDEMO的v 3.3 0能够与直接连接到G2553的CP2102一起工作。  它在我的计算机上肯定不起作用,我的示波器捕获显示了原因。

    [引述]

    总结一下:对于BSLDEMO,我们认为不会在不久的将来进行特定的更新。 但是,通过使用Visual Studio更新项目文件,我们希望这能帮助客户比以前更轻松地编辑和构建项目。 再次感谢您对本主题的关注和反馈。

    [/引述]

    如果TI不想修复它,那就没问题。  我知道这是弃用的软件。  但对于需要解决我已经解决的相同问题的任何人来说,我的Github repo上的任何人都可以使用我的版本的可执行文件。  当然,这并不像获得TI官方版本那样安全,这就是我希望TI发布修订版的原因。  但是,修改后的源代码也可在repo中找到:

    编辑: 更改Github链接以反映更新

    https://github.com/gbhug5a/MSP430-BSL/tree/master/BSLDEMO-2.01c

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我写了一个冗长的回复,但收到了一条消息,说管理员必须批准它。 所以我不知道它的位置。 也许我已经在这里受到了热烈的欢迎。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    很抱歉我被人绞龙绕了很久。 我本应该更加简明扼要。 这一切的原因是我已经要求了一个选项来反转DTR,但我们现在有一个选项来反转DTR和RTS,这可能是对另一个问题的正确反应,但不能解决我的问题。

    无论原因是什么,如果我选择新的"i"命令行选项,RTS是错误的极性,否则DTR仍然是错误的极性。 仍然没有(来自TI的)选项可以使用流行的USB到串行适配器(如CP2102)来生成SLAU319图2模式。

    但我应该补充一点,新的"i"选项看起来将与CP2102和具有专用JTAG引脚的设备配合使用,其中RTS连接到TCK。 这将是图3中所示的模式。 也许这就是新方案的目的。 我无法测试,因为我手边没有任何此类设备。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我已将我的BSLDEMO版本修订为v2.01c。  我将"i"开关从程序流程部分("+")上移至选项,并添加了一个"j"选项,该选项可反转RTS:

    -i反转DTR线的极性

    -j反转RTS线路的极性

    所以现在所有可能的组合都是可能的。

    可在此处找到新的源代码和exe:

    https://github.com/gbhug5a/MSP430-BSL/tree/master/BSLDEMO-2.01c

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

    很抱歉回复太晚了,我当时正在休病假,刚回到办公室。 我需要一些时间使用桌面上的测试设置再次测量所有极性。为分离的DTR和RTS线路设置两个参数是个好主意,我可能能够在下一次更新软件包时解决这个问题。

    但正如您所提到的,您在GitHub上运行了所有设置和更新,这真是太棒了,谢谢! :)我确信您有关G2553 BSL的主题对其他用户非常有用。 同时,我还想对SLAU319中的G2553编程器进行更多的解释。 由于(再次)这是一个过时的程序员,在我开始使用MSP430 BSL之前已经开发了很久,因此我们可以改进文档中的信息。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Hi George,

    很抱歉回复太晚了,我当时正在休病假,刚回到办公室。 我需要一些时间使用桌面上的测试设置再次测量所有极性。为分离的DTR和RTS线路设置两个参数是个好主意,我可能能够在下一次更新软件包时解决这个问题。

    但正如您所提到的,您在GitHub上运行了所有设置和更新,这真是太棒了,谢谢! :)我确信您有关G2553 BSL的主题对其他用户非常有用。 同时,我还想对SLAU319中的G2553编程器进行更多的解释。 由于(再次)这是一个过时的程序员,在我开始使用MSP430 BSL之前已经开发了很久,因此我们可以改进文档中的信息。

    [/引述]

    是的,SLAU319包含一个硬件示意图,BSLDEMO是十多年前为其编写的。  它可以追溯到计算机实际具有串行端口(您知道的是DB9连接器)并以+/- 15V传输的时代。  :-) 并且采用了DTR和RTS的极性,因此在二极管高电压的情况下,设备另一端的电源可能会从这些线路上“被盗”。  您将在源代码中看到,需要延迟一段时间才能为电源电容器充电。  但是时代已经改变了,旧硬件设计中提供的单反相器或双反相器(大部分在火箭中重复使用),通常使用的是廉价的USB到串行适配器,所有的一切都是直通的。

    问题是 - 虽然BSLDEMO已过时,但 没有任何东西可以取代它。  它仍然是TI提供的唯一(免费)软件,可用于通过BSL对 G2553这样的部件进行闪存更新,我相信您每年仍会销售大量的产品。   当然还有MSP-FET,但是如果您要在 电路中嵌入USB到串行适配器,您需要BSLDEMO,或者您必须编写自己的软件。

    确实,我现在在Github上所拥有的一切都能正常工作。  但我认为,如果能够直接从TI获得适用于所有设置的签名版本,其他人会感觉更舒适。  如果您决定进行另一项更改,我认为允许单独控制DTR和RTS的极性是一个好主意。  我还对SSP.C.中发现的电源充电延迟进行了注释  一般来说,我从v 2.01 源开始,我对它所做的所有更改都以评论/*更改GH */来记录。  当然,如果您愿意,我们欢迎您使用它们。

    非常感谢您的帮助。  希望您已完全恢复。