.. _hello_world:

Hello World DFU
################

BLE DFU on nrf52833dk
**********************
Based on:
https://devzone.nordicsemi.com/guides/nrf-connect-sdk-guides/b/software/posts/ncs-dfu

Added:
./child_image/mcuboot/boards/nrf52833dk_nrf52833.conf

When working with multi-image build (application + mcuboot child image) then the 
partitions you see in the dts (ex. nrf52833dk_nrf52833.dts) file are not used, instead 
the partition manager will be used to handle the partitioning.  

CONFIG_PM_PARTITION_SIZE_MCUBOOT defines the size of the mcuboot size.  The partition 
manager handles everything else.  It uses the "swap-move" process.

run the command "west build -t partition_manager_report"

+----------------------------------------------------------+
| 0x0: mcuboot (0x6000 - 24kB)                             |
+---0x6000: mcuboot_primary (0x3d000 - 244kB)--------------+
| 0x6000: mcuboot_pad (0x200 - 512B)                       |
+---0x6200: mcuboot_primary_app (0x3ce00 - 243kB)----------+
| 0x6200: app (0x3ce00 - 243kB)                            |
+----------------------------------------------------------+
| 0x43000: mcuboot_secondary (0x3d000 - 244kB)             |
+----------------------------------------------------------+


The "key" directory is for RSA security.  No idea how to implement...yet.

Update 3/16/2023
This is working with NCS 2.2.0.  However, there is definitely an issue
with either NCS 2.2.0 or Device Manager iOS app version 1.3.

If "Test and Confirm" is used from the app to dowload, it downloads and
outputs "Hello World 2".  However when the nRF52 is reset, 10 seconds 
elapse and "Hello World 1" is output.  If "Confirm Only" is used in the
app everything works correctly.  Devzone case is opened:
https://devzone.nordicsemi.com/support/304587