This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

error in adding ble_app_buttonless_dfu to usbd_ble_uart

Hi,

I am using 15.2.0 version with sdk 140 . As per the application of project I have added ble_app_buttonless_dfu to the usbd_ble_uart code. I have already added SAADC, SPI to usbd_ble_uart code as per requirement and it works fine. I have added the necessary paths to my project and made necessary changes in sdk_config.h file. But on compilation it shows "nrf_dfu_types.h: No such file or directory" error in nrf_dfu_ble_svci_bond_sharing.h file. 

the user include path added is:--

../../../config;

../../../../../../components;

../../../../../../components/ble/ble_advertising;

../../../../../../components/ble/ble_dtm;

../../../../../../components/ble/ble_link_ctx_manager;

../../../../../../components/ble/ble_racp;

../../../../../../components/ble/ble_services/ble_ancs_c;

../../../../../../components/ble/ble_services/ble_ans_c;

../../../../../../components/ble/ble_services/ble_bas;

../../../../../../components/ble/ble_services/ble_bas_c;

../../../../../../components/ble/ble_services/ble_cscs;

../../../../../../components/ble/ble_services/ble_cts_c;

../../../../../../components/ble/ble_services/ble_dfu;

../../../../../../components/ble/ble_services/ble_dis;

../../../../../../components/ble/ble_services/ble_gls;

../../../../../../components/ble/ble_services/ble_hids;

../../../../../../components/ble/ble_services/ble_hrs;

../../../../../../components/ble/ble_services/ble_hrs_c;

../../../../../../components/ble/ble_services/ble_hts;

../../../../../../components/ble/ble_services/ble_ias;

../../../../../../components/ble/ble_services/ble_ias_c;

../../../../../../components/ble/ble_services/ble_lbs;

../../../../../../components/ble/ble_services/ble_lbs_c;

../../../../../../components/ble/ble_services/ble_lls;

../../../../../../components/ble/ble_services/ble_nus;

../../../../../../components/ble/ble_services/ble_nus_c;

../../../../../../components/ble/ble_services/ble_rscs;

../../../../../../components/ble/ble_services/ble_rscs_c;

../../../../../../components/ble/ble_services/ble_tps;

../../../../../../components/ble/common;

../../../../../../components/ble/nrf_ble_gatt;

../../../../../../components/ble/nrf_ble_qwr;

../../../../../../components/ble/peer_manager;

../../../../../../components/boards;

../../../../../../components/drivers_nrf/nrf_soc_nosd;

../../../../../../components/drivers_nrf/usbd;

../../../../../../components/libraries/atomic;

../../../../../../components/libraries/atomic_fifo;

../../../../../../components/libraries/atomic_flags;

../../../../../../components/libraries/balloc;

../../../../../../components/libraries/bootloader;

../../../../../../components/libraries/bootloader/dfu;

../../../../../../components/libraries/bootloader/ble_dfu;

../../../../../../components/libraries/bsp;

../../../../../../components/libraries/button;

../../../../../../components/libraries/cli;

../../../../../../components/libraries/crc16;

../../../../../../components/libraries/crc32;

../../../../../../components/libraries/crypto;

../../../../../../components/libraries/csense;

../../../../../../components/libraries/csense_drv;

../../../../../../components/libraries/delay;

../../../../../../components/libraries/ecc;

../../../../../../components/libraries/experimental_section_vars;

../../../../../../components/libraries/experimental_task_manager;

../../../../../../components/libraries/fds;

../../../../../../components/libraries/fifo;

../../../../../../components/libraries/fstorage;

../../../../../../components/libraries/gfx;

../../../../../../components/libraries/gpiote;

../../../../../../components/libraries/hardfault;

../../../../../../components/libraries/hardfault/nrf52;

../../../../../../components/libraries/hci;

../../../../../../components/libraries/led_softblink;

../../../../../../components/libraries/log;

../../../../../../components/libraries/log/src;

../../../../../../components/libraries/low_power_pwm;

../../../../../../components/libraries/mem_manager;

../../../../../../components/libraries/memobj;

../../../../../../components/libraries/mpu;

../../../../../../components/libraries/mutex;

../../../../../../components/libraries/pwm;

../../../../../../components/libraries/pwr_mgmt;

../../../../../../components/libraries/queue;

../../../../../../components/libraries/ringbuf;

../../../../../../components/libraries/scheduler;

../../../../../../components/libraries/sdcard;

../../../../../../components/libraries/slip;

../../../../../../components/libraries/sortlist;

../../../../../../components/libraries/spi_mngr;

../../../../../../components/libraries/stack_guard;

