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__......

Reply
  • 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__......

Children
  • 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

  •  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,

Related