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

BLE + Serial DFU bootloader SDK 14.0

Hi,

I'm trying to merge Serial and BLE DFU. I have followed this.

I have used BLE DFU example as base code and added Serial DFU dependencies.

I'm able to do BLE DFU but Serial DFU fails.

I have noticed that with BLE_STACK_SUPPORT_REQD flag, Serial DFU fails and also noticed without BLE_STACK_SUPPORT_REQD flag "BLE DFU" fails.

nrf_fstorage_init() is getting triggered with different parameters (nrf_fstorage_sd or nrf_fstorage_nvmc) for BLE or DFU resp. depending on BLE_STACK_SUPPORT_REQD.

When I set BLE_STACK_SUPPORT_REQD and do Serial DFU I get this <error> nrf_dfu_flash: !!! Failed storing 128 B at address: 0x00023080 error.

I tried do Serial DFU no flow control and baud rate set to 9600 still no luck.

Please let me know if I'm missing something.

Regards,

Hrishikesh D.

Parents
  • Hi Hrishikesh, 

    Apologizes for the late reply. 

    Are you initializing the SoftDevice when you perform the serial DFU?

    When I set BLE_STACK_SUPPORT_REQD and do Serial DFU I get this <error> nrf_dfu_flash: !!! Failed storing 128 B at address: 0x00023080 error.

    Please attach the entire log. 

    Best regards

    Bjørn

     

  • Hi Bjorn,

    Thank you for the response.

    Yes, I'm initializing SoftDevice when I'm performing the serial DFU.

    Due to lack of time I tried one ugly trick, I did set a flag when we go in Bootloader mode from application and choose Serial or BLE transport layer depending on flag which worked well for me.

    Also one thing to mention, I was using default baud rate which is 115200 in sdk.config file which was failing without flow control.

    I had to configure baud rate to 9600 which is not mentioned here and then serial DFU success without flow control.

    Is there any way I can increase the baud rate without flow control? Is it hardware limitation or JLink issue?

    Will it work on custom board for higher baud rate?

    Thanks,

    Hrishikesh.

Reply
  • Hi Bjorn,

    Thank you for the response.

    Yes, I'm initializing SoftDevice when I'm performing the serial DFU.

    Due to lack of time I tried one ugly trick, I did set a flag when we go in Bootloader mode from application and choose Serial or BLE transport layer depending on flag which worked well for me.

    Also one thing to mention, I was using default baud rate which is 115200 in sdk.config file which was failing without flow control.

    I had to configure baud rate to 9600 which is not mentioned here and then serial DFU success without flow control.

    Is there any way I can increase the baud rate without flow control? Is it hardware limitation or JLink issue?

    Will it work on custom board for higher baud rate?

    Thanks,

    Hrishikesh.

Children
No Data
Related