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

HOW much free flash size for mesh dfu?

hi,everyone

 when i test the mesh/example/dfu , it is upgrade scucessed,but when i combine it to switch_light example ,it was failed , it looks end the transfer too early ,so I think:

  1.why it will recivied a mesh event "NRF_MESH_EVT_DFU_END" while the transfer  is ongoing

  2.is becuse there not have enought free flash size for store the new firmware?

 3.how much kilobytes does the UICR  & Application data occupy? as show below in picture:

  • hi,Edvin

    thanks

    I have solved this by change some code in "example / light_switch_server" as below, thougth i do not know why it works:

    in "nrf_mesh_config_app.h"

    /** PB-GATT feature. To be enabled only in combination with linking GATT files. */
    #define MESH_FEATURE_PB_GATT_ENABLED                    (0)
    /** GATT proxy feature. To be enabled only in combination with linking GATT proxy files. */
    #define MESH_FEATURE_GATT_PROXY_ENABLED                 (0)
    /** @} end of MESH_CONFIG_GATT */

    in "app_config.h"

    #define NRF_BLE_CONN_PARAMS_ENABLED 0

    maybe it can not support PROXY and DFU coexsit ?

  • It should be able to, but there are more than these two defines that are needed to support it. Have you tried to debug? Where does your code stop? Is it getting caught by an ERROR_CHECK() or APP_ERROR_CHECK() that it is not getting past? What is your NRF_SDH_BLE_VS_UUID_COUNT in sdk_config.h?

    BR,

    Edvin

  • it is like below ,i have not modify it yet , what is this macro use for?

    // <o> NRF_SDH_BLE_VS_UUID_COUNT - The number of vendor-specific UUIDs.
    #ifndef NRF_SDH_BLE_VS_UUID_COUNT
    #define NRF_SDH_BLE_VS_UUID_COUNT 0
    #endif

  • Hello,

    This is the define that decides how many services (BLE) you can enable. 

    I am struggling a bit to see what your issue is at the moment. Is your application running? Do you enable your BLE services? What issue is occuring and when does it happen?

    Hint: Try to define DEBUG in your preprocessor defines to see if your application runs into an error.

    BR,
    Edvin

Related