This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

SD 140 7.0.1 flash size

nrf_sdm.h:144 

#define SD_FLASH_SIZE 0x26000
 This is *wrong* value and causes assert at startup. It should be 
#define SD_FLASH_SIZE 0x27000
 as written in release notes.

Parents
  • Hi,

    This is not actually a bug. The SoftDevice itself is 0x26000, sine the first 0x1000 is used by the MBR. This is described in the API documentation for SD_FLASH_SIZE:

    /** @brief Defines the amount of flash that is used by the SoftDevice.
     *         Add @ref MBR_SIZE to find the first available flash address when the SoftDevice is installed
     *         just above the MBR (the usual case).
     */
    #define SD_FLASH_SIZE 0x26000

    You can find the definition of MBR_SIZE in nrf_mbr.h:

    /** @brief The size that must be reserved for the MBR when a SoftDevice is written to flash.
    This is the offset where the first byte of the SoftDevice hex file is written.*/
    #define MBR_SIZE                (0x1000)

  • FLASH (rx) : ORIGIN = 0x26000, LENGTH = 0x52000

    But if my linker file had 0x26000 when using SDK 15, will it be possible to do OTA update to new Soft Device and new SDK? I remember that linker file can not be changed and must stay the same when doing OTA update.

Reply Children
No Data
Related