GithubHelp home page GithubHelp logo

vojislavm / zephyr-nrf-ble-dfu Goto Github PK

View Code? Open in Web Editor NEW
8.0 2.0 1.0 3 KB

The easiest way to add BLE DFU (Device Firmware Upgrade) to your nRF5x Zephyr application.

CMake 12.71% C 87.29%
zephyr-rtos ble dfu

zephyr-nrf-ble-dfu's Introduction

zephyr-nrf-ble-dfu

The easiest way to add BLE DFU (Device Firmware Upgrade) to your nRF5x Zephyr application.

Setup

To include DFU over BLE to your Zephyr project based on the nRF Connect SDK (NCS) for one of the BLE capable Nordic Semi SoCs you need to add a source from this repository to your application. To be able to run BLE DFU the application you are writing needs to have BLE already enabled, usually in prj.conf with CONFIG_BT and probably with some additional configurations. Steps to run:

  • from prj.conf within this repository copy everything and add to your application prj.conf or to board-specific configuration within the project
  • from CMakeLists.txt within this repository copy everything and add at the end of your application CMakeLists.txt
  • Copy the file init_dfu.c from the boards folder within this repository to the boards folder in your application. If there is no boards folder in your application copy the whole boards folder.

After this build your project west -b your_board -p and flash the device west flash. After building in the build/zephyr folder you should see app_update.bin which is an image of your build that needs to be sent over BLE DFU (for more information about image files see the link). Use one of the mobile applications that support SMP protocol for uploading the DFU image, like nRF Connect or Device Manager from Nordic Semi or simply use mcumgr CLI interface for uploading the new image.

Testing

To test this setup you can use one of the NCS examples that utilize some BLE-connected device. For example ncs/nrf/samples/bluetooth/...

zephyr-nrf-ble-dfu's People

Contributors

vojislavm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

skorostetskyi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.