ZMS on nRF54L15

Hi, I have developed a stable program on the nRF52840 board, and now I'm transporting all the code, and trying to make it compatible with an nRF54L15 board. 

I used ZMS to assist with managing flash storage, but it isn't working so well on the 54L15. 

I used to face an issue with having to rebuild when switching the project directory. However, this was resolved by adding the pm_static.yml file below:

zms_storage:
  address: 0xfa000
  end_address: 0x100000
  placement:
    before:
    - end
  region: flash_primary
  size: 0x6000

On the 54L15 board, I tried to run without the pm_static.yml file, and it builds fine, but zms_mount(&fs) fails. Why is this? 

I added the pm_static.yml file above to my new project, but my build fails and I get an error of having 2 gaps in flash. How should I resolve this? 

Below is the partitions.yml file produced without a pm_static.yml file:

app:
  address: 0x48000
  end_address: 0x15d000
  region: flash_primary
  size: 0x115000
nonsecure_storage:
  address: 0x15d000
  end_address: 0x165000
  orig_span: &id001
  - settings_storage
  - nvs_storage
  region: flash_primary
  size: 0x8000
  span: *id001
nvs_storage:
  address: 0x15d000
  end_address: 0x163000
  inside:
  - nonsecure_storage
  placement:
    before:
    - settings_storage
  region: flash_primary
  size: 0x6000
settings_storage:
  address: 0x163000
  end_address: 0x165000
  inside:
  - nonsecure_storage
  placement:
    after:
    - app
    before:
    - end
  region: flash_primary
  size: 0x2000
sram_nonsecure:
  address: 0x20013000
  end_address: 0x2002f000
  orig_span: &id002
  - sram_primary
  region: sram_primary
  size: 0x1c000
  span: *id002
sram_primary:
  address: 0x20013000
  end_address: 0x2002f000
  region: sram_primary
  size: 0x1c000
sram_secure:
  address: 0x20000000
  end_address: 0x20013000
  orig_span: &id003
  - tfm_sram
  region: sram_primary
  size: 0x13000
  span: *id003
tfm:
  address: 0x0
  end_address: 0x40000
  placement:
    before:
    - app
  region: flash_primary
  size: 0x40000
tfm_its:
  address: 0x40000
  end_address: 0x42000
  inside:
  - tfm_storage
  placement:
    before:
    - tfm_otp_nv_counters
  region: flash_primary
  size: 0x2000
tfm_nonsecure:
  address: 0x48000
  end_address: 0x15d000
  orig_span: &id004
  - app
  region: flash_primary
  size: 0x115000
  span: *id004
tfm_otp_nv_counters:
  address: 0x42000
  end_address: 0x44000
  inside:
  - tfm_storage
  placement:
    before:
    - tfm_ps
  region: flash_primary
  size: 0x2000
tfm_ps:
  address: 0x44000
  end_address: 0x48000
  inside:
  - tfm_storage
  placement:
    before:
    - tfm_nonsecure
  region: flash_primary
  size: 0x4000
tfm_secure:
  address: 0x0
  end_address: 0x40000
  orig_span: &id005
  - tfm
  region: flash_primary
  size: 0x40000
  span: *id005
tfm_sram:
  address: 0x20000000
  end_address: 0x20013000
  inside:
  - sram_secure
  placement:
    after:
    - start
  region: sram_primary
  size: 0x13000
tfm_storage:
  address: 0x40000
  end_address: 0x48000
  orig_span: &id006
  - tfm_ps
  - tfm_its
  - tfm_otp_nv_counters
  region: flash_primary
  size: 0x8000
  span: *id006

I will appreciate any help, thanks!

Parents Reply Children
Related