Hi,
We want to upgrade our product from SDK9 to SDK12. I already check the below questions.
I think maybe we can upgrade the SDK9 bootloader allocated size from 16K to 24K and then upgrade to SDK12 bootloader+SD.
But when I try to upgrade the SDK9 bootloader allocated size from 16K to 24K. Follow the question 68698, I modify the dfu_gcc_nrf51.ld and dfu_types.h
at dfu_gcc_nrf51.ld:
from FLASH (rx) : ORIGIN = 0x3C000, LENGTH = 0x3C00
to FLASH (rx) : ORIGIN = 0x39000, LENGTH = 0x6C00
at dfu_types.h:
from #define BOOTLOADER_REGION_START 0x0003C000
to #define BOOTLOADER_REGION_START 0x00039000
If I use the nRFgo Studio to update the bootloader(24K) and SD, the bootloader(24K) can boot up success.
But When I use the bootloader(16K) upgrade to bootloader(24K) by DFU, after the DFU the bootloader(24K) can't boot up success.
I have check the 0x10001014, I think the NRF_UICR_BOOT_START_ADDRESS not correct to make the bootloader(24K) which upgrade from bootloader(16K) DFU can't boot up success.
//at the bootloader(16K)
nrfjprog --memrd 0x10001000 --n 32
0x10001000: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
0x10001010: FFFFFFFF 0003C000 FFFFFFFF FFFFFFFF |................|
//at the bootloader(24K)
nrfjprog --memrd 0x10001000 --n 32
0x10001000: FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF |................|
0x10001010: FFFFFFFF 00039000 FFFFFFFF FFFFFFFF |................|
So my question are:
-
How do I upgrade the bootloader to make the allocated size become 24K by DFU?
-
We want to upgrade from SDK9 to SDK12 by DFU. This procedure upgrade the SDK9 bootloader allocated size from 16K to 24K and then upgrade to SDK12 bootloader+SD. Is it possible? Or Can you provide the correct procedure to upgrade from SDK9 to SDK12 by DFU?
Please give us your suggestions. Thanks.