hi, everyone:
I want to use the experimental_bootloader_secure_serial to update firmware with UART, disable the hardware flow control.
how to reset system when application, which document can be refered?
hi, everyone:
I want to use the experimental_bootloader_secure_serial to update firmware with UART, disable the hardware flow control.
how to reset system when application, which document can be refered?
For resetting the device into bootloader mode, use the function "ble_dfu_buttonless_bootloader_start_finalize" in ble_dfu.c. A call to this function is the final step in handling the buttonless operation on the BLE implementation. You should probably copy only this one function over, since the rest of the file is BLE specific.
To run the serial DFU bootloader without hardware flow control, you will need to run it at a very low baud rate. 9600 baud seems to work for us without any issues. This will mean that updates take a bit longer, but if you do not have the extra pins for hardware flow control this is the only solution.
Best regards,
Rune Holmgren
and, run the serial DFU bootloader, the application, How can I upgrade the operation, do I need to close the interrupt or specify the vector table, then reboot to serial DFU bootloader? or other ?
The function "ble_dfu_buttonless_bootloader_start_finalize" was named "bootloader_start" back in SDK 13 and works by setting the GPREGRET register, disabling the SoftDevice, setting the vector table used by the SoftDevice when forwarding interrupts to the bootloaders vector table, disabling and clearing interrupts and finally resetting the device.
The function "ble_dfu_buttonless_bootloader_start_finalize" was named "bootloader_start" back in SDK 13 and works by setting the GPREGRET register, disabling the SoftDevice, setting the vector table used by the SoftDevice when forwarding interrupts to the bootloaders vector table, disabling and clearing interrupts and finally resetting the device.