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.

[参考译文] MSP432P401Y:通过使用 UART 连接的电池模块启用无线更新

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1013303/msp432p401y-enabling-over-the-air-updates-through-the-use-of-a-uart-connected-cell-module

器件型号:MSP432P401Y

我一直在浏览论坛和文档、寻找有关如何在 MSP432P401Y 上实施无线更新的信息、但尚未确定如何或最好的方法。 我已经介绍了如何为具有连接以太网或蓝牙模块的类似 MSP432型号启用此功能的示例、但它们并未详细介绍如何在 MSP 中对其进行实际编码。

我们使用 Sara R410M 单元模块通过互联网进行通信、并可以将固件更新包保存到内部存储器中、以便通过 UART 在接口进行读回、但我们可能需要修改 MSP 的引导加载程序以确定何时执行此操作 开始通过 UART 解析文件。 由于使用 AT 界面附加了一些额外的文件说明信息、默认引导加载程序可能无法解析文件。

我假设我们需要进一步修改 MSP 上的引导加载程序、以便您可以根据某些条件(可能是最新的软件版本信息)引导到两个主闪存组中的任何一个。

行动的预期流动情况如下:

1) 1)通过互联网将软件更新文件发送到我们的手机模块

2) 2) Cell 模块将文件保存到其内部存储器中

3) 3) MSP 读回该文件并将其发送到其引导加载程序、以编程到两个主闪存组中的一个。 (保留原始软件的副本作为备份)

4) 4)引导加载程序可以尝试引导至最新固件、并在需要时返回到备份。

MSP 是否可以通过使用自定义引导加载程序来实现这一点? 是否有一个默认引导加载程序的示例项目可根据我的需求进行修改、该项目适用于 MSP432P401Y 模型变体? 我正在使用 CCS10和最新的 SimpleLink 库。

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

    您好、特里斯坦

    这是可能的、因为 MSP432P4xxx 具有双闪存组特性、并且能够定制 BSL。 实际上、我们有使用 SImplLink 生态系统的示例。 请 在此处查看以下带有 SimpleLink BLE 插件的 MSP432P4示例。

    尽管 SimpleLink 产品系列中没有电池模块、但您可以按照上面提到的示例来计算公式 MSP432P4侧所需的机制。 您可能还需要查看 MSPBSL 网页 以了解所有 MSP 引导加载程序信息。 在这里、您可以找到其他信息、您可以根据 DIN 订单定制 MSP432P4器件上的 BSL。 具体而言、您将拥有可下载和修改的 BSL 源代码以及 《MSP432P4 BSL 用户指南》。 第5节详细介绍了如何下载/自定义 BSL。  

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

    您好 Jace、

    感谢你的帮助。 我已经查看了您发送的示例、目前我正在尝试构建您链接到但未能成功的 BSL 源代码。

    在尝试构建时、我收到以下警告:

    "#10211-D cannot resolve archive /mnt/Storage/TI/ccs1031/ccs/tools/compiler/ti-cgt-arm_20.2.5.LTS/lib/libc.a to a compatible library、as no input files have been encountered (无法将归档解析为兼容库、因为未遇到任何输入文件)"

    我还会遇到以下错误:


    #10008-D 找不到文件"./BSL432_API.obj" BSL432_MSP432P4111 C/C++问题
    #10008-D 找不到文件"./BSL432_Command_Interpreter.obj" BSL432_MSP432P4111 C/C++问题
    #10008-D 找不到文件"。/BSL432_Peripheral_Interface_eUSCI_UART_SPI_I2C_IRR.obj" BSL432_MSP432P4111 C/C++问题
    #10008-D 找不到文件"./msp432_startup_ccs.obj" BSL432_MSP432P4111 C/C++问题
    #10009无输入文件 BSL432_MSP432P4111 C/C++问题
    Gmake:***[BSL432_MSP432P4111.OUT]错误1 BSL432_MSP432P4111 C/C++问题
    gmake:目标"全部"不会由于错误而重新生成。 BSL432_MSP432P4111 C/C++问题
    没有源文件、没有什么可做的 BSL432_API.c /BSL432_MSP432P4111 C/C++问题
    没有源文件、没有什么可做的 BSL432_Command_Interpreter.c /BSL432_MSP432P4111 C/C++问题
    无源文件、不执行任何操作 BSL432_Peripheral_Interface_eUSCI_UART_SPI_I2C_IRR.c /BSL432_MSP432P4111 C/C++问题
    没有源文件、没有什么可做的 msp432_startup_ccs.c /BSL432_MSP432P4111 C/C++问题

    这是因为最新版本的 TI ARM 编译器(20.2.5)与此源代码不兼容吗?

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

    您好、特里斯坦

    我刚才确认了这一点。 BSL 源代码是使用 ARM 编译器 v15.12.3构建的、这在很久以前就已经完成了。 如果您将 v15.12.7编译器下载到 CCS 中、则会编译源代码。  

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

    您能给我发送一个链接到哪里可以找到此版本吗?

    这也会与 CCS10编译、还是也需要降级?

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

    我能够安装 TI ARM 编译器 v15.12.7.LTS 并被 CCS10识别、但错误基本上保持不变 、唯一的例外是警告中引用的路径更改为  TI ARM 编译器 v15.12.7.LTS 的路径

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

    *并不是要点击您回复中的 TI 认为已解决、抱歉。

    我在 CCS10上编译了该项目。 您能否仔细检查项目设置以确保它们与下图匹配? 此外、如果您尚未执行此操作、请先"清理"项目、然后"构建"项目。 这将确保与较旧的编译器而不是与较新/默认的编译器版本的正确链接。