btstack ble ota开发笔记(1)-nordic dfu移植

一.前言

btstack的ble example中暂时没有ota的例程,恰巧之前在nrf52832上使用过nordic的dfu例程,配合手机上的nrf-connect app,体验感觉非常棒(进度条+实时下载速度+完整日志),由于我不太想自己开发手机ota apk(没有时间也没有能力),所以想着能不能将nordic ota这一套移植到btstack上来呢?说干就干。为了使文章不那么臃肿,本文仅介绍btstack上移植nordic dfu的部分,关于ota及nordic dfu的详细介绍,这里有一篇写的很好的贴子:详解蓝牙空中升级(BLE OTA)原理与步骤

二.Nordic DFU过程梳理

移植之前,要理清nordic dfu的过程,可以参考以下两方面的资料:
1)nordic sdk dfu source code
path in sdk17:
dfu package: nordic\sdk\nRF5_SDK_17.1.0_ddde560\components\libraries\bootloader\dfu
dfu ble: nordic\sdk\nRF5_SDK_17.1.0_ddde560\components\libraries\bootloader\ble_dfu
2)nordic ble dfu蓝牙交互过程
抓取小米手机同nrf52832 dfu整个过程的蓝牙hci log。具体方法可以参考:

你可能感兴趣的:(btstack学习笔记,stm32,蓝牙,协议栈,bluetooth,iot)