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.

[参考译文] MSP430F2410:BSLDemo 始终给出同步错误

Guru**** 2540720 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/706535/msp430f2410-bsldemo-always-give-synchronization-error

器件型号:MSP430F2410

您好,  

我尝试通过 BSLDemo (http://software-dl.ti.com/msp430/msp430_public_sw/mcu/msp430/MSPBSL_Scripter/latest/exports/BSLScripter-3.4.0-windows-installer.zip ) 和 FTDI 线缆(C232HD UART 线缆)执行软件升级,但始终显示同步错误。 下面是我的设置。

我有一个64引脚的开发目标 http://www.ti.com/tool/msp-fet430u64 


使用 MSPFET 调试器、我只需将一个简单的代码 LED 加载到电路板中。  

int main (void)
{
WDTCTL = WDTPW + WDTHOLD;//如果
(CALBC1_8MHZ=0xFF)则停止 WDT //如果校准常量被擦除
{
while (1);//不加载,则陷阱 CPU!
}
DCOCTL = 0;//选择最低 DCOx 和 MODx 设置
BCSCTL1 = CALBC1_8MHZ;
DCOCTL = CALDCO_8MHZ;//加载8MHz 常数

P1DIR |= BIT0;//输出
P1OUT |= BIT0;

while (1);

} 

在应用中加载后、断开 MSPFET 调试器。  

我使用 FTDI 线缆(C232HD UART 线缆)连接 BOOST 引脚

下面是从升压到 FTDI 线缆的连接

 1 (P1.1)至 TXD

 3 (P2.2)至 RXD

 5.       接地

 2 (RST) 至 RTS#  

 4 (TCK) 至 DTR#

 6.        VCC  

在 BDLDemo 源代码中、Im 遵循支持 F2系列的过时版本。

  我注意到 RST 和 TEST 引脚切换是不同的。 因此、我更改为以下内容:

/*----------------- //
void SetRSTpin (BOOL 电平)
//控制 RST/NMI 引脚(0:GND;1:VCC)*/
{
//if (电平= true)
// comdcb.fDtrControl = DTR_CONTROL_ENABLE;
//else
// comdcb.fDtrControl = DTR_CONTROL_DISABLE;
//(comdtrControl = dtrB?) DTR_CONTROL_ENABLE:DTR_CONTROL_DISABLE;

comDCB.fRTsControl =电平? rts_control_disable:rts_control_enable;

SetCommState (hComPort、&comDCB);
}//* SetRSTpin */

void SetTESTpin (BOOL 电平)
//控件测试引脚(0:VCC;1:GND)*/
{
// if (level = true)
// comdrts.frts Control =/comtsrc



= disable;/comts.comtsrc = ts/disable.tranc =/ts.comcontrol/frts = ts.com_control/frtscontrol/frts.com_rtscontrol/frts =?/frtscontrol/com_rt rts_control_enable:rts_control_disable;

comdcb.fDtrControl = level? DTR_CONTRAL_DISABLE:DTR_CONTRAL_ENABLE;

SetCommState (hComPort,&comDCB);
}/* SetTESTpin */

/*------ //
void bslReset (BOOL invokeBSL)
//*在 RST/NMI 和 TEST/VPP 引脚上应用 BSL 输入序列
*参数:invokeBSL = true:完整序列
* InvokeBSL = false:仅访问 RST/NMI 引脚
*
*在引导加载程序硬件上反转两次
* TEST 反转(仅一次)
*在 DTR、RTS 上需要正电压用于硬件电源
*/
{
/*用于对引导加载程序硬件上的电容器充电:*/
SetRSTpin (1);
SetTESTpin (1);
delay (250);

if (开票 BSL)
{
SetRSTpin (0);/* RST 引脚:GND */
SetTESTpin (1);/* TEST 引脚:GND */ DELAY (10);//添加了延迟以满足同样的*/
SetTESTpin (0);/* TEST 引脚:VCC */ DELAY (10);/*关键布局和/或*
SetTESTpin (1);/* TEST 引脚:GND */ DELAY (10);/*尺寸问题 *
SetTESTpin (0);/* TEST 引脚:VCC */ DELAY (10);/*(由 MK 标记) *
SetRSTpin (1);/* RST 引脚:VCC */ DELAY (10);
SetTESTpin (1);/* TEST 引脚:GND */
printf ("BSL 重置\n");
}
否则
{
SetRSTpin (0);/* RST 引脚:GND */
延迟(10); /*延迟*/
SetRSTpin (1);// RST 引脚:VCC */
}
//*为 MSP430的振荡器提供稳定时间:*/
延迟(250);

//清除缓冲区:*/
PurgeComm (hComPort、Purge_TXCLEAR);
PurgeComm (hComPort、Purge_RXCLEAR);
}// bslReset *

我使用数字万用表来检查 RST 引脚和 TCK 引脚的电压

设置为时  

SetRSTpin (1)、则为3.3V 
SetRSTpin (0)、那么为0伏 
SetTESTpin (1)、则为3.3V 
SetTESTpin (0)、那么为0伏。 


我是否缺少其他东西?  

我还尝试发布 https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/246553?BSL-sYNCHRONIZATION-ERROR 

将引脚从 MCU 更改为 UART  

 1 (P1.1)至 RXD

 3 (P2.2)至 TXD

我还尝试发布  https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/160989

此帖子用于恢复 RST 上的级别并测试...  

尽管如此、  

设置为以下 并更改 leval=!level  

 1 (P1.1)至 RXD

 3 (P2.2)至 TXD

 5.       接地

 2 (RST) 至 DTR#  

 4 (TCK) 至 RTS#

 6.        VCC  

我认为我已经进入了 BSL 模式。  


BSLReset (1)之后,LED 指示灯不亮。 这意味着它没有在应用程序中运行。  

在 BSLReset (0)之后、LED 将仅亮起。 这意味着应用程序正常运行。  

我仍然不幸运。  

需要帮助...  

谢谢

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

    首先、我相信您已将 DTR 和 RTS 连接向后。  FTDI 处的 DTR 应该进入处理器的/Reset 引脚。  FTDI 的 RTS 输出应转至测试或 TCK 引脚。

    此外、像 FTDI 这样的 USB 转串行适配器通常会出现问题、即 DTR 和/或 RTS 的极性与芯片中集成 BSL 的触发模式所需的极性相反。  我重新编译了一个 BSLDEMO 版本、它有两个附加选项。  i 选项反转 DTR 的极性。  j 选项反转 RTS 的极性。  您可以尝试所有四种排列的这些选项、看看其中一种选项是否适合您。

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

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

    是的。

    我已经尝试过、但仍然相同。  

    我更改级别(实际上,我在使用 leval=!level 时更改了级别)  

    同时使用-i 和-j 的不同组合  

    i -j 或仅-i 或-j

    我从 FTDI -> MCU 中检查了我的配置、就像您所描述的那样。   

    DTR (灰色)-> 4 (RST)

    RST (绿色)->2 TCK

    TXD (橙色)-> 3 (RX)

    RXD (黄色)-> 1 (TX)

    GND 黑色-> 5.

    VCC 红色-> 6.  

    在 MCU 软件中、我们是否需要准备任何东西? 是否需要设置任何时钟或引脚?  

    真的需要帮助:(  
    非常感谢。  

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

    我不知道还有什么建议。  也许其中一位 TI 员工会为您提供解决方案。

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

    我认为、您可能需要在新主题中再次发布您的问题、以便 TI 的某个人注意到您的问题。

    如果您可以使用示波器、则可以帮助隔离问题所在、即您是否可以将示波器的两个通道连接到 FTDI 电缆的 DTR 和 RTS 输出。  然后在 RTS 上触发、查看您是否获得 SLAU319第1.3.2节(图3)中显示的相同模式。  即使没有连接任何器件、BSLDEMO 也将生成模式。  这至少将确认正在生成图形、并且 DTR 和 RTS 上的极性正确。  如果它仍然不起作用、那么它必须是您的开发板的问题-也许是需要设置的某种跳线。

    还要确保 COM 端口设置为8E1。  偶数奇偶校验。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的乔治:
    感谢您强调这一点、无需新帖子、我们只是花了一点时间才深入探讨了这个问题。

    Tan、
    出现此问题的原因似乎是使用 BSL 演示未正确调用 BSL。
    我们正在尝试重现此错误、以找出解决方案。

    敬请期待我们的建议。
    感谢您的耐心和致以最诚挚的问候、
    Britta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Tan、

    只是对时间表的快速更新:我希望在下周为您的问题提供解决方案或解决方法。
    我希望这一时间表对您、我们有或专家探讨这个主题是合适的。

    感谢大家的理解和致以最诚挚的问候、
    Britta
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Britta、

    感谢您的更新。 非常感谢您的帮助。
    您是否会研究我拥有的类似硬件设置?
    还是其他东西?

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

    大家好、  

    我找到了解决方案。  

    主要问题是  64引脚开发目标 http://www.ti.com/tool/msp-fet430u64 连接到 P1.1和 P2.2的 TX 引脚1和 RX 引脚2使用2个电阻器(R6)和(R7)进行桥接。

    这两个引脚具有电阻。  

    我注意到信号无法通过电阻。

    因此,我直接将电缆连接到 P1.1和 P2.2,而不通过寄存器 R6和 R7连接到 UART 电缆。  

    这解决了我的问题!  
    小提琴  

    下面是我与其他人学习的联系  

     1 (P1.1)至 RXD

     3 (P2.2)至 TXD

     5.       接地

     2 (RST) 至 DTR#  

     4 (TCK) 至 RTS#

     6.        VCC  

    请注意、您应该使用 George Hug Solution 来反转 DTR 和 RTS  

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

    总的来说,我要感谢上文提供的所有帮助。  

    谢谢。 寻找解决方案的途径并不容易,我感谢所有的帮助。  

    再次感谢你。  

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

    [引用用户="Tan Han LUN"]

    请注意、您应该使用 George Hug Solution 来反转 DTR 和 RTS  

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

    [/报价]

    恭喜您找到解决方案。  您是否反转了 DTR 和 RTS?  那么、-i 和-j 选项都是?

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

    是的。 我将两个信号反相:)