../../../../../../components/libraries/strerror;

../../../../../../components/libraries/svc;

../../../../../../components/libraries/timer;

../../../../../../components/libraries/twi_mngr;

../../../../../../components/libraries/twi_sensor;

../../../../../../components/libraries/uart;

../../../../../../components/libraries/usbd;

../../../../../../components/libraries/usbd/class/audio;

../../../../../../components/libraries/usbd/class/cdc;

../../../../../../components/libraries/usbd/class/cdc/acm;

../../../../../../components/libraries/usbd/class/hid;

../../../../../../components/libraries/usbd/class/hid/generic;

../../../../../../components/libraries/usbd/class/hid/kbd;

../../../../../../components/libraries/usbd/class/hid/mouse;

../../../../../../components/libraries/usbd/class/msc;

../../../../../../components/libraries/util;

../../../../../../components/nfc/ndef/conn_hand_parser;

../../../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser;

../../../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser;

../../../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser;

../../../../../../components/nfc/ndef/connection_handover/ac_rec;

../../../../../../components/nfc/ndef/connection_handover/ble_oob_advdata;

../../../../../../components/nfc/ndef/connection_handover/ble_pair_lib;

../../../../../../components/nfc/ndef/connection_handover/ble_pair_msg;

../../../../../../components/nfc/ndef/connection_handover/common;

../../../../../../components/nfc/ndef/connection_handover/ep_oob_rec;

../../../../../../components/nfc/ndef/connection_handover/hs_rec;

../../../../../../components/nfc/ndef/connection_handover/le_oob_rec;

../../../../../../components/nfc/ndef/generic/message;

../../../../../../components/nfc/ndef/generic/record;

../../../../../../components/nfc/ndef/launchapp;

../../../../../../components/nfc/ndef/parser/message;

../../../../../../components/nfc/ndef/parser/record;

../../../../../../components/nfc/ndef/text;

../../../../../../components/nfc/ndef/uri;

../../../../../../components/nfc/t2t_lib;

../../../../../../components/nfc/t2t_lib/hal_t2t;

../../../../../../components/nfc/t2t_parser;

../../../../../../components/nfc/t4t_lib;

../../../../../../components/nfc/t4t_lib/hal_t4t;

../../../../../../components/nfc/t4t_parser/apdu;

../../../../../../components/nfc/t4t_parser/cc_file;

../../../../../../components/nfc/t4t_parser/hl_detection_procedure;

../../../../../../components/nfc/t4t_parser/tlv;

../../../../../../components/softdevice/common;

../../../../../../components/softdevice/s140/headers;

../../../../../../components/softdevice/s140/headers/nrf52;

../../../../../../components/toolchain/cmsis/include;

../../../../../../external/fprintf;

../../../../../../external/segger_rtt;

../../../../../../external/utf_converter;

../../../../../../integration/nrfx;

../../../../../../integration/nrfx/legacy;

../../../../../../modules/nrfx;

../../../../../../modules/nrfx/drivers/include;

../../../../../../modules/nrfx/hal;

../../../../../../modules/nrfx/mdk;

../config;

additional extra directives included:---

#include "peer_data_storage.h"
#include "peer_manager.h"
#include "peer_manager_handler.h"
#include "sdk_errors.h"
#include "peer_manager_types.h"
#include "peer_manager_internal.h"
#include "peer_id.h"
#include "fds.h"
#include "nrf_dfu_ble_svci_bond_sharing.h"
#include "nrf_svci_async_function.h"
#include "nrf_svci_async_handler.h"
#include "nrf_power.h"
#include "nrf_bootloader_info.h"
#include "ble.h"
#include "ble_srv_common.h"
#include "ble_conn_state.h"
#include "ble_dfu.h"
#include "nrf_ble_qwr.h"

the preprocessor definition included:--

SVC_INTERFACE_CALL_AS_NORMAL_FUNCTION

BL_SETTINGS_ACCESS_ONLY

NRF_DFU_SVCI_ENABLED

NRF_DFU_TRANSPORT_BLE=1

BOARD_PCA10056

CONFIG_GPIO_AS_PINRESET

FLOAT_ABI_HARD

INITIALIZE_USER_SECTIONS

NO_VTOR_CONFIG

NRF52840_XXAA

NRF_SD_BLE_API_VERSION=6

S140

SOFTDEVICE_PRESENT

SWI_DISABLE0

Necessary .c files are also included. So please let me know the fault in this integration of codes.

