主题中讨论的其他部件:MSPBSL, MSP-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”,新版本的信号模式似乎与上一版本相同,所以我认为它将继续与火箭一起工作,等等

