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.

[参考译文] MSP430FR2633:通过 I2C 使用 MSP-CAPT-FR2633调用软件 BSL

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/693406/msp430fr2633-software-bsl-invocation-with-msp-capt-fr2633-over-i2c

器件型号:MSP430FR2633
主题中讨论的其他器件:MSP430F5529MSP-FET

我们是否应该能够使用  MSP-CAPT-FR2633软件调用 I2C BSL?

硬件调用似乎可以正常运行 https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/599242

(不过、它们如何连接到 EVM 上的 TST 引脚?  看不到它将连接到跳线。  仅一个连接器。  是否可以将 TST 连接到低电平?)

使用以下软件调用代码、我可以看到我已连接到 BSL 中的 CCS

_disable_interrupt ();//禁用中断((void (*)()) 0x1000);//跳转至 BSL

但似乎停留在&USCI_A0__UART_Mode_UCA0IFG 测试循环中。

我们是否需要做一些特殊的事情才能到达 I2C BSL?  我们是否在 UART BSL 中进行了残桩?   我们是否必须调用硬件才能获取 I2C?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Joe、您好!
    如果您可以确保 eUSCI 有问题、这一点很重要。

    此致、
    现金 Hao
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、但在相同的设置上使用一些通用代码已经证明了 I2C 传输(总线分析器和 CCS 确认了这些值)。

    我已经连接了 JTAG、但也尝试了自由运行和终止 CCS 连接。

    不想做任何花哨的事情。 只需使用 BSL 通过批量擦除命令(0x15)进行通信即可。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    使用 MSP430F5529 Launchpad 上的 MSPBoot 主机代码从以下位置快速更新:
    \MSPBoot_2_00_00_01\MSPBoot\Host_Examples\Host_Examples_for_F5529_Target\I2C_Host_F5529_Target_F5529_I2C_MSPBoot

    我可以在 I2C 总线分析器(和示波器)上看到0x48 FR2633 BSL 从地址和0x80报头

    但随后会卡在 i2c.c 上的这一行代码中

       while (!(UCB0IFG & UCTXIFG));
       CrCl =(uint8_t)(tPacket.ui16校验和& 0xFF);
       UCB0TXBUF = CrCl;

    我甚至可以看到 UCB0TXBUF 中的0x15批量擦除命令等待发送。  在 slau550p.pdf 的第19页中、大部分时间都经过下面的 I2C PI 数据包

    我们是否需要 PI 数据包中间的 FR2633 BSL 发出 ACK 信号?

    感觉 I2C BSL 没有响应?  同样、如何在 SW 中的 MSP-CAPT-FR2633上调用 I2C BSL?

    请参阅下面的 PI 数据包摘录:

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

    上面未附上摘录:

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

    作为快速测试、我通过 添加一些 I2C 从设备接收代码来"制动"MSP-CAPT-FR2633上的 BSL。  

    随附的是 I2C 总线分析器布线、其中显示了与上述 I2C PI 完全匹配的 Host_F5529_Target_F5529_I2C_MSPBoot.out 代码(稍后会进行一些先前的实验传输)。

    因此、我实际上感觉自己没有  正确调用 I2C BSL 吗?  如何按照上面的要求调用硬件或软件来执行此操作?

      

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

    你好 Joe、

    您能否在软件进入 BSL 之前尝试复位外设?

    时钟外设、 eUSCI_A0外设和 eUSCI_B0外设。

    谢谢、

    是的

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    没有什么不同、也没有在 MSP-CAPT-FR2633上快速尝试硬件 BSL 调用(必须断开编程器/HID 板的连接)。 说实话、仍然需要连接一个示波器来检查 RST/TEST 时序。 尽管 I2C 总线分析仪在使用常规 RST 从闪存运行代码时清楚地显示了上述布线。 似乎无法调用 BSL 来获取批量擦除命令握手)。

    为了证明 I2C BSL、我是否应该订购一个 MSP 目标开发板、以便 FR2633与 MSP-FET 配合使用?

    哪个 MSP 目标开发板最适合 MSP430FR2633?

    (www.ti.com/.../MSP-TS430RGE24A 看起来很近、但 MSP430FR2633不采用 RGE 封装。 甚至可以将 MSP432用作主机、将 MSP430FR2633用作目标 BSL 器件、与应用手册 www.ti.com/.../slaa755.pdf 类似

    www.ti.com/.../toolssoftware 上的任何内容均未 指定要使用的电路板。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    离线工作 http://www.ti.com/tool/Msp-Exp430Fr2433  是一个更好的平台、因为 RST/TEST 引脚更易于访问。

    我能够进入 BSL (看到闪烁停止运行)。  但是、在确定 BSL 被卡住的位置时遇到了困难(因为在断开 Launchpad 上的 TEST/SBWTCK 连接时会丢失 JTAG 仿真/CCS)。


    但最初的目标是调用 SW:

    >>您能否在软件进入 BSL 之前尝试重置外设?

     _disable_interrupt ();//禁用中断
      ((void (*)() 0x1000)();//跳转至 BSL

    由于上述内容不起作用、因此在复位后立即研究了一种 SW 方法。 不是尝试在 boot_special .c (msp430fr243x_1.c 使用软件切换 P1.0)中将上述内容卡入到_c_int00_noinit_noargs_noexit、而是想通过    View->memory browser 直接将0x1000写入_reset_vector。  它的工作方式非常有效!

    请参阅 下面的屏幕截图中的 BSL I2C 交互


    (我从 MSPBoot_2_00_00_01.zip 开始使用 MSPBoot_I2C_F5529  、但应该从 slaa755.zip 中移动到 MSP432Host_UART_BSL_MSP430FR 的 PI。  需要调整以前的命令0x15。  但 在下面的这一点上、足以作为概念的证明)。