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.

[参考译文] MSP432-RTOS:如何从其自己的应用中完全擦除 msp432p4111?

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1037149/msp432-rtos-how-to-completely-erase-an-msp432p4111-from-its-own-application

器件型号:MSP432-RTOS

如果 msp432p4111通过 UART A0连接到另一个 msp432p111、该如何完全擦除?

此致、

劳伦特

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

    您好、Laurent、

    这可以通过目标 MSP432P4xxx 器件上的 BSL 接口来实现。 您只需要一种方法来调用目标上的 BSL、并对主机进行编程以使用 BSL 协议。 此信息可在 MSP432P4xxx BSL 用户指南中找到。  

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

    尊敬的 Jace:

    感谢您的回复。 我已实施:

    案例 MSG_RS485_CMD_MC_OAD:

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

      /*发回进行验证调试,切换接收器模式*/
      MSG_mbx.len = 0;
      MSG_mbx.type = MSG_RS485_ID_COMMAND_ONLY;
      MSG_mbx.cmd = MSG_RS485_CMD_MC_OAD;
      Mailbox_post (mbxHandle_rs485Writer、&msg_mbx、BIOS_no_wait);

      SLEEP (1); //给 TI-RTOS 时间将邮件发送到上层链 MCU (msp432p4011)

      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);

    中断;

    我希望使用 UART、因此我设置:

    #define BSL_Param 0xFC48DFFF

    这是正确的吗?I2C 的默认值仍然存在(0x48)! 'D'= 0x110 (1)、其中110表示 UART (EUSCI_A0_BASE)!

    平路机、

    劳伦特

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

    您好、Laurent、

    您是否在中断内调用针对 BSL 的软件调用? 否则、您不需要将 NVIC 归零。  

    还可以尝试其他一些操作:

    • 尝试自动模式、而不是仅指定 UART。  
    • 0x48仍将是 BSL 参数的一部分、但不会影响 UART 操作。  
    • 在通过软件调用调用 BSL 之前、您可能需要将 BSL 使用的外设设置为其默认状态(从上电)。 (本例中为 UART 外设)
    • 您是否已连接到器件用于 BSL 的默认 UART? 您是否已越过两个器件之间的 TX/RX 线?  
    • 您可能需要尝试在器件之间建立良好的 UART 连接、而不调用 BSL。 简单的回波可以确保一切设置正确。  
    • 然后、您可能需要与已知主机建立 BSL UART 连接、以确定您正在目标 MSP432上正确调用 BSL。  

    希望以上内容能为您提供解决问题的指南。 不幸的是,除了上述建议之外,我将无法为这一问题提供更多的支持。  

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

    Jace、您好、感谢您的宝贵意见!

    我们使用邮箱通过 RS485进行通信、当然也可以在两端使用 TI-RTOS! 我们在两端都使用读/写器任务、这一切正常! 我想 ti-RTOS 会使用中断!  

    第三点注意:在上电时设置 UART 不是必要的、而且会很麻烦! 我们只能保持57k6波特!

    第四点备注:连接已经正常、用于在 RS485全双工上交换设置、测量数据等两个 msp432p4011、波特率高达57k6、传输距离高达500mtr (此外、我们没有测试)。 "是"、我们使用 BSL 使用的默认 UART!

    此致、

    劳伦特