Important changes to forums and questions
All forums and questions are now archived. To start a new conversation or read the latest updates go to forums.mbed.com.
9 years, 1 month ago.
BLE FOTA triggered from app without enabled softdevice?
I am interested in using FOTA but would like to trigger bootloader from app that does not have a running Softdevice. I tried using the following to set the GPRERET register then trigger system reset but does not work. Any ideas?
NRF_POWER->GPREGRET = BOOTLOADER_DFU_START; BOOTLOADER_DFU_START= 0xB1; NVIC_SystemReset();
A simple example would be an app that flashes an LED and a button press triggers a jump to DFU bootloader. The button press would not be at start up but rather anytime. This app but not be running anything from BLE_API and would not use ble.init().
This assumes the bootloader code would do the initial BLE stack init and begin advertising.
#include "mbed.h" DigitalIn enable_DFU(p5); DigitalOut led(LED1); int main() { while(1) { if(enable_DFU) { // jump to DFU / FOTA } wait(0.25); led = !led; } }
Please explain what you mean by: "would like to trigger bootloader from app that does not use BLE/Softdevice". Without the softdevice none of this would work. Do you mean without BLE_API?
posted by Rohit Grover 05 Nov 2015I updated my question.
posted by Joel Anderson 05 Nov 2015