Hi.
I' m using nRF52832, SDK v15.0.0, S132.
I'm want tutorial how make bootloader DFU in IAR.
How I make bootloader DFU for nrf52832 in IAR?
Hi.
I' m using nRF52832, SDK v15.0.0, S132.
I'm want tutorial how make bootloader DFU in IAR.
How I make bootloader DFU for nrf52832 in IAR?
You can use nRF Connect for Desktop or nrfutil on a PC to perform DFU. We also have the nRF Connect for Mobile app for Android and iOS, which allows you to perform DFU from a mobile device.
Me's need step by step guide, getting started with Nordic's Secure DFU bootloader.
This means that one of the APP_ERROR_CHECK checks are asserting. Take a look at the call stack and try to see which function that generated the assert.
I look call stack.
I got error when function call APP_ERROR_CHECK(err_code);.
YEs, so its ble_dfu_buttonless_async_svci_init that returns a non-zero error code. This is usually due to the bootloader not being flashed to the nRF52. Compile the bootloader example and flash it to the nRF52 in addition to the buttonless dfu example and the S132 softDevice. See the documentation on the bootloader example.
I did the secure bootloader DFU. I attained step 8 in document.
I instal softdevice and secure bootloader to flash nRF52832. After make the ble_app_buttonless_dfu start download and debug but program not start.
If install only softdevice and buttonless dfu then I got error "No bootloader was found".
If install softdevice and bootloader after buttonless dfu then I got not start programs.
Although security bootloader work.
The verification was performed in the following steps:
E1. Generate new firmware.
E2. Generate new DFU .zip package.
E3. Switch the device to DFU mode, do DFU update and verify new image is running.
Help me
If you flash SoftDevice, Bootloader and the Buttonless DFU application, then the device should start in DFU mode. If you want the device to run the application, then you need to generate a bootloader settings page and flash that along with the SD,BL and App.
See https://github.com/NordicSemiconductor/pc-nrfutil#generate-2 on how to generate the settings hex file.
If you flash SoftDevice, Bootloader and the Buttonless DFU application, then the device should start in DFU mode. If you want the device to run the application, then you need to generate a bootloader settings page and flash that along with the SD,BL and App.
See https://github.com/NordicSemiconductor/pc-nrfutil#generate-2 on how to generate the settings hex file.
Thanks bjorn-spockeli.
I get new problem. I mayn't build progect in IAR. Progect Buttonless DFU.
I get errors:
Error[Pe020]: identifier "nrf_dfu_set_peer_data_svci_async_t" is undefined
Error[Pe020]: identifier "nrf_dfu_set_peer_data_svci_async_t" is undefined
Error[Pe020]: identifier "nrf_dfu_set_peer_data_svci_async_t" is undefined 3
Error[Pe020]: identifier "nrf_dfu_peer_data_t" is undefined
Error[Pe020]: identifier "nrf_dfu_peer_data_t" is undefined
Error[Pe020]: identifier "SYSTEM_SERVICE_ATT_SIZE" is undefined
nrf_dfu_peer_data_t is defined in nrf_dfu_types.h - Make sure that you have added this in the include path in IAR ( the file is located in components\libraries\bootloader\dfu)
nrf_dfu_set_peer_data_svci_async_t is defined when NRF_SVCI_ASYNC_FUNC_DECLARE(NRF_DFU_SVCI_SET_PEER_DATA, nrf_dfu_set_peer_data, nrf_dfu_peer_data_t, nrf_dfu_peer_data_state_t); is called nrf_dfu_ble_svci_bond_sharing.h
#define NRF_SVCI_ASYNC_FUNC_DECLARE(svci_num, \
name, \
param_type, \
state_type) \
/*lint --e{19} */ \
NRF_SVCI_ACYNC_FUNC_TYPEDEF(name, param_type, state_type); \
NRF_SVCI_ASYNC_EVENT_FUNC_TYPEDEF(name, state_type); \
\
typedef struct \
{ \
name ## _async_fn_t async_func; \
name ## _event_fn_t sys_evt_handler; \
state_type state; \
} name ## _svci_async_t;
I add file \libraries\bootloader\dfu figure IAR error_1.
I include in main.c following libraries:
#include "nrf_dfu_ble_svci_bond_sharing.h"
#include "nrf_svci_async_function.h"
#include "nrf_svci_async_handler.h"
figure library nrf_dfu_ble_svci_bond_sharing.h
figure library nrf_svci_async_function.h
Errors remained.
I build project.
I added peer_id.c, peer_data_storage.c, peer_database.c, peer_manager.c, pm_buffer.c, pm_mutex.c, security_dispatcher.c, security_manager.c, gatt_cache_manager.c, gatts_cache_manager.c,id_manager.c include in sdk_config.h CRC16_EABLE, FDS_ENABLE, NRF_DFU_BLE_BUTTONLESS_SUPPORTS_BONDS, NRF_SDH_BLE_SERVICE_CHANGED and BLE_DFU_ENABLED and added BL_SETTINGS_ACCESS_ONLY, NRF_DFU_SVCI_ENABLED
NRF_DFU_TRANSPORT_BLE=1
There is a guide or an application note that explains the several steps needed to integrate buttonless DFU to a custom application?
What do I must make for full completions buttonless DFU?
No, unfortunately we do not have such a guide.
I suggest that you compare the project settings of your ble_app_uart project IAR project with the settings of the ble_app_buttonless_dfu IAR project. You will then see which .c files that are nescessary , which paths to .h files that must be added to the include directories path and which Preprocessor definitions that are needed.