About dfu firmware update in serial communication using nRF52 UART

Hi,

I am developing a system that uses nRF52832 as a BLE module and the main program uses an STM32F4 microcontroller.


The nRF52832 and the main microcomputer (STM32F4) are connected by UART, and BLE data is sent and received by using a dedicated communication command from STM32F4. I need to update the nRF firmware through communication via the main microcomputer (STM32F4), and I'm thinking of using serial dfu using UART communication.


The SDK currently using is SDK 17.1.0.


Q1. I packaged the application .hex file and authentication key with the evaluation DK board (nRF52832) and tested writing the .zip file from the PC via UART communication using the nrfutil command. The firmware was successfully written, but when I tried to write and update the firmware again, I got an error that the bootloader was not authenticated.


Do I need to change my application to switch from application to bootloader for serial dfu?

I would be appreciated if you could let me know the correct procedure.
The application used in the test is ble_app_uart (SDK17.1.0).


Q2. Is it possible to send dfu firmware update via UART from CPU such as STM microcomputer (STM32F4) ?
If possible, please let me know the protocol or any sample program to send the zip file.

Thank you!

Kind Regards,

Sunny

Parents Reply
  • Hi Sigurd,

    Reqarding enter DFU mode, STM32 and nRF52 are only connected to the UART port and cannot use the button startup method. I'm thinking of sending a special command from STM32 to trigger nRF52 to reset itself and start DFU mode for my bootloader to run. I would like to know how this can be achieve that with nRF52 application. If possible, a sample code would be very helpful.

    Thanks,

    Sunny

Children
Related