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.

[参考译文] MSP430FR5959:BSL MassErase 不起作用

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1196215/msp430fr5959-bsl-masserase-not-working

器件型号:MSP430FR5959

大家好。。。

我通过 UART (P2.0、P2.1)与 MSP430FR5959 BSL 进行交互

在通过软件调用 BSL 跳转之后

((void (*)() 0x1000)();                //跳转至 BSL

我能够通过 UART 与 MSP 进行通信

TX:0x80 0x01 0x00 0x19 0xe8 0x62

RX:0x00 0x80 0x02 0x00 0x3b 0x04 0xe4 0x84

因此、提交个 TX BSL 版本命令结果会出现"BSL blocked"、这看起来是正确的

但我无法执行批量擦除

整体擦除 MSP...TX:0x80 0x01 0x00 0x15 0x64 0xa3会导致 MSP 立即重启

但存储器未被擦除...

批量擦除应在没有密码的情况下工作。

如果密码已知、TX_PASSWORD 将按预期工作... 但如果不知道密码、该怎么办?

我出了什么问题?

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

    这可能是因为 MPU 是在不同段上设置的。 默认情况下、编译器启用存储器保护单元。 如果您使用 TEST/RESET 引脚引导至 BSL、这不是问题、但从已引导的器件启动则会是问题。

    在跳转到 BSL 之前、禁用 MPU。 尝试查看器件的数据表/用户指南时出错、但对于 FR6043/FR6047器件、我执行了以下操作:

    //Turn off global interrupts
    __disable_interrupt();
    
    //Disable the MPU so the device can be erased or programmed
    MPUCTL0 = MPUPW;
    
    ((void (*)())0x1000)(); // jump to BSL

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

    就是这样... 是的

    非常感谢... MPU 已激活。

    TI 提示:也许应该在中提到 MPU 问题  

    slau550ab.pdf (BSL 用户指南)表4-9. BSL 内核命令

    此致:-)