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

OTA Thread DFU: Merge SDK example with custom application

Hi all!

I'm able to fully test the SDK example https://infocenter.nordicsemi.com/index.jsp?topic=%2Fsdk_tz_v3.2.0%2Fthread_example_dfu.html and it works pretty well.

Now, the next step is the integration of this OTA DFU over Thread example in my custom application (that already exploits Thread and MQTT-SN protocol).

I haven't found a tutorial that explains step-by-step this kind of operation. 

Basically I need some help to integrate the DFU client with the user application. I think the key point is the IoT SDK CoAP library that implement a DFU algorithm that should run concurrently to the user application, but I'm a bit confused about merging process.

Thanks in advance,

Alessio

  • I have some problems debugging the bootloader.

    I know that I have to use "target" -> "attach debugger" to debug the bootloader when the new application has to be validated and activated.

    After flashing components (BL + SD + APP), the app is running and if I attach the debugger from bootloader project I have this behaviour:

    Obviusly, the app stops running and I can't debug the bootloader project.

    How am I supposed to use "attach debugger" feature?

    Thanks,

    Alessio

  • Hi all,

    I managed all the error in the bootloader.

    Now, I can load from QSPI the fw in the flash and I can pass all hash&crc checks.

    The bootloader can run smootlhy until the last step ( app_start(vector_table_addr); ).

    I attach a screenshot from debugger: 

    • the bank0 information are correct 
    • the FW at 0x27000 (just after SD) is correct
    • the bootloader can run until last step

    Now, I'd like to know why the hell the board DOESN'T START THE APP.

    The board just stucks in the BL!!

    Can someone support me please?

    Thanks

  • What happens inside app_start()? Does the bootloader run until jump_to_addr()? 

    What is the value of the vector_table_addr parameter?

    Can you share the full project? Is it reproducable on a nRF52840 DK (i.e., are you using the default QSPI flash chip)?

Related