BlueNRG-LP/LPS 芯片添加 OTA 服务后,常出现代码空间溢出问题,核心原因是协议栈与应用程序的存储分配不合理。本文基于 ST 官方 LAT1239 应用笔记(Rev 1.0),从 OTA 方式选型、存储分配优化、协议栈裁剪、静态协议栈部署四个核心维度,详解代码空间优化的完整流程,适配 Keil、IAR、TrueStudio 等主流编译器,帮助用户在保留核心功能的前提下,大幅节省 Flash 空间。
BlueNRG LP 芯片支持 OTA(空中升级)功能,传统 OTA 框架(OTA Reset Manager、OTA Service Manager)会在 Flash 中存储两个 BLE 协议栈,占用大量存储空间。静态协议栈通过共用单一协议栈,既释放 Flash 空间给应用程序,又能加速 OTA 升级过程。本文基于 ST 官方 LAT1284 应用笔记,以 BlueNRG-LP SDK 1.4.0、KEIL IDE 为例,详细拆解静态协议栈定制、OTA 应用适配及功能验证的完整流程。