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

nRF52832_xxAA Buttonless OTA DFU will wait a long time after re-powering

Hi,

I designed a nRF52832_xxAA board, use an external power switch, without DFU features its operating normally.

When I add the DFU function according to the Sample code, after nRFgo Studio download the Softdevice and bootloader, DFUTarg can be found on the nRF Connect, and new app can be download normally. However, after the download is completed, it will wait for tens of seconds before the custom Bluetooth name appears.
and the program can be started Usually wait 20 seconds or more each time when I reboot.

I think there must be something wrong.

Directory as follows:
nRF5_SDK_14.2.0_17b948a\examples\ble_peripheral\ble_app_uart with IAR.
Memory Regions ROM start 0x23000 end 0x7ffff, I modified RAM start 0x20002100 end 0x2000ffff with nrf_sdh_ble.c - nrf_sdh_ble_enable - *p_app_ram_start watch.
nRF5_SDK_14.2.0_17b948a\examples\dfu\bootloader_secure_ble\pca10040\arm5_no_packs with Keil 5.
Target - Read/Write Memory Areas - IRAM start 0x20002830 size 0xD7D0, default I don't know how to modify it here.

ble_app_uart add five bluetooth services AIO_UUID_SERVICE/BLE_UUID_BATTERY_SERVICE/BLE_UUID_DEVICE_INFORMATION_SERVICE/HID_UUID_SERVICE(not standard)/BLE_DFU_SERVICE_UUID but #define NRF_SDH_BLE_VS_UUID_COUNT 2/#define NRF_SDH_BLE_GATT_MAX_MTU_SIZE 23/#define NRF_SDH_BLE_GATTS_ATTR_TAB_SIZE 1408

bootloader_secure_ble modifications very few, only one external crystal so #define NRF_SDH_CLOCK_LF_SRC 2 and dfu_public_key.c also replacement normally.leds_init() and buttons_init() default but the pin P0.17/18/19/20 P0.13/14/15/16 connect by others on the hardware.

I think it may be that the boot area is not set up correctly, so I hope to get your help. If the description is not detailed, I can add it as required.

Best regards

ROO

Parents
  • Hi Define, 

    Do you see the same issue, i.e. wait 20seconds on reboot before the device advertises, if you only flash the SoftDevice and the application (not the bootloader)?

    What kind of advertisement interval have you configured in your application?

    Are you using the unaltered bootloader from SDK v14.2.0 or have you modified it?

    The nRF52 will always boot to the bootloader(if it ispresent) upon start up and then check if there is a valid application(which there is after the DFU) and then start the application. This should not take 20seconds. 

    Best regards

    Bjørn

Reply
  • Hi Define, 

    Do you see the same issue, i.e. wait 20seconds on reboot before the device advertises, if you only flash the SoftDevice and the application (not the bootloader)?

    What kind of advertisement interval have you configured in your application?

    Are you using the unaltered bootloader from SDK v14.2.0 or have you modified it?

    The nRF52 will always boot to the bootloader(if it ispresent) upon start up and then check if there is a valid application(which there is after the DFU) and then start the application. This should not take 20seconds. 

    Best regards

    Bjørn

Children
Related