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

pc-nrfutil 2.1.0 SDK12 serial dfu

Hello,

I saw that there is now serial dfu option enabled and Id like to make a serial DFU bootloader, however its a bit hard to read this Python code. Would be amazing if somebody could give the serial protocol that is used for transmissions? Also may be somebody knows how the .dat file is being read and transformed into Init packet?

Thanks!

Parents
  • Hello, we plan to add serial dfu over UART in upcoming SDK release, but documentation is not ready yet. The packet format will however be quite similar to our existing BLE transport .

    I have already made an experimental example of serial DFU based on an early beta release of the official uart transport. Have attached it here in case you want to try it.

    nRF5_SDK_12.1.0_MOD_serial_dfu_240117.7z

    Update:

    image description

  • Hi Vidar,

    Thanks for your response but I still cannot run your example, I'm using nrfutil v2.2.0 but as you said earlier it should not be a problem for running your serial bootloader. Here is the procedure I'm following in order to execute your code :

    • Flash the bootloader : make flash (example/dfu/bootloader_secure_serial/pca10028_debug/armgcc/)

    • Send the softdevice : nrfjprog --program s130_nrf51_2.0.1_softdevice.hex -f NRF51 --reset

    • Send the new application : nrfutil --verbose dfu serial -pkg dfu_test_app_hrm_s130.zip -p /dev/ttyACM0

    After these commands, the transfer stays stuck at 0% but no error appears, it seems to be in an infinite loop, and will never return an error.

    image description

    I'm using the DK PCA10028 and GCC for compiling.

    Am I doing something wrong ? Thanks !

Reply
  • Hi Vidar,

    Thanks for your response but I still cannot run your example, I'm using nrfutil v2.2.0 but as you said earlier it should not be a problem for running your serial bootloader. Here is the procedure I'm following in order to execute your code :

    • Flash the bootloader : make flash (example/dfu/bootloader_secure_serial/pca10028_debug/armgcc/)

    • Send the softdevice : nrfjprog --program s130_nrf51_2.0.1_softdevice.hex -f NRF51 --reset

    • Send the new application : nrfutil --verbose dfu serial -pkg dfu_test_app_hrm_s130.zip -p /dev/ttyACM0

    After these commands, the transfer stays stuck at 0% but no error appears, it seems to be in an infinite loop, and will never return an error.

    image description

    I'm using the DK PCA10028 and GCC for compiling.

    Am I doing something wrong ? Thanks !

Children
No Data
Related