Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs
This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

SDK 15.3.0 missing bootloader definitions for NRF52832_XXAB (QFAB)

I have been working to get the secure_bootloader examples to run on the NRF52832_XXAB (QFAB with 32kB RAM and 256kB Flash).

Apart from the fact that I had to change the RAM and FLASH sizes and bootloader_settings_page and mbr_params_page locations in the linker script:

FLASH (rx) : ORIGIN = 0x38000, LENGTH = 0x6000
RAM (rwx) : ORIGIN = 0x20003278, LENGTH = 0x4d88
mbr_params_page (r) : ORIGIN = 0x0003E000, LENGTH = 0x1000
bootloader_settings_page (r) : ORIGIN = 0x0003F000, LENGTH = 0x1000


The definitions of BOOTLOADER_SETTINGS_ADDRESS and NRF_MBR_PARAMS_PAGE_ADDRESS in the SDK are missing for NRF52832_XXAB, i needed to add the following patch:

diff -Nurb nRF5_SDK_15.3.0_59ac345/components/libraries/bootloader/dfu/nrf_dfu_types.h nRF5_SDK_15.3.0_59ac345-mod/components/libraries/bootloader/dfu/nrf_dfu_types.h
--- nRF5_SDK_15.3.0_59ac345/components/libraries/bootloader/dfu/nrf_dfu_types.h 2019-02-14 17:24:58.000000000 +0000
+++ nRF5_SDK_15.3.0_59ac345-mod/components/libraries/bootloader/dfu/nrf_dfu_types.h 2019-04-23 15:54:10.523901768 +0100
@@ -65,7 +65,6 @@
extern "C" {
#endif

-
#define INIT_COMMAND_MAX_SIZE 512 /**< Maximum size of the init command stored in dfu_settings. */
#define INIT_COMMAND_MAX_SIZE_v1 256 /**< Maximum size of the init command in settings version 1. */

@@ -99,6 +98,8 @@
#define BOOTLOADER_SETTINGS_ADDRESS (0x0002F000UL)
#elif defined( NRF52832_XXAA )
#define BOOTLOADER_SETTINGS_ADDRESS (0x0007F000UL)
+#elif defined( NRF52832_XXAB )
+ #define BOOTLOADER_SETTINGS_ADDRESS (0x0003F000UL)
#elif defined(NRF52840_XXAA)
#define BOOTLOADER_SETTINGS_ADDRESS (0x000FF000UL)
#else
@@ -121,6 +122,8 @@
#define NRF_MBR_PARAMS_PAGE_ADDRESS (0x000FE000UL)
#elif defined(NRF52832_XXAA)
#define NRF_MBR_PARAMS_PAGE_ADDRESS (0x0007E000UL)
+#elif defined(NRF52832_XXAB)
+ #define NRF_MBR_PARAMS_PAGE_ADDRESS (0x0003E000UL)
#elif defined(NRF52810_XXAA)
#define NRF_MBR_PARAMS_PAGE_ADDRESS (0x0002E000UL)
#elif defined(NRF52811_XXAA)

diff -Nurb nRF5_SDK_15.3.0_59ac345/components/libraries/bootloader/dfu/nrf_dfu_types.h nRF5_SDK_15.3.0_59ac345-mod/components/libraries/bootloader/dfu/nrf_dfu_types.h
--- nRF5_SDK_15.3.0_59ac345/components/libraries/bootloader/dfu/nrf_dfu_types.h	2019-02-14 17:24:58.000000000 +0000
+++ nRF5_SDK_15.3.0_59ac345-mod/components/libraries/bootloader/dfu/nrf_dfu_types.h	2019-04-23 15:54:10.523901768 +0100
@@ -65,7 +65,6 @@
 extern "C" {
 #endif
 
-
 #define INIT_COMMAND_MAX_SIZE      512 /**< Maximum size of the init command stored in dfu_settings. */
 #define INIT_COMMAND_MAX_SIZE_v1   256 /**< Maximum size of the init command in settings version 1. */
 
@@ -99,6 +98,8 @@
     #define BOOTLOADER_SETTINGS_ADDRESS     (0x0002F000UL)
 #elif defined( NRF52832_XXAA )
     #define BOOTLOADER_SETTINGS_ADDRESS     (0x0007F000UL)
+#elif defined( NRF52832_XXAB )
+    #define BOOTLOADER_SETTINGS_ADDRESS     (0x0003F000UL)
 #elif defined(NRF52840_XXAA)
     #define BOOTLOADER_SETTINGS_ADDRESS     (0x000FF000UL)
 #else
@@ -121,6 +122,8 @@
     #define NRF_MBR_PARAMS_PAGE_ADDRESS         (0x000FE000UL)
 #elif defined(NRF52832_XXAA)
     #define NRF_MBR_PARAMS_PAGE_ADDRESS         (0x0007E000UL)
+#elif defined(NRF52832_XXAB)
+    #define NRF_MBR_PARAMS_PAGE_ADDRESS         (0x0003E000UL)
 #elif defined(NRF52810_XXAA)
     #define NRF_MBR_PARAMS_PAGE_ADDRESS         (0x0002E000UL)
 #elif defined(NRF52811_XXAA)

Parents Reply Children
No Data
Related