Add mcuboot to connect SDK BLE sample "central and peripheral"

Hi,

I'm trying to add BLE DFU to the nrf connect SDK sample "central and peripheral" for the nRF52832

I've done the following:

Add configurations to proj.conf


# Enable mcumgr.
CONFIG_MCUMGR=y

# Enable most core commands.
CONFIG_MCUMGR_CMD_IMG_MGMT=y
CONFIG_MCUMGR_CMD_OS_MGMT=y

# Ensure an MCUboot-compatible binary is generated.
CONFIG_BOOTLOADER_MCUBOOT=y

# Allow for large Bluetooth data packets.
CONFIG_BT_L2CAP_TX_MTU=252
CONFIG_BT_BUF_ACL_RX_SIZE=256

# Enable the Bluetooth (unauthenticated) and shell mcumgr transports.
CONFIG_MCUMGR_SMP_BT=y
CONFIG_MCUMGR_SMP_BT_AUTHEN=n

# Some command handlers require a large stack.
CONFIG_SYSTEM_WORKQUEUE_STACK_SIZE=4096

Created a directory child_image with an empty mcuboot.conf file

When I build it with the command:

west build -b nrf52dk_nrf52832 --pristine

I get the following error:

zephyr/zephyr_pre0.elf section `text' will not fit in region
FLASH' region `FLASH' overflowed by 27752 bytes

Looking at the resulting size with arm-none-eabi-size of the mcuboot zephyr.elf i get:
text  data bss   dec   hex  filename
33082 500  23545 57127 df27 zephyr.elf

And the sizes for the central and peripheral without mcuboot:
Memory region Used Size   Region Size  %age Used
FLASH:        248516 B    512 KB       47.40%

Is there some memory allocated for the DFU slot which causes the overflow?

Thanks in advance,
Best Regards, Andreas

Parents Reply
  • Thanks for useful information. I need couple of clarification:
    1. CONFIG_BT_LL_SOFTDEVICE is not well documented, could you explain this feature what enable/disable

    2. I run the code with the central_and_peripheral_hr example. When the CONFIG_BT_LL_SOFTDEVICE is disable the dk stop to work as central but carry on working good as peripheral. is there an exaplnation to that? thanks

Children
Related