BlueNRG-LP添加OTA升级:从普通应用到OTA APP实战

需积分: 5 0 下载量 34 浏览量 更新于2024-08-03 收藏 552KB PDF 举报
"本应用笔记介绍了如何在基于BlueNRG-LP的项目中将普通应用转变为支持OTA(Over-the-Air)升级的应用。文中主要关注在BlueNRG-LP_LPS DK 1.2.0的‘BLE_Security’示例中添加OTA功能的步骤,并提供了使用KEIL IDE的指导。文档涵盖了两种不同的OTA软件框架——OTAResetManager和OTAServiceManager,以及它们的特点和适用场景。" 在BlueNRG-LP的解决方案中,OTA软件升级是一个重要的特性,它允许设备在无线状态下更新其固件。本应用笔记主要针对那些已经基于BlueNRG-LP开发了基础应用,但希望添加OTA功能的客户。在SDK中,可能有些示例并不包含OTA支持,因此,开发者需要了解如何集成这一功能。 1. OTAResetManager框架: 此框架包括三个部分:ResetManager、HigherAPP和LowerAPP。ResetManager负责在启动时根据有效的标志选择执行 HigherAPP 或 LowerAPP。这两个应用程序可以在同一时间存在,但只运行最新版本。HigherAPP和LowerAPP都包含了OTA服务和特性,可以与主机或手机APP交互以进行升级。LowerAPP可升级到HigherAPP,反之亦然,确保始终运行的是最新版本的程序。 2. OTAServiceManager框架: 相比之下,这个框架由OTAServiceManager和UserAPP组成。OTAServiceManager提供OTA升级功能,用于更新UserAPP,而UserAPP则是普通的BLE应用,不包含OTA升级机制。在这种架构中,NVM(非易失性存储)区域是专为协议栈保留的,不应被用户程序占用。 2.1 框架优缺点: OTAResetManager框架允许同时运行两个版本的APP,适合需要在升级过程中保持服务连续性的应用。而OTAServiceManager框架则简化了结构,只包含一个用户应用程序,适用于不需要在升级期间维持服务的场景。选择哪种框架取决于具体应用的需求和对服务中断的容忍度。 在实施过程中,开发者需要注意Flash空间的分配,确保各个部分的程序能够正确地存储和执行。此外,使用KEIL IDE进行开发时,需要遵循特定的步骤来集成OTA功能,这可能涉及到修改配置文件、添加新的服务和特性,以及调整启动代码。 将一个普通应用转换为支持OTA升级的应用需要深入理解BlueNRG-LP的固件结构和OTA框架。开发者应根据项目需求选择合适的框架,并且熟练掌握IDE工具的使用,以便顺利实现OTA功能的集成。