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

FreeRTOS, SVC Handler and Buttonless DFU

I am trying to get the application to enter DFU via the buttonless DFU service using SDK 15.2. It appears to be stuck because of an SVC call not returning. Both application and bootloader have NRF_DFU_BLE_REQUIRES_BONDS set to 1. Initially it hung at the call to nrf_dfu_set_peer_data() in ble_dfu_bonded.c. On looking at documentation from a previous SDK, it looks like I have to call  ble_dfu_buttonless_async_svci_init(); before ble_dfu_buttonless_init(). So I did and now, it hangs at nrf_dfu_set_peer_data_init().  

I am using FreeRTOS. Could it have to do with the SVC handler in port.c being different from the one in nrf_svc_handler.c? 

Parents
  • Any ideas? 

    Just following up on this, if I compile with the SVCALL_INDIRECT_AS_NORMAL_FUNCTION flag, I get compilation issues:

    Error pasting "(" and "nrf_dfu_set_peer_data_svci_async_t" does not give a valid preprocessing token app *\components\libraries\svc\nrf_svci.h 251
    Error unknown type name 'p_async' app *\components\libraries\svc\nrf_svci_async_function.h 159


Reply
  • Any ideas? 

    Just following up on this, if I compile with the SVCALL_INDIRECT_AS_NORMAL_FUNCTION flag, I get compilation issues:

    Error pasting "(" and "nrf_dfu_set_peer_data_svci_async_t" does not give a valid preprocessing token app *\components\libraries\svc\nrf_svci.h 251
    Error unknown type name 'p_async' app *\components\libraries\svc\nrf_svci_async_function.h 159


Children
No Data
Related