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

SDK 15 and Mesh 2.0 Generate a DFU file with nrfutil - ValueError

We used nRF5_SDK_15.0.0_a53641a and nrf5_SDK_for_Mesh_v2.0.0_src.

We are following DFU quick start guide http://infocenter.nordicsemi.com/index.jsp?topic=%2Fcom.nordic.infocenter.meshsdk.v0.10.0%2Findex.html

For nRF52:

mesh-sdk$ nrfutil dfu genpkg --application bin/blinky/blinky_nrf52832_xxAA_s132_5.0.0.hex \
--company-id 0x00000089 \
--application-id 1 \
--application-version 2 \
--key-file private_key.txt \
--sd-req 0x009D \
--mesh dfu_test.zip
We used "--company-id 0x00000089 \" to match Step 2 public key:
{
"bootloader_config": {
"bootloader_id": 1,
"bootloader_version": 1,
"company_id": 89,
"application_id": 1,
"application_version": 1,
"public_key": "ed09a58df6db5cd15b8637304f31d31f4042492ed7c7e4839fbe903f260a2ba1a855e92b72885825481ad56282bcf549ad7455ec46f000f0f62d97eeec883ba6"
}
}
The hex we used is C:\Nordic\nRF5_SDK_15.0.0_a53641a\mesh_sdk\bin\blinky\blinky_nrf52832_xxAA_s132_5.0.0.hexblinky_nrf52832_xxAA_s132_5.0.0.hex
We got ValueError, please see attached screen shot. 
Please advise.  Thanks
  • Hi, yes, unfortunately still see the issue. I will open another case to follow up. thank you.

  • I followed the DFU quick start guide using 2 development kits, where one (682630616) is interfaced over the COM port, which is the one we have been using to check out from Step 1 to Step 10.  Now I am using the other development kits (682686733) receives the DFU from the first device (682630616) over the mesh.  According to the DFU quick start guide, I specified which device to use in which context, add the -s 682686733 option for each call to the nrfjprog command.  Therefore, we started to communicate with 682686733 starting Step 5 to Step 9 as below:

    Step 5 Erase all chip memory (including UICR) on all devices
    nrfjprog --eraseall -s 682686733

    Step 6 Flash the SoftDevice on all devices
    nrfjprog --program bin/softdevice/s132_nrf52_6.0.0_softdevice.hex --chiperase -s 682686733

    Step 7 Flash the serial bootloader on all devices
    nrfjprog --program bin/bootloader/gccarmemb/mesh_bootloader_serial_gccarmemb_nrf52832_xxAA.hex -s 682686733

    Step 8 Flash the first application on all devices
    nrfjprog --program examples\dfu\build\dfu_nrf52832_xxAA_s132_6.0.0_Release\dfu_nrf52832_xxAA_s132_6.0.0.hex -s 682686733

    Step 9 Flash the device page on all devices
    nrfjprog --program tools/dfu/bin/device_page_nrf52832_xxAA_s132_6.0.0.hex -s 682686733

    nrfjprog --reset -s 682686733

    Every Step, I got an error:
    ERROR: There is no debugger connected to the PC with the given serial number.

    Please see below attached screen shoot.

     

    Do we need to connect the other development kit 682686733 to the PC?  How can we do it over the mesh or over the air?

    According to the DFU quick start guide, I also downloaded the mesh_dfu branch as shown at below screen shoot, but I don't know how to use it. 

    Please advise.  Thanks.

  • I used gcc armemb. gcc armemb uses the GCC ARM compiler & armcc uses the compiler provided by keil. You need to add the nrfjprog -s command to all of the nrfjprog commands in this quick start guide.

    But what I do instead, which I find easier, is to just write the nrfjprog commands without the -s at the back. That way, you should get a popup with a list of all the segger IDs if you have attached multiple DKs. If you only have one connected, the nrfjprog command will run without any errors. Then, you can choose the segger ID that you want to use.

  • I'm facing a problem in step 4 when 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 

Related