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

Booting Mesh-Application from BLE secure Booltoader

Dear Support,

I am working now on the PCA10040 Development-Board, I use the Booltoader from the nRF5_SDK_15.0.0 and the application from the nrf5_SDK_for_Mesh_v2.2.0. I had programmen a secure bootloader from the nonMesh-SDK and tested it with nonMesh-Application, that works well. Now when I take an mesh-application like light_switch, it won't boot up with the non-Mesh booltoader. The non meshBootloader seems to start the application by jump to the begin of the Softdevice (0x1000), am I right? The mesh-Booltoader seems to do another start of application method, it seems, that it loads the start address of the application into the sd, but I'm not fully 100% sure what happens on the startup of an mesh application, would You like to tell me please how I can start a mesh application from the nonMesh-Booltoader? Is it just a little thing, or do I have to rewrite very much of the Booltoader. Thank in advance, and have a nice xmas.

Best Regards

Roland

  • I have encountered this problem before. The problem lies in the fact the mesh sdk assumes the mesh bootloader being present, and calls into it during initialisation, which is not supported by the BLE bootloader. The solution is to comment out the lines where this happens. in core/src/nrf_mesh.c there is a call to nrf_mesh_dfu_init(). (in nrf_mesh_init() , line 360) Comment that out, and then it should work fine with the BLE bootloader. 

  • Hello Roland,

    I just did a test with the light_switch\proxy_server example, where I created a DFU image with this, and used the secure_bootloader from SDK15.0.0, and it worked on my computer. I didn't do any changes to either the bootloader or the Mesh example.

    Can you describe how you created the DFU image, and how you transferred it?

    Are you sure that it is not running? The mesh examples doesn't necessarily use the LEDs, but I could see the RTT output that the example was running.

    Best regards,

    Edvin

Related