Hi,
I'm working on a project use HSE APIs using S32K358.
My project requires multiple NVM keyslots.
Before using these keys, the key catalog must be formatted with requested key size, key type, key flags.
I can check those params using HSE_SRV_ID_GET_KEY_INFO service. But it returns zero for size, type, flags after key catalog formatted.
Is there any solution to check the current key catalog information?
Thanks a lot.
I can't see such option. Service HSE_SRV_ID_FORMAT_KEY_CATALOGS obviously requires both pointers to hseKeyGroupCfgEntry_t structures (i.e. to NVM and RAM catalog) in hseFormatKeyCatalogsSrv_t.
But I can't see a reason to do that anyway. RAM catalog is empty after each reset, so it's not a big deal to reformat also RAM catalog. Just use the same configuration of RAM catalog when calling HSE_SRV_ID_FORMAT_KEY_CATALOGS.
Regards,
Lukas
Hi,
Is this possible to format only NVM key catalog?
Thanks.
Yes, that's what I meant. There's no reason to have a service for this because the catalogs are statically configured and user should know the configuration.
"there no way to read key catalog information from previous software" - you are talking about development phase now. It's responsibility of user to know how the catalogs were formatted. Or the catalogs can be simply formatted again if needed during development.
But in the field, this is not an option - the catalogs can be formatted only in CUST_DEL life cycle. So, if you update the software in field, still the same catalogs must be used. There's no way to update the catalogs in OEM_PROD or IN_FILED life cycle.
Regards,
Lukas
There's no such service which would allow you to read the catalog information. Service HSE_SRV_ID_GET_KEY_INFO works only for loaded keys, not for empty keys.
But because the catalogs are statically configured, you can simply read constant hseKeyGroupCfgEntry_t structures which you have already defined for catalog formatting. Or you can create own data structure (constant in flash) which will contain details about the catalogs and which you can read in runtime if needed.
Regards,
Lukas