您好!
我将 MSP 和 BLE 模块通过 UART 连接、并使用硬件流控制和很少其他指示器、例如连接状态和广播状态。 MSP 通过(a)类用户在命令中定义的方式与 BLE 进行通信(我可以完全自由地在 BLE 模块(nRF52840)中编写代码)。 我使用 BLE 定制特征服务进行 BLE 通信。 目前、MSP 的闪存分为2个块、从块0开始执行 DFU 将固件数据写入块1、并在验证数据后将启动序列更改为块1。 如果 我现在无法执行新的更新、新的固件数据将写入块0、起始地址将更改为块0。 DFU 仅通过上传 ti_main.txt (hex)文件即可与 Android 和 iOS 应用配合使用。 使用这种方法时一切正常、唯一的缺点是在任何情况下、50%的闪存 未使用(只是保留为旧固件的备份)。
我一直在研究 BSL 方法、发现 msp430f6726能够实现闪存 BSL、定制 BSL 和 MSP Boot。 但是、所有这种方法都将 RST、TEST、TX、RX 用于某些默认引脚和在 Windows/Linux/MAC 上运行的 BSL 脚本。 并对如何通过 BLE UART 使用它感到困惑。
由于我的当前应用使用的闪存超过50%、我无法将这种旧方法用于 DFU。 有人能向我推荐一种替代解决方案吗?