nRF9160DK Memory allocation

Hi!
I would to know how to partition the memory of the board and how to make that secure and trusted.
Once I did that there is a way to save some information in that portion of the memory accessible only to the authorized users?

Parents
  • Perfect I read that.
    I know that I can create partitions of the memory but:
    1)How can I create a secure partition?
    2)How can I save strings/files inside a partition?

  • Hi, 

    Gioele said:
    1)How can I create a secure partition?

    The partition manager will handle it. 

    Gioele said:
    2)How can I save strings/files inside a partition?

    The partitions.yml is generated by the partition manager automatically under the build folder.

    The partition manager will generate partitions.yml under the build folder automatically. For example, after building hello_world with "west build -p -b nrf9160dk_nrf9160ns", locate to the build folder and type "ninja partition_manager_report". It will show the memory layout regarding build/partitions.yml:

    +--------------------------------+
    | 0x0: spm (0x10000 - 64kB)      |
    | 0x10000: app (0xf0000 - 960kB) |
    +--------------------------------+
    
      otp (0x2f4 - 756B):
    +------------------------------+
    | 0xff8108: otp (0x2f4 - 756B) |
    +------------------------------+
    
      sram_primary (0x40000 - 256kB):
    +--------------------------------------------------+
    +---0x20000000: sram_secure (0x8000 - 32kB)--------+
    | 0x20000000: spm_sram (0x8000 - 32kB)             |
    +---0x20008000: sram_nonsecure (0x38000 - 224kB)---+
    +---0x20008000: nrf_modem_lib_sram (0x44e8 - 17kB)-+
    | 0x20008000: nrf_modem_lib_ctrl (0x4e8 - 1kB)     |
    | 0x200084e8: nrf_modem_lib_tx (0x2000 - 8kB)      |
    | 0x2000a4e8: nrf_modem_lib_rx (0x2000 - 8kB)      |
    +--------------------------------------------------+
    | 0x2000c4e8: sram_primary (0x33b18 - 206kB)       |
    +--------------------------------------------------+
     


    -Amanda

  • Okay!
    But there is a way to choose the "security level" of the portion or all the portions are equally secure?
    Furthermore, I need to save specific information on personal data. How should I save that?

Reply Children
  • Hi, 

    Gioele said:
    But there is a way to choose the "security level" of the portion or all the portions are equally secure?

    There is no "security level" of the portion. 

    When you build for nrf9160dk_nrf9160, all peripherals memory are in the same "zone". Therefore, peripherals are neither secure or non-secure.

    When you build for nrf9160dk_nrf9160_ns, peripherals and memory are split into two different parts, the non-secure and the secure.


    Gioele said:
    Furthermore, I need to save specific information on personal data. How should I save that?

    See Secure Partition Manager (SPM) for more information on secure and non-secure.

    -Amanda

Related