The v0.7 specification definition of psa_fwu_install() can report image information for a missing dependency, along with a PSA_SUCCESS_DEPENDENCY_NEEDED, and the multi-image code sample in the Appendix shows how this might be used.
Analysis
Feedback on v0.7 resulted in the removal of the dependent image information being returned from psa_fwu_install(): an image can depend on more than one other image, so the v0.7 API does not scale.
The use cases for v1.0 expect that the Client or Update Server is managing a multi-component update, and has all of the dependency information described in an update manifest/package.
Update Service-orchestration (e.g. SUIT) is proposed to be out of scope for v1.0 (see #6).
Proposal
Remove the dependency output parameters from psa_fwu_install() and the PSA_SUCCESS_DEPENDENCY_NEEDED result code. When an installation attempt detects a missing dependency, the PSA_ERROR_DEPENDENCY_NEEDED can be returned.
The Client must arrange to install firmware in an order that ensures that dependencies can be satisfied at each point of installation of a new firmware image.
Open issues
Multi-component updates
There is a separate issue to discuss these scenarios: see #12
Mandatory dependency verification
There is a separate issue to discuss this aspect of the current specification: see #13
The v0.7 specification definition of
psa_fwu_install()
can report image information for a missing dependency, along with aPSA_SUCCESS_DEPENDENCY_NEEDED
, and the multi-image code sample in the Appendix shows how this might be used.Analysis
Feedback on v0.7 resulted in the removal of the dependent image information being returned from
psa_fwu_install()
: an image can depend on more than one other image, so the v0.7 API does not scale.The use cases for v1.0 expect that the Client or Update Server is managing a multi-component update, and has all of the dependency information described in an update manifest/package.
Update Service-orchestration (e.g. SUIT) is proposed to be out of scope for v1.0 (see #6).
Proposal
Remove the dependency output parameters from
psa_fwu_install()
and thePSA_SUCCESS_DEPENDENCY_NEEDED
result code. When an installation attempt detects a missing dependency, thePSA_ERROR_DEPENDENCY_NEEDED
can be returned.The Client must arrange to install firmware in an order that ensures that dependencies can be satisfied at each point of installation of a new firmware image.
Open issues
Multi-component updates
There is a separate issue to discuss these scenarios: see #12
Mandatory dependency verification
There is a separate issue to discuss this aspect of the current specification: see #13