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

Adding DFU to NCS example on nRF52832

I want to add DFU to the peripheral_hids_keyboard example from the nRF Connect SDK. I added CONFIG_BOOTLOADER_MCUBOOT=y to the prj.conf and specified a key file.

When building in SES, the build fails:

Checking project status
Building ‘/opt/nordic/ncs/v1.5.0/zephyr/misc/empty_file.c’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/misc/generated/syscalls_links/include’
Building ‘zephyr/misc/generated/syscalls_links/include_app_memory’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_audio’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_bluetooth’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_canbus’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_cmsis_rtos_v1’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_cmsis_rtos_v2’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_console’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_crypto’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_data’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_debug’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_devicetree’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dfu’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_disk’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_display’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_fs’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_ipc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_kernel’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_linker’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_logging’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_lorawan’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_mgmt’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_net’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_posix’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_power’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_random’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_settings’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_shell’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_stats’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_storage’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_sys’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_timing’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_toolchain’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_tracing’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_usb’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_zephyr’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_common’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_nios2’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_posix’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_riscv’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_sparc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_x86’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_xtensa’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arc_v2’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arc_v2_mpu’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arc_v2_secureshield’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch64’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_a_r’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_m’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_r’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_a_r_scripts’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_m_mpu’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_m_scripts’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch32_cortex_r_scripts’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_arm_aarch64_scripts’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_riscv_common’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_riscv_riscv-privilege’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_x86_ia32’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_arch_x86_intel64’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_bluetooth_mesh’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_bluetooth_services’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_adc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_bluetooth’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_clock_control’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_console’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_dma’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_ec_host_cmd_periph’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_gpio’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_i2c’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_ieee802154’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_interrupt_controller’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_led’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_modem’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_pcie’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_rtc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_sensor’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_timer’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_uart’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_usb’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_virtualization’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_i2c_slave’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_drivers_pcie_endpoint’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_clock’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_dac’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_display’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_dma’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_espi’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_gpio’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_i2c’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_interrupt-controller’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_led’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_lora’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_memory-controller’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_pcie’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_pinctrl’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_pwm’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_rdc’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_dt-bindings_usb’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_mgmt_mcumgr’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_posix_arpa’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_posix_net’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_posix_netinet’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_posix_sys’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_links/include_usb_class’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/misc/generated/syscalls_subdirs.trigger’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/misc/generated/syscalls_subdirs.trigger’
Building ‘zephyr/misc/generated/syscalls.json’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/misc/generated/syscalls.json’
Building ‘zephyr/misc/generated/struct_tags.json’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/CMakeFiles/parse_syscalls_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/parse_syscalls_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/driver-validation.h’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/include/generated/driver-validation.h’
Building ‘zephyr/CMakeFiles/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/driver_validation_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/kobj-types-enum.h’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/include/generated/kobj-types-enum.h’
Building ‘zephyr/include/generated/otype-to-str.h’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/CMakeFiles/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/kobj_types_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/syscall_list.h’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/include/generated/syscall_list.h’
Building ‘zephyr/CMakeFiles/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/syscall_dispatch.c’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/syscall_list_h_target’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_offsets’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘offsets.c’
Building ‘zephyr/offsets’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/include/generated/offsets.h’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/include/generated/offsets.h’
Building ‘zephyr/CMakeFiles/offsets_h’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/offsets_h’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/zephyr_generated_headers’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__drivers__mpsl__clock_control’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__lib__dk_buttons_and_leds’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__lib__fatal_error’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__lib__multithreading_lock’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__subsys__bluetooth__controller’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_..__nrf__subsys__mpsl’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_app’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_arch__arm__core__aarch32’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_arch__arm__core__aarch32__cortex_m’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_arch__arm__core__aarch32__cortex_m__mpu’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_isr_tables’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_arch__common’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_drivers__entropy’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_drivers__flash’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_drivers__gpio’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_drivers__serial’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_kernel’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_lib__libc__minimal’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_lib__posix’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_modules__hal_nordic’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_soc__arm__common__cortex_m’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_soc__arm__nordic_nrf__nrf52’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_subsys__bluetooth__common’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_subsys__bluetooth__host’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_subsys__net’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_subsys__random’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_zephyr’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/linker.cmd’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/linker.cmd’
Building ‘zephyr/CMakeFiles/linker_script_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/linker_script_target’ from solution ‘build’ in configuration ‘Common’
Building ‘cmake_object_order_depends_target_zephyr_prebuilt’ from solution ‘build’ in configuration ‘Common’
Building ‘app/libapp.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘main.c’
  Archiving ‘libapp.a’
