This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

How to upload codes wirelessly to nRF51822 from nRF51-DK?

I generally upload codes from mbed.org to my PC then send the hex file to nRF51822 by nRF51-DK's pins. But I don't want to use cables to upload hex codes to nRF51822. Are there any solutions to change a beacon's code wirelessly? Thank you.

Parents
  • New firmware can be updated wirelessly via DFU code (device firmware update). The dfu code sits at the top of the flash space in the device. Since it is at the top of flash space everything below it (ie, application and soft device) can be replaced. On the versions I have used, if the update fails the boot vector will still point to the dfu code and the device will just always boot into dfu mode. This way you can still load code and update the device and not brick it.

    You have to code for dfu support in your application code since the device will need to switch to the dfu code for the update to work. Prior versions of the code were written to look for a button event to switch boot to the dfu code. However, I have seen in the documentation that current examples provide for a wireless event to trigger dfu mode. This way you don't need to physically interact with the device to update it.

    Nordic has several applications for iOS, Android and Windows that implement the client side of the dfu solution. Most of these are packaged with the Master Control Panel or the nRF Toolbox. In the app you simply select the device in DFU mode, select the hex file and click update.

    Here are a couple of links to more info on DFU: devzone.nordicsemi.com/.../

    devzone.nordicsemi.com/.../

Reply
  • New firmware can be updated wirelessly via DFU code (device firmware update). The dfu code sits at the top of the flash space in the device. Since it is at the top of flash space everything below it (ie, application and soft device) can be replaced. On the versions I have used, if the update fails the boot vector will still point to the dfu code and the device will just always boot into dfu mode. This way you can still load code and update the device and not brick it.

    You have to code for dfu support in your application code since the device will need to switch to the dfu code for the update to work. Prior versions of the code were written to look for a button event to switch boot to the dfu code. However, I have seen in the documentation that current examples provide for a wireless event to trigger dfu mode. This way you don't need to physically interact with the device to update it.

    Nordic has several applications for iOS, Android and Windows that implement the client side of the dfu solution. Most of these are packaged with the Master Control Panel or the nRF Toolbox. In the app you simply select the device in DFU mode, select the hex file and click update.

    Here are a couple of links to more info on DFU: devzone.nordicsemi.com/.../

    devzone.nordicsemi.com/.../

Children
No Data
Related