CONFIG_DFU_MULTI_IMAGE=y CONFIG_BOOTLOADER_MCUBOOT=y CONFIG_DFU_TARGET=y CONFIG_NCS_MCUBOOT_IN_BUILD=y CONFIG_MCUBOOT_IMG_MANAGER=y CONFIG_MCUBOOT_BOOTUTIL_LIB=y CONFIG_BT=y CONFIG_BT_DEBUG_LOG=y CONFIG_BT_SMP=y CONFIG_BT_SIGNING=y CONFIG_BT_PERIPHERAL=y CONFIG_BT_DIS=n CONFIG_BT_DIS_PNP=n CONFIG_BT_BAS=n CONFIG_BT_HRS=n CONFIG_BT_NUS=n CONFIG_BT_DEVICE_NAME="BT TEST DEV" CONFIG_BT_DEVICE_APPEARANCE=0 CONFIG_BT_DEVICE_NAME_DYNAMIC=y CONFIG_BT_DEVICE_NAME_MAX=65 CONFIG_HEAP_MEM_POOL_SIZE= 1024 CONFIG_BT_KEYS_OVERWRITE_OLDEST=y CONFIG_BT_SETTINGS=n # Drivers and peripherals CONFIG_ADC=y CONFIG_I2C=y CONFIG_WATCHDOG=n #CONFIG_PINMUX=n CONFIG_PINCTRL=y CONFIG_SPI=n CONFIG_GPIO=y CONFIG_SERIAL=y CONFIG_UART_ASYNC_API=y # Interrupts CONFIG_DYNAMIC_INTERRUPTS=n CONFIG_IRQ_OFFLOAD=n # Memory protection CONFIG_THREAD_CUSTOM_DATA=n CONFIG_FPU=n # Boot CONFIG_BOOT_BANNER=n CONFIG_BOOT_DELAY=0 # Console # CONFIG_CONSOLE=n CONFIG_STDOUT_CONSOLE=n # CONFIG_PRINTK=n CONFIG_EARLY_CONSOLE=n # Build CONFIG_SIZE_OPTIMIZATIONS=y # ARM # In order to correctly tune the stack sizes for the threads the following # Configurations can enabled to print the current use: CONFIG_THREAD_NAME=n CONFIG_THREAD_ANALYZER=n CONFIG_THREAD_ANALYZER_AUTO=n CONFIG_THREAD_ANALYZER_RUN_UNLOCKED=n CONFIG_THREAD_ANALYZER_USE_PRINTK=n # CONFIG_THREAD_ANALYZER_AUTO_INTERVAL=20 CONFIG_CONSOLE=y CONFIG_USE_SEGGER_RTT=y CONFIG_RTT_CONSOLE=y # CONFIG_SERIAL=n CONFIG_PRINTK=y # Example output of thread analyzer # BT RX : STACK: unused 576 usage 448 / 1024 (43 %); CPU: 0 % # BT RX pri : STACK: unused 260 usage 188 / 448 (41 %); CPU: 0 % # BT ECC : STACK: unused 256 usage 888 / 1144 (77 %); CPU: 1 % # BT TX : STACK: unused 296 usage 344 / 640 (53 %); CPU: 0 % # thread_analyzer : STACK: unused 128 usage 384 / 512 (75 %); CPU: 1 % # sysworkq : STACK: unused 856 usage 168 / 1024 (16 %); CPU: 0 % # logging : STACK: unused 232 usage 536 / 768 (69 %); CPU: 0 % # idle 00 : STACK: unused 208 usage 48 / 256 (18 %); CPU: 97 % # main : STACK: unused 576 usage 448 / 1024 (43 %); CPU: 0 % # CONFIG_BT_RX_STACK_SIZE=1024 # CONFIG_BT_CTLR_RX_PRIO_STACK_SIZE=448 # CONFIG_BT_HCI_TX_STACK_SIZE_WITH_PROMPT=y # CONFIG_BT_HCI_TX_STACK_SIZE=640 # CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=512 # CONFIG_MPSL_WORK_STACK_SIZE=512 # CONFIG_IDLE_STACK_SIZE=128 # CONFIG_MAIN_STACK_SIZE=640 # CONFIG_ISR_STACK_SIZE=1024 # CONFIG_BT_NUS_THREAD_STACK_SIZE=512 # Disable features not needed CONFIG_TIMESLICING=n CONFIG_MINIMAL_LIBC_MALLOC=n CONFIG_LOG=y CONFIG_LOG_MODE_MINIMAL=y # Disable Bluetooth features not needed # CONFIG_BT_DEBUG_NONE=y CONFIG_BT_ASSERT=n CONFIG_BT_DATA_LEN_UPDATE=y CONFIG_BT_PHY_UPDATE=n CONFIG_BT_GATT_CACHING=n CONFIG_BT_GATT_SERVICE_CHANGED=n CONFIG_BT_GAP_PERIPHERAL_PREF_PARAMS=n CONFIG_BT_SETTINGS_CCC_LAZY_LOADING=n CONFIG_BT_HCI_VS_EXT=n # Disable Bluetooth controller features not needed CONFIG_BT_CTLR_PRIVACY=n CONFIG_BT_CTLR_PHY_2M=n # Reduce Bluetooth buffers # CONFIG_BT_BUF_EVT_DISCARDABLE_COUNT=1 # CONFIG_BT_BUF_EVT_DISCARDABLE_SIZE=45 # CONFIG_BT_BUF_ACL_RX_COUNT=2 # CONFIG_BT_BUF_EVT_RX_COUNT=2 # CONFIG_BT_CONN_TX_MAX=2 # CONFIG_BT_L2CAP_TX_BUF_COUNT=2 # CONFIG_BT_CTLR_RX_BUFFERS=1 # CONFIG_BT_BUF_ACL_TX_COUNT=3 # CONFIG_BT_BUF_ACL_TX_SIZE=27 # Enable DK LED and Buttons library CONFIG_DK_LIBRARY=y # Power CONFIG_BOARD_ENABLE_DCDC=y CONFIG_PM=y CONFIG_PM_DEVICE=y CONFIG_PM_DEVICE_RUNTIME=y # Enable bonding CONFIG_FLASH=y CONFIG_FLASH_PAGE_LAYOUT=y CONFIG_FLASH_MAP=y CONFIG_NVS=y CONFIG_SETTINGS=y CONFIG_REBOOT=y CONFIG_MPU_ALLOW_FLASH_WRITE=y # CONFIG_BT_SMP_SC_ONLY=y CONFIG_IPC_SERVICE=n CONFIG_BT_RPMSG=n CONFIG_NRF_802154_SER_HOST=n CONFIG_GPIO_AS_PINRESET=y CONFIG_PINCTRL=y CONFIG_BT_CTLR=y CONFIG_BT_SMP_ALLOW_UNAUTH_OVERWRITE=y CONFIG_BT_MAX_CONN=5 CONFIG_BT_MAX_PAIRED=5 CONFIG_I2C_LOG_LEVEL_OFF=y CONFIG_ASSERT=n #For development only CONFIG_BT_BONDABLE=n CONFIG_HEAP_MEM_POOL_SIZE= 1024 CONFIG_HEAP_MEM_POOL_SIZE= 1024
I add the following line to my prj.conf file and get:
CONFIG_MCUBOOT_IMG_MANAGER =y
CONFIG_MCUBOOT_IMG_MANAGER was assigned the value y, but got the value n. Missing dependencies:
<choice>
And the linker doesn't find the function with
#include <zephyr/dfu/mcuboot.h>
and I get the following error:
undefined reference to `mcuboot_swap_type'
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.