您好!
我正在尝试使 MSP430FR2355上的 i2c BSL 正常工作。 我的计划是通过 i2c 从 Raspberry PI 更新其固件。
我在 PI 上安装了 MSP430 i2cbsl 工具、并将其 i2c 总线连接到 MSP 上的引脚 P1.2和 P1.3。 在 MSP 固件中、我正在调用
数据表中所述通过软件实现的 BSL。
这是我用于 BSL 调用的代码。 我还确保 MSP 以8MHz 的频率运行。
WDTCTL = WDTPW | WDTHOLD;
TB3CCR0 = 0x00; // clear Timer B
TB3CCTL1 = 0x00;
TB3CTL = 0x00;
// Disable all interrupts
__disable_interrupt();
FRCTL0 = FRCTLPW | NWAITS_1;
__bis_SR_register(SCG0); // disable FLL
CSCTL1 = DCORSEL_3; // DCO Range = 8MHz
CSCTL2 = FLLD_0 + 243; // DCOCLKDIV = 8MHz
__delay_cycles(3);
__bic_SR_register(SCG0); // enable FLL
// Delay after setting clock to invoke BSL
__delay_cycles(3);
// Invoke BSL
((void (*)() )0x1000)();
调用后、BSL 在 i2c 总线上可见。
但是、当尝试刷写新固件时、始终会导致以下错误:
请提供任何帮助。
此致
最大