I'm working on an application using ITS. Since I'm currently having difficulty getting non-minimal TFM to work on the nrf9160, I have temporarily switched to not use TF-M with the 9160.
I'm using NCS 2.3.0 with Zephyr ITS with Settings/NVS underneath.
Here are the conf settings:
ONFIG_PSA_NATIVE_ITS=y
CONFIG_PSA_CRYPTO_DRIVER_OBERON=n
CONFIG_PSA_CRYPTO_DRIVER_CC3XX=y
CONFIG_NVS=y
CONFIG_SETTINGS=y
(I can provide complete project build privately)
I am finding 2 issues:
1) The data saved in the first call to psa_its_set is not the same when I read it back with psa_its_get. All the operations succeed, but the data is changed. I have bypassed the issue by always calling psa_its_get immediately after psa_its_set and if the data doesn't match I retry the operation.
2) I'm finding after a reset that the data is no saved. During the boot-up I see the following messages:
[00:00:00.258,544] <inf> fs_nvs: No GC Done marker found: restarting gc
[00:00:00.434,448] <inf> fs_nvs: 2 Sectors of 4096 bytes
[00:00:00.434,478] <inf> fs_nvs: alloc wra: 0, fe8
[00:00:00.434,478] <inf> fs_nvs: data wra: 0, 0
Is there some sort of NVS initialization that is necessary to make the zephyr ITS on Settings/NVS work?