Building ‘zephyr/libzephyr.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘cbprintf.c’
  Compiling ‘crc32_sw.c’
  Compiling ‘crc8_sw.c’
  Compiling ‘crc7_sw.c’
  Compiling ‘crc16_sw.c’
  Compiling ‘fdtable.c’
  Compiling ‘notify.c’
  Compiling ‘hex.c’
  Compiling ‘dec.c’
  Compiling ‘onoff.c’
  Compiling ‘sem.c’
  Compiling ‘timeutil.c’
  Compiling ‘thread_entry.c’
  Compiling ‘rb.c’
  Compiling ‘printk.c’
  Compiling ‘heap-validate.c’
  Compiling ‘heap.c’
  Compiling ‘assert.c’
  Compiling ‘validate_base_addresses.c’
  Compiling ‘validate_enabled_instances.c’
  Compiling ‘configs.c’
  Compiling ‘cbprintf_complete.c’
  Compiling ‘work_q.c’
  Compiling ‘dis.c’
  Compiling ‘addr_utils.c’
  Compiling ‘nvs.c’
  Compiling ‘bas.c’
  Compiling ‘settings_store.c’
  Compiling ‘settings_line.c’
  Compiling ‘settings_init.c’
  Compiling ‘settings.c’
  Compiling ‘flash_map_default.c’
  Compiling ‘settings_nvs.c’
  Compiling ‘flash_map.c’
  Compiling ‘log_minimal.c’
  Compiling ‘reboot.c’
  Compiling ‘policy_residency.c’
  Compiling ‘clock_control_nrf.c’
  Compiling ‘rtt_console.c’
  Compiling ‘gatt_pool.c’
  Compiling ‘nrf_rtc_timer.c’
  Compiling ‘sys_clock_init.c’
  Compiling ‘SEGGER_RTT.c’
  Compiling ‘SEGGER_RTT_zephyr.c’
  Compiling ‘hids.c’
  Compiling ‘ecc.c’
  Compiling ‘aes_decrypt.c’
  Compiling ‘ecc_dh.c’
  Compiling ‘utils.c’
  Compiling ‘cmac_mode.c’
  Compiling ‘aes_encrypt.c’
  Compiling ‘conn_ctx.c’
  Compiling ‘power.c’
  Archiving ‘libzephyr.a’
Building ‘zephyr/arch/common/libisr_tables.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘isr_tables.c’
  Archiving ‘libisr_tables.a’
Building ‘zephyr/arch/common/libarch__common.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘sw_isr_common.c’
  Archiving ‘libarch__common.a’
Building ‘zephyr/arch/arch/arm/core/aarch32/libarch__arm__core__aarch32.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘swap.c’
  Compiling ‘irq_manage.c’
  Compiling ‘fatal.c’
  Compiling ‘nmi.c’
  Compiling ‘thread.c’
  Assembling ‘cpu_idle.S’
  Assembling ‘nmi_on_reset.S’
  Assembling ‘swap_helper.S’
  Compiling ‘prep_c.c’
  Assembling ‘isr_wrapper.S’
  Archiving ‘libarch__arm__core__aarch32.a’
