DW3_QM33_SDK_1.1.1 QANI Type2AB 52840.ld file error?

looking thru the binary layout file, comparing QANI and UCI, I see this error for the 52840 in the QANI project
DW3_QM33_SDK_1.1.1/SDK/Firmware/Projects/FreeRTOS/QANI/Type2AB_EVB/nRF52840.ld

    CALIB_SHA (rw) : ORIGIN = 0x0007B000, LENGTH = 4K
    CALIB (rw)     : ORIGIN = 0x0007C000, LENGTH = 4K
    /* Memory area from 0x0007D00 to 0x00080000 is reserved for FDS of Nordic.
     * The size of this area can be adjusted with parameters FDS_VIRTUAL_PAGES
     * and FDS_VIRTUAL_PAGE_SIZE in sdk_config.h. */

two things, I think the comment is wrong, 7D00 is WAY down… I think it should be 7D000
and I guess this is a hardware restriction if you want to use FDS, you loose a lot of flash space for code.

Hello,

  1. Yes you are correct that the comment is supposed to indicate 0x0007D000
  2. If you look at sdk_config.h you can see the configuration for FDS (copied below for convenience). We can see that using 3 virtual flash pages which are each 4kB and therefore we are using 12kB total. This is also equal to 0x00080000 - 0x0007D000 = 0x3000 = 12288 = 12kB
// <e> FDS_ENABLED - fds - Flash data storage module
//==========================================================
#ifndef FDS_ENABLED
#define FDS_ENABLED 1
#endif
// <h> Pages - Virtual page settings

// <i> Configure the number of virtual pages to use and their size.
//==========================================================
// <o> FDS_VIRTUAL_PAGES - Number of virtual flash pages to use.
// <i> One of the virtual pages is reserved by the system for garbage collection.
// <i> Therefore, the minimum is two virtual pages: one page to store data and one page to be used by the system for garbage collection.
// <i> The total amount of flash memory that is used by FDS amounts to @ref FDS_VIRTUAL_PAGES * @ref FDS_VIRTUAL_PAGE_SIZE * 4 bytes.

#ifndef FDS_VIRTUAL_PAGES
#define FDS_VIRTUAL_PAGES 3
#endif

// <o> FDS_VIRTUAL_PAGE_SIZE  - The size of a virtual flash page.


// <i> Expressed in number of 4-byte words.
// <i> By default, a virtual page is the same size as a physical page.
// <i> The size of a virtual page must be a multiple of the size of a physical page.
// <1024=> 1024
// <2048=> 2048

#ifndef FDS_VIRTUAL_PAGE_SIZE
#define FDS_VIRTUAL_PAGE_SIZE 1024
#endif

Yes, I saw that.

Shame to chop off the extra flash on the larger processors 52840 vs the 52833

the flash on 52840 goes to 000FFFFF, so you lost access to half.
FDS could be the top of flash, instead of the same as the 52833.. I know, keeping the models the same has SOME value..