Hi,
We have a few questions regarding the pm_static.yml file that's used for defining flash partitions in zephyr.
Our main questions are regarding alignment; we've created a partition "device_details_partition" where we plan on writing configuration values at manufacturing using nrfjprog via an external nRF53DK.
These values should be permanent for the lifecycle of the device and will only ever be read in the application firmware, never overwritten. "device_details_partition" needs to have static memory locations so we know where to write/read.
The "device_details_partition" is only 16 bytes long so we're unable to align it to 4kb, we've defined it as follows;
Fullscreen
1
2
3
4
5
device_details_partition:
· address: 0xf3FF0 ·# New address, originally where user_partition started
· end_address: 0xf4000 ·# Size is 0x10
· region: flash_primary
· size: 0x10
Adding this partition has meant we've had to reduce the size of some other partitions including mcuboot_primary, mcuboot_primary_app and app.
Some questions we had about this implementation:
Some questions we had about this implementation:
- Could having the size and end address of mcuboot_primary and mcuboot_primary_app not 4kb aligned cause any issues?
- Is there a better way we can create "device_details_partition"? A section of flash which can be flashed externally.
Below is our full pm_static.yml
Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
user_partition: # NVS Storage
address: 0xf6000
end_address: 0xf8000
placement:
after:
- settings_storage
region: flash_primary
size: 0x2000
device_details_partition:
address: 0xf3FF0 # New address
end_address: 0xf4000 # Size is 0x10
region: flash_primary
size: 0x10
app:
address: 0x4c200
end_address: 0xf3FF0 # Decreased by 0x10
region: flash_primary
size: 0xa7df0
external_flash:
address: 0x128000
end_address: 0x200000
Thanks,