Building ‘zephyr/arch/arch/arm/core/aarch32/cortex_m/libarch__arm__core__aarch32__cortex_m.a’ from solution ‘build’ in configuration ‘Common’
  Assembling ‘vector_table.S’
  Assembling ‘reset.S’
  Assembling ‘exc_exit.S’
  Compiling ‘fault.c’
  Assembling ‘fault_s.S’
  Compiling ‘irq_init.c’
  Compiling ‘thread_abort.c’
  Compiling ‘scb.c’
  Archiving ‘libarch__arm__core__aarch32__cortex_m.a’
Building ‘zephyr/arch/arch/arm/core/aarch32/cortex_m/mpu/libarch__arm__core__aarch32__cortex_m__mpu.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘arm_core_mpu.c’
  Compiling ‘arm_mpu.c’
  Archiving ‘libarch__arm__core__aarch32__cortex_m__mpu.a’
Building ‘zephyr/lib/libc/minimal/liblib__libc__minimal.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘abort.c’
  Compiling ‘atoi.c’
  Compiling ‘strtoul.c’
  Compiling ‘malloc.c’
  Compiling ‘strtol.c’
  Compiling ‘exit.c’
  Compiling ‘string.c’
  Compiling ‘strstr.c’
  Compiling ‘strncasecmp.c’
  Compiling ‘bsearch.c’
  Compiling ‘sprintf.c’
  Compiling ‘fprintf.c’
  Compiling ‘gmtime.c’
  Compiling ‘stdout_console.c’
  Compiling ‘strspn.c’
  Archiving ‘liblib__libc__minimal.a’
Building ‘zephyr/lib/posix/liblib__posix.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘pthread_common.c’
  Compiling ‘nanosleep.c’
  Archiving ‘liblib__posix.a’
Building ‘zephyr/soc/arm/common/cortex_m/libsoc__arm__common__cortex_m.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘arm_mpu_regions.c’
  Archiving ‘libsoc__arm__common__cortex_m.a’
Building ‘zephyr/soc/arm/nordic_nrf/nrf52/libsoc__arm__nordic_nrf__nrf52.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘soc.c’
  Compiling ‘power.c’
  Archiving ‘libsoc__arm__nordic_nrf__nrf52.a’
Building ‘zephyr/subsys/bluetooth/common/libsubsys__bluetooth__common.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘dummy.c’
  Compiling ‘log.c’
  Compiling ‘rpa.c’
  Archiving ‘libsubsys__bluetooth__common.a’
Building ‘zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘hci_ecc.c’
  Compiling ‘settings.c’
  Compiling ‘addr.c’
  Compiling ‘uuid.c’
  Compiling ‘hci_common.c’
  Compiling ‘hci_core.c’
  Compiling ‘buf.c’
  Compiling ‘att.c’
  Compiling ‘l2cap.c’
  Compiling ‘gatt.c’
  Compiling ‘conn.c’
  Compiling ‘keys.c’
  Compiling ‘smp.c’
  Archiving ‘libsubsys__bluetooth__host.a’
Building ‘zephyr/subsys/net/libsubsys__net.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘buf.c’
  Archiving ‘libsubsys__net.a’
Building ‘zephyr/subsys/random/libsubsys__random.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘rand32_entropy_device.c’
  Archiving ‘libsubsys__random.a’
Building ‘zephyr/drivers/gpio/libdrivers__gpio.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘gpio_nrfx.c’
  Archiving ‘libdrivers__gpio.a’
Building ‘zephyr/drivers/flash/libdrivers__flash.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘flash_page_layout.c’
  Compiling ‘flash_ll_softdevice.c’
  Archiving ‘libdrivers__flash.a’
Building ‘zephyr/drivers/serial/libdrivers__serial.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘uart_nrfx_uarte.c’
  Archiving ‘libdrivers__serial.a’
Building ‘zephyr/drivers/entropy/libdrivers__entropy.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘entropy_ll_softdevice.c’
  Archiving ‘libdrivers__entropy.a’
