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

nRF9160 SRAM Partition changes

Hello,

I would like to modify the current default SRAM partition from 64k (secure), 64k (bsd), 128k (non-secure).  I would like to change it as follows; 8k (secure), 8k (bsd), 240k (non-secure).  The secure_boot application is only using around 4k now, so 8k is more than enough.  Will the bsd be ok at 8k? What other potential problems should I look out for?

Thanks,

JL

Parents
  • Hi JL,

    Update 20.01.2020:

    Check the updated BSDLIB documentation for the latest information.

    "The secure domain memory is divided into segments of 8 KB RAM blocks. Because the size of the BSD library block is 0xC020 bytes, it is not aligned to full 8 KB blocks. It occupies six blocks and a small part of a seventh block.

    The leftover memory in that seventh block (8160 bytes, starting at address 0x2001 c020) is configured as non-secure, but it can be used by the application."




    Old answer:
    The BSD Library has an absolute position and is fixed at starting address 64K and size of 64K (0x20010000 – 0x2001FFFF).

    This cannot be moved.

    However, all other partitions might be moved. 

    Note: The BSD memory always has to be Non-Secure configured.


    You can find the "Default flash planning"  in the file: [/ncs/zephyr/boards/arm/nrf9160_pca10090/nrf9160_pca10090_partition_conf.dts]

    There it's also documented that "64 kB SRAM reserved for and used by the BSD socket library."

    Best regards,
    Martin L.

  • Hi Martin,

    Is it possible then to have discontiguous Non-Secure areas in SRAM to be used by the application?

    &sram0 {

    reg = <0x20000000 DT_SIZE_K(8)>;

    };

    &sram0_ns {

    reg = <0x20002000 DT_SIZE_K(56)>;

    };

    &sram0_bsd {

    reg = <0x20010000 DT_SIZE_K(64)>;

    };

    &sram1_ns {

    reg = <0x20020000 DT_SIZE_K(128)>;

    };

    Thanks,

    JL

Reply Children
No Data
Related