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

OTA DFU bootloader

I am having some success with custom hardware running an OTA DFU bootloader from the SDK17 by Hung Bui March 2017 within a nRF52832. I utilize the bootloader to program the ble_app_uart into the hardware and things work as expected. I do have trouble when I load an app with no soft device. It appears to load but will not run the app that runs the display, just hangs. The tutorial describes how to perform a zip of the application, but the description has a option with the softdevice, but the application has no SD.

Can the bootloader program an application without an SD and run the application without problems?

  • Hi Cy, 

    Sorry for misunderstanding your situation. 

    --sd-req should be the same version as the softdevice on the chip because the bootloader will check the version number. But it doesn't care the app will use it late or not. 

    Cy said:
    I have a situation where the application useful to me does not require a soft device. Well, I guess it is prudent to dig into the bootloader program and the linker script to figure out where, what, and how. 

     Yeah, I agree with Jörg Fischer's suggestion. You can have an application that doesn't use the SoftDevice. You only need to change the FLASH and RAM start address and size. You can test and modify nRF5_SDK_17.0\examples\peripheral\blinky\pca10040\mbr with the FLASH and RAM start address and size in nRF5_SDK_17.0\examples\peripheral\blinky\pca10040\s132.

    Right-click on the project -> Common -> Linker -> Section Placement Macros

    -Amanda H.

  • Thank you, I develop with visual code and command line tools, I apologize for not including it in my original post. I use the makefile inside the armgcc folder of the projects. When following a recipe on how to do things, as in Hung Bui's, there is no information on the design or development of the project itself and is quite abstract. It ok to be abstract when everything just works but when it does not, fine detail on the design and development is needed.

    Is there a detailed and comprehensive explanation of the bootloader design?

  • So, from my point of view, worth about $0.02, it would seem if I can make a zip based on a working hex within the nrfutil and the option - - softdevice 0x00 than it should have made the flash and ram values correct.  

  • Hi Cy, 

    Because the size of each SoftDevice is different (See Adjustment of RAM and Flash memory), the flash and ram values are different in each SD. However, it is still good feedback to consider that. 

    Cy said:
    Is there a detailed and comprehensive explanation of the bootloader design?

    Please see the Bootloader and DFU modules documentation. 

    -Amanda H.

  • that link is dead or something, at least today.

Related