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.

[参考译文] SIMPLELINK-MSP432-SDK:通过软件引导加载程序 BSL

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1039636/simplelink-msp432-sdk-bootloader_bsl-by-software

器件型号:SIMPLELINK-MSP432-SDK
主题中讨论的其他器件:CC2640MSP430FR6047

大家好、现在不是什么问题、而是一些评论:

  • 如果还可以选择 MSP432Pxxx、那就更好了!

  •  我们在设计中使用2 * MSP432P4011、CC2640 (模块)和 MSP430FR6047。 它由两个 PCB 组成:
    PCB 1:CC2640+MSP432P4011、PCB 2:MSP432P4011 + MSP430FR6047
    两个 PCB 均通过 RS485在两个 MSP432P4011之间进行连接
    我们在所有芯片上编写了很多软件、一切都很好!
    目前为止都很好

我们在四个月前开始实施 OAD、并成功升级了 CC2640及其配套的 MSP432P4011 (使用自定义 BSL 重新编程 MSP432P4011、如现有的'OAD_firmware_update'示例。 然后、我们继续实施 MSP432P4011以及 PCB 2上的 MSP430FR6047。 对于硬件、我们选择了建议的或强制的串行端口(UART)。 由于 MSP430FR6047将通过 MSP432P4011进行更新、因此应首先考虑后者! 那么麻烦就开始了!!

几周后、我们发现今天出现了什么问题! 我们红色的'slla622j'。

通过 pcb1的 MSP432P4011、我们向 BSL 发送了一条赞扬消息。 然后、MSP432P4011 (pcb2)执行:

案例 MSG_RS485_CMD_MC_OAD:

  Display_print0 (displayOut、0、0、"MSG_RS485_CMD_MC_OAD Received");

  MAP_Interrupt_disableMaster();

  //在进入引导加载程序之前将中断优先级设置为0x00
  int i;
  对于(i=0;i < 240;i++) NVIC->IP[i]= 0;

  NVIC->icer[0]= 0xFFFF;
  NVIC->ICPR[0]= 0xFFFF;
  NVIC->icer[1]= 0xFFFF;
  NVIC->ICPR[1]= 0xFFFF;

  //使用给定的 BSL 参数调用 BSL
  (((void (*)()) BSL_entry_function)(((uint32_t) BSL_Param);

  //此时 BSL 应该进行控制,此应用程序是否无效!
  //从 CC 发送0xFF 并等待0x00!

中断;

然后、我们将发送0xff (pcb1)并接收0x00 ACK (pcb2)、这是可以的!
然后、我们发送密码0xff (256*)并重新接收'0x3B 0x05'、这在芯片被整体擦除时是不正常的!

由于我们还使用 MSP430FR6047、因此我们还用红色标记了它的论文、找到了另一种方法、即两次发送密码!!

然后、我们发现我们的板载 BSL 不是00430044版本(如文档中所示)、而是00430045!

因此、我们尝试了 MSP430FR6047的方法、并且:它可以正常工作!!!

问题:这是意外的,还是手册没有更新或其他内容?

Rgds.、

Laurent van Poppelen
2M 工程  
荷兰

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

    尊敬的 Laurent van Poppelen:

    我很高兴您能够找到解决您问题的方案。 我想说这只是一个巧合、但可能有一个更新将这些器件推至其他 BSL 版本。 如果这种"使用定制 BSL 重新编程 MSP432P4011、如现有的'OAD_firmware_update'示例"也与更改有关、那将会很有趣。  

    此致、

    Luke

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

    您好、Luke、

    否、与示例'oad_firmware_update'无关、因为该示例使用自定义 BSL 从内部闪存读取/写入! BSL 位于 mem 位置0x0000 0000、用户应用程序从0x0000 2000开始! 上载的新固件一直驻留在0x0010 0000直到结束 在我的案例中、我确实使用了芯片内部 BSL!

    Rgds、

    劳伦特