Parents
  • Hi.

    What is the path to your project? Could you paste it, like mine: C:\NordicSemi\nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_buttonless_dfu\pca10040\s132\ses

    Have you defined NRF_DFU_BLE_SVCI_BOND_SHARING_H__ anywhere?

    Best regards.

    Andreas

  • Hi,

    D:\sdk15\nRF5_SDK_15.2.0_9412b96\examples\ble_peripheral\ble_app_buttonless_dfu\pca10056\s140\ses.This is the path of example code for ble_app_buttonless_dfu.

    D:\sdk15\nRF5_SDK_15.2.0_9412b96\examples\peripheral\usbd_ble_uart\pca10056\s140\ses. This is the path of the application.

    I have not defined  NRF_DFU_BLE_SVCI_BOND_SHARING_H__......

  • Hi.

    I was thinking about the path of the project you have created, you said you had merged the ble_app_buttonless_dfu project with the usdb_ble_uart project.

    Best regards.

    Andreas

  • Hi,

    D:\sdk15\nRF5_SDK_15.2.0_9412b96\examples\peripheral\usbd_ble_uart+saadc+spi\pca10056\s140\ses..

    this is the path of the project....what I did was just copy the required library files of saadc and spi to the basic usbd_ble_uart example code according to my requirement....

    Is there any type of memory segmentation required for the implementation of dfu ?

  • Hi,

    I resolved the issue....Thanks for the help.

    I want to know whether there is any memory segmentation which is to be done in addition for the integration of ble_app_buttonless_dfu to usbd_ble_uart, because in the ble_app_buttonless_dfu the memory is split for the boot loader too.

  • Hi.

    additional extra directives included:---

    #include "peer_data_storage.h"
    #include "peer_manager.h"
    #include "peer_manager_handler.h"
    #include "sdk_errors.h"
    #include "peer_manager_types.h"
    #include "peer_manager_internal.h"
    #include "peer_id.h"
    #include "fds.h"
    #include "nrf_dfu_ble_svci_bond_sharing.h"
    #include "nrf_svci_async_function.h"
    #include "nrf_svci_async_handler.h"
    #include "nrf_power.h"
    #include "nrf_bootloader_info.h"
    #include "ble.h"
    #include "ble_srv_common.h"
    #include "ble_conn_state.h"
    #include "ble_dfu.h"
    #include "nrf_ble_qwr.h"

    Where did you include these? in main.c? Could you also try to add #include "nrf_dfu_types.h"

    Because the error "nrf_dfu_types.h: No such file or directory" clearly states it cannot find it.

    Have you check that the file actually is located in components\libraries\bootloader\dfu, or is it missing?

     

    shilpa said:
    Is there any type of memory segmentation required for the implementation of dfu ?

     I suggest you take a look at the memory layout here, to make sure that you don't write to a part of the memory which is already occupied.

    Best regards.

    Andreas

Reply
  • Hi.

    additional extra directives included:---

    #include "peer_data_storage.h"
    #include "peer_manager.h"
    #include "peer_manager_handler.h"
    #include "sdk_errors.h"
    #include "peer_manager_types.h"
    #include "peer_manager_internal.h"
    #include "peer_id.h"
    #include "fds.h"
    #include "nrf_dfu_ble_svci_bond_sharing.h"
    #include "nrf_svci_async_function.h"
    #include "nrf_svci_async_handler.h"
    #include "nrf_power.h"
    #include "nrf_bootloader_info.h"
    #include "ble.h"
    #include "ble_srv_common.h"
    #include "ble_conn_state.h"
    #include "ble_dfu.h"
    #include "nrf_ble_qwr.h"

    Where did you include these? in main.c? Could you also try to add #include "nrf_dfu_types.h"

    Because the error "nrf_dfu_types.h: No such file or directory" clearly states it cannot find it.

    Have you check that the file actually is located in components\libraries\bootloader\dfu, or is it missing?

     

    shilpa said:
    Is there any type of memory segmentation required for the implementation of dfu ?

     I suggest you take a look at the memory layout here, to make sure that you don't write to a part of the memory which is already occupied.

    Best regards.

    Andreas

Children
  •  I suggest you take a look at the memory layout here, to make sure that you don't write to a part of the memory which is already occupied

    Should we specify the memory parts to the program anywhere, if so how should I do it?

    I am asking this because when I compile the ble_app_buttonless_dfu,

    but for the normal usb application it was like,

  • Hi.

    No, you should not have to specify any memory parts unless you want to move anything.

    The important thing is that you don't have any overlapping parts. And all the projects are set up so that they don't overlap.

    The only thing you are combining is two Applications, and unless you make these applications very large in size you should not have any problems.

    Best regards.

    Andreas

Related