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

Problem with DFU mesh generate hex version of device page

Hi,

I'm following DFU quick start guide and I'm using mesh SDK v2.0.1, I have a problem in step 4 wheere I need to generate a hex version of device page, I did this : 

dfu$ py device_page_generator.py -d nrf52832_xxAA -sd "s132_6.0.0" and this is the result:

Wrote device page for nrf53832_xxAA with the s132_6.0.0 SoftDevice to bin/device_page_nrf52832_xxAA_s132_5.0.0.hex instead of s132 version 6 

here is the bin directory:

I don't know why it doesn't generate device page with s132 v6.0.0, help please

Thanks in advance,

Parents
  • Hello,

    Can you try to run the script in the path:

    mesh_v2.0.1\tools\dfu\bootloader_verify.py like this:

    python bootloader_verify.py <serial number> <COM port>

    And see what it prints?

     

    Best regards,

    Edvin

     

  • Hi,

    I ran the command and here what it it prints

    C:\Users\Arij\Desktop\mesh\nrf5_SDK_for_Mesh_v2.0.0_src\nrf5_SDK_for_Mesh_v2.0.0_src\tools\dfu>python bootloader_verify.py 682501995 COM10
    Device family:                  NRF52
    Reading UICR..                  OK.
    Reading Device page..           OK.
    Resetting device..    

    I put the serial number of my serial device (host) and its COM port, 

    Now I tried with the other device and I put its serial number and COM port, and here what it shows

    C:\Users\Arij\Desktop\mesh\nrf5_SDK_for_Mesh_v2.0.0_src\nrf5_SDK_for_Mesh_v2.0.0_src\tools\dfu>python bootloader_verify.py 682609257 COM15
    Device family:                  NRF52
    Reading UICR..                  OK.
    Reading Device page..           OK.
    Resetting device..              OK (In application)
    Checking serial connection..    OK.
    
    Bootloader verification OK.
    
    C:\Users\Arij\Desktop\mesh\nrf5_SDK_for_Mesh_v2.0.0_src\nrf5_SDK_for_Mesh_v2.0.0_src\tools\dfu>nrfjprog --reset
    Applying system reset.
    Run.

    So I think here the bootloader worked with my other device that is supposed to be the target and not with host device, they are both connected to pc with USB cables. I'm still understanding the process of DFU over mesh, Do I have to restart all over again the dfu start guide and see if it works with my other device?

    Thank you,

     

  • Update:

    It works now finally and my two DK start blinking, now I want to use light switch server example instead of blinky application, is that possible? I believe DFU over mesh doesn't support big application like light switch demo, is that correct? 

Reply Children
  • Hello,

    That is great news. Did you find out what the problems was?

     

    It should work, but be aware that the Mesh DFU has a very low throughput. I haven't tested with the v2.0.1, but I tested with v1.0.1 some time ago. I just modified the DFU example to turn on different LEDs, and uploaded that project via DFU. So it should work with larger projects as well (I see no reason why it shouldn't work in SDK_v2.0.1).

     

    But as I mentioned, the throughput in Mesh is quite low, so the DFU process took about an hour. The advantage with Mesh DFU is that the DFU process runs in the background of the application, so for an in field DFU, the customer may start the update, but they can use the device as normal until the update is done. This will trigger a reset, and the device will run the new application. It is not that easy to see in the DFU example, because it does nothing else. But if you add a bootloader to the blinky example, or the blinky functionality to the DFU example, or the light switch example, you can see that the device is operative during the DFU process.

     

    Mesh DFU is intended for in field updates. If you just want to tweak parameters or something, I suggest that you program the chip normally, and just run a DFU test in the end before shipping out the firmware.

     

    Best regards,

    Edvin

  • Hi,

    I changed the device's USB cable and COM port and it works,

    Thank you for your suggestions, it's very helpful.

    Best regards,

    Arij

Related