41 lines
2.4 KiB
Markdown
41 lines
2.4 KiB
Markdown
|
# DFU Library
|
||
|
|
||
|
### Device Firmware Update (DFU)
|
||
|
|
||
|
The nRF51 Series are flash-based SoCs, as such they represent the most flexible solution available. A key feature of the nRF51 Series and their associated software architecture
|
||
|
and S-Series SoftDevices is the possibility for Over-The-Air Device Firmware Update (OTA-DFU). See fig. 1. This allows firmware updates to be issued and downloaded to products
|
||
|
in the field via the cloud. This enables OEMs to fix bugs and introduce new features to products that are already out in the marketplace.
|
||
|
This brings added security and flexibility to product development when using the nRF51 Series SoCs.
|
||
|
|
||
|
![Device Firmware Update](resources/dfu.png)
|
||
|
|
||
|
This repository contains a tested library for Android 4.3+ platform which may be used to perform Device Firmware Update on the nRF51 device using a phhone or a tablet.
|
||
|
|
||
|
DFU library has been designed to make it very easy to include them into your application. It is compatible with all Bootloader/DFU versions.
|
||
|
|
||
|
[![Alt text for your video](http://img.youtube.com/vi/LdY2m_bZTgE/0.jpg)](http://youtu.be/LdY2m_bZTgE)
|
||
|
|
||
|
### Documentation
|
||
|
|
||
|
See the [documentation](documentation) for mode information.
|
||
|
|
||
|
### Requirements
|
||
|
|
||
|
The library are compatible with nRF51 devices with S-Series Soft Device and the DFU Bootloader flashed on.
|
||
|
|
||
|
### DFU History
|
||
|
|
||
|
* **SDK 4.3.0** - First version of DFU over Bluetooth Smart. DFU supports Application update.
|
||
|
* **SDK 6.0.0** - DFU Bootloader supports Soft Device and Bootloader update. As the updated Bootloader may be dependant of the new Soft Device those two may be sent and installed together.
|
||
|
* **SDK 6.1.0** - Buttonless update support for non bonded devices.
|
||
|
* **SDK 7.0.0** - The extended init packet is required. The init packet contains additional validation information: device type and revision, application version, compatible Soft Devices and the firmware CRC.
|
||
|
- Buttonless update support for bonded devices - sharing the LTK between an app and the bootloader.
|
||
|
|
||
|
Check platform folders for mode details about compatibility for each library.
|
||
|
|
||
|
### Resources
|
||
|
|
||
|
- [DFU Introduction](http://developer.nordicsemi.com/nRF51_SDK/doc/7.2.0/s110/html/a00062.html "BLE Bootloader/DFU")
|
||
|
- [How to create init packet](https://github.com/NordicSemiconductor/nRF-Master-Control-Panel/tree/master/init%20packet%20handling "Init packet handling")
|
||
|
- [nRF51 Development Kit (DK)](http://www.nordicsemi.com/eng/Products/nRF51-DK "nRF51 DK") (compatible with Arduino Uno Revision 3)
|