pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port

Hi all,

I am using nRF52832, nrfutil version 6.1.7 and nRF5_SDK_17.1.0_ddde560. I wanted to perform DFU over serial UART. I am not using a soft device. I have referred the following link 

https://devzone.nordicsemi.com/f/nordic-q-a/43698/bootloader-serial-dfu-without-softdevice-sdk-15#:~:text=start%20the%20DFU.-,As%20I%20understand%2C%20you%20wish%20to%20do%20a%20DFU%20without,to%20use%20the%20precompiled%20firmware.&text=The%20difference%20between%20the%20two,only%20requires%20for%20the%20bootloader

 When I try to run nrfutil dfu serial -pkg blinky_mbr.zip -p COM10 -b 115200 commands I get the following error. 

D:\nRF5_SDK_17.1.0_ddde560\examples\dfu\secure_dfu_test_images\uart\nrf52832>nrfutil dfu serial -pkg blinky_mbr.zip -p COM10 -b 115200
  [------------------------------------]    0%
Traceback (most recent call last):
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\Scripts\nrfutil.exe\__main__.py", line 7, in <module>
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\click\core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\nordicsemi\__main__.py", line 1073, in serial
    do_serial(package, port, connect_delay, flow_control, packet_receipt_notification, baud_rate, serial_number, True,
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\nordicsemi\__main__.py", line 988, in do_serial
    dfu.dfu_send_images()
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\nordicsemi\dfu\dfu.py", line 127, in dfu_send_images
    self._dfu_send_image(self.manifest.application)
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\nordicsemi\dfu\dfu.py", line 88, in _dfu_send_image
    self.dfu_transport.open()
  File "C:\Users\Lenovo\AppData\Local\Programs\Python\Python38\lib\site-packages\nordicsemi\dfu\dfu_transport_serial.py", line 214, in open
    raise NordicSemiException("No ping response after opening COM port")
pc_ble_driver_py.exceptions.NordicSemiException: No ping response after opening COM port

Parents Reply Children
  • Hi Swanand, 


    When you wrote "flash it" you meant program the application via programmer or you meant you did DFU update ? 
    I would assume what you meant by " this time zip is not working" it means the DFU update worked fine and you managed to update but it doesn't run. 

    In that case you may need to do debugging. You can debug and step in the code just like what you normally do. 
    If you see that you can not debug the code, it could be that the bootloader didn't run the application, then you need to step in the code of the bootloader and check why it doesn't jump to the application. You may need to use the debug version of the bootloader to step in the bootloader code. 

    What I want to say is that it's not a black box and you can just debug the bootloader and the application normally. 

  • Hello,

    Yes, the DFU update is working fine & it runs successfully.  I found that my 4th package is also working and running but I am not able to view data on a tera term(serial utility) which I send on uart(uart instance 1 configured in application).

    my understanding is that nrf52832 has only 1 uart peripheral. So we are doing dfu over uart in bootloader and the application also uses uart. Can I use uart in the application? 

    also If I erased all and then flashed mbr + uart hex file then I can see uart prints.

  • Hi Swanand, 


    They can share UART, the bootloader is not running when the application is running. 
    But you have to make sure you initialize UART properly in your application. Double check if you have configured everything correctly. The potential issue is that if the bootloader use UART the registers may be different from the reset value. 

Related