Building ‘modules/nrf/lib/dk_buttons_and_leds/lib..__nrf__lib__dk_buttons_and_leds.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘dk_buttons_and_leds.c’
  Archiving ‘lib..__nrf__lib__dk_buttons_and_leds.a’
Building ‘modules/nrf/lib/multithreading_lock/lib..__nrf__lib__multithreading_lock.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘multithreading_lock.c’
  Archiving ‘lib..__nrf__lib__multithreading_lock.a’
Building ‘modules/nrf/lib/fatal_error/lib..__nrf__lib__fatal_error.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘fatal_error.c’
  Archiving ‘lib..__nrf__lib__fatal_error.a’
Building ‘modules/nrf/subsys/bluetooth/controller/lib..__nrf__subsys__bluetooth__controller.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘hci_driver.c’
  Compiling ‘hci_internal.c’
  Compiling ‘crypto.c’
  Archiving ‘lib..__nrf__subsys__bluetooth__controller.a’
Building ‘modules/nrf/subsys/mpsl/lib..__nrf__subsys__mpsl.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘mpsl_init.c’
  Archiving ‘lib..__nrf__subsys__mpsl.a’
Building ‘modules/nrf/drivers/mpsl/clock_control/lib..__nrf__drivers__mpsl__clock_control.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘nrfx_clock_mpsl.c’
  Archiving ‘lib..__nrf__drivers__mpsl__clock_control.a’
Building ‘modules/hal_nordic/libmodules__hal_nordic.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘system_nrf52.c’
  Compiling ‘nrfx_glue.c’
  Compiling ‘nrfx_nvmc.c’
  Compiling ‘nrfx_gpiote.c’
  Compiling ‘nrfx_ppi.c’
  Archiving ‘libmodules__hal_nordic.a’
Building ‘zephyr/kernel/libkernel.a’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘device.c’
  Compiling ‘errno.c’
  Compiling ‘idle.c’
  Compiling ‘init.c’
  Compiling ‘fatal.c’
  Compiling ‘mem_slab.c’
  Compiling ‘msg_q.c’
  Compiling ‘mailbox.c’
  Compiling ‘kheap.c’
  Compiling ‘pipes.c’
  Compiling ‘sched.c’
  Compiling ‘sem.c’
  Compiling ‘queue.c’
  Compiling ‘mutex.c’
  Compiling ‘system_work_q.c’
  Compiling ‘version.c’
  Compiling ‘thread_abort.c’
  Compiling ‘work_q.c’
  Compiling ‘smp.c’
  Compiling ‘banner.c’
  Compiling ‘condvar.c’
  Compiling ‘thread.c’
  Compiling ‘stack.c’
  Compiling ‘timeout.c’
  Compiling ‘poll.c’
  Compiling ‘timer.c’
  Compiling ‘mempool.c’
  Compiling ‘xip.c’
  Archiving ‘libkernel.a’
Building ‘zephyr/zephyr_prebuilt.elf’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘empty_file.c’
  Linking ‘zephyr_prebuilt.elf’
    B     232960 B     84.56%
    B        64 KB     47.02%
    B         2 KB      7.42%
Building ‘zephyr/linker_pass_final.cmd’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/linker_pass_final.cmd’
Building ‘zephyr/CMakeFiles/linker_pass_final_script_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/linker_pass_final_script_target’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/isr_tables.c’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/isr_tables.c’
Building ‘cmake_object_order_depends_target_zephyr_final’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/zephyr.elf’ from solution ‘build’ in configuration ‘Common’
  Compiling ‘empty_file.c’
  Compiling ‘isr_tables.c’
  Linking ‘zephyr.elf’
  Post-link command 
Building ‘zephyr/zephyr.hex’ from solution ‘build’ in configuration ‘Common’
Building ‘zephyr/mcuboot_primary_app.hex’ from solution ‘build’ in configuration ‘Common’
  Combining ‘zephyr/mcuboot_primary_app.hex’
Building ‘CMakeFiles/mcuboot_primary_app_hex’ from solution ‘build’ in configuration ‘Common’
Building ‘mcuboot_primary_app_hex’ from solution ‘build’ in configuration ‘Common’
Building ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-mkdir’ from solution ‘build’ in configuration ‘Common’
  Combining ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-mkdir’
Building ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-download’ from solution ‘build’ in configuration ‘Common’
  Combining ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-download’
Building ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-update’ from solution ‘build’ in configuration ‘Common’
  Combining ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-update’
Building ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-patch’ from solution ‘build’ in configuration ‘Common’
  Combining ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-patch’
Building ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-configure’ from solution ‘build’ in configuration ‘Common’
  Combining ‘modules/mcuboot/mcuboot_subimage-prefix/src/mcuboot_subimage-stamp/mcuboot_subimage-configure’
Building ‘mcuboot/zephyr/zephyr.hex’ from solution ‘build’ in configuration ‘Common’
  Combining ‘mcuboot/zephyr/zephyr.hex’
    zephyr/zephyr_prebuilt.elf 
    
    B        48 KB     68.38%
    B        64 KB     36.33%
            IDT_LIST:          72 B         2 KB      3.52/opt/nordic/ncs/v1.5.0/toolchain/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: app/libapp.a(keys.c.obj):(.rodata.bootutil_keys+0x0): undefined reference to `rsa_pub_key'
    /opt/nordic/ncs/v1.5.0/toolchain/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld: app/libapp.a(keys.c.obj):(.rodata.bootutil_keys+0x4): undefined reference to `rsa_pub_key_len'
    ld returned 1 exit status
    build stopped: subcommand failed.
Build failed

When building with cmake directly it builds ok. But after flashing, the example does not run. Is there an example of BLE DFU with NCS on nRF52832 or other boards?

  • Hi Edvin,

    1. No I haven't, but I'm sure that would work – although as you recognize, isn't a proper solution that can easily be shared with other developers etc.

    2,3,4 ok thanks

    5. No I don't, but I'm just pointing it out as the App clearly expects SMP UUID to be advertised by default as the switch is hidden, and it doesn't seem to be advertised by default, so there may be a bug there

    6. Yes this is without changing the private key. I can't build without using the default key. I tried creating an app_update.bin with a later CONFIG_FW_INFO_FIRMWARE_VERSION but the results are the same (I think).

    • First attempt on the "Image" tab on nRF Connect Device Manager using "test and confirm" seems successful (it says "Upload complete") however this happens almost instantly which seems too fast to transfer 200+kb, and all I get from the firmware is "I: Swap type: none", it doesn't appear to restart.
    • The "start" button is then disabled so I can't try again
    • On the "Files" tab I can try to upload the firmware image (not sure if this is the same thing) but then it says "Remote error: Unrecognized (7)".

    7. Thanks

    8. Already in touch, thanks

  • nrbrook said:
    5. No I don't, but I'm just pointing it out as the App clearly expects SMP UUID to be advertised by default as the switch is hidden, and it doesn't seem to be advertised by default, so there may be a bug there

     What app are you using that applies this filter? I am using nRF Connect for iOS. If you are using nRF Connect for Android, then it must be different. Or are you using nRF Toolbox -> DFU? In that case, I can recommend nRF Connect for Android/iOS, as you can connect to all devices, interact with all of it's characteristics, and perform DFU.

    Let me get back to question 6. This is about the same that I struggled with when I tested this in the peripheral_uart example, and I don't know how to work around it yet. I just wanted to answer this before I get the time to look into this again. I will leave this ticket open until I have had the chance to look into it.

    BR,

    Edvin

  • I actually had no idea that this app existed. The more you know... Slight smile

    Ok, I see. Without having tested this one, I am not sure it will replace my goto: nRF Connect for iOS, but I will give it a try. I guess this is targeting only DFU, while the nRF Connect for iOS is a more all in one app.

    I'll try to look into the last questions later today.

    BR,

    Edvin

Related