|
| 1 | +{%- set mpi_application_vendor_name = sysbuild['config']['SB_CONFIG_SUIT_MPI_APP_LOCAL_1_VENDOR_NAME']|default('nordicsemi.com') %} |
| 2 | +{%- set mpi_application_class_name = sysbuild['config']['SB_CONFIG_SUIT_MPI_APP_LOCAL_1_CLASS_NAME']|default('nRF9280_sample_app') %} |
| 3 | +SUIT_Envelope_Tagged: |
| 4 | + suit-authentication-wrapper: |
| 5 | + SuitDigest: |
| 6 | + suit-digest-algorithm-id: cose-alg-sha-256 |
| 7 | + suit-manifest: |
| 8 | + suit-manifest-version: 1 |
| 9 | +{%- if APP_LOCAL_1_SEQ_NUM is defined %} |
| 10 | + suit-manifest-sequence-number: {{ APP_LOCAL_1_SEQ_NUM }} |
| 11 | +{%- elif DEFAULT_SEQ_NUM is defined %} |
| 12 | + suit-manifest-sequence-number: {{ DEFAULT_SEQ_NUM }} |
| 13 | +{%- else %} |
| 14 | + suit-manifest-sequence-number: 1 |
| 15 | +{%- endif %} |
| 16 | + suit-common: |
| 17 | + suit-components: |
| 18 | + - - MEM |
| 19 | + - {{ application['dt'].label2node['cpu'].unit_addr }} |
| 20 | + - {{ get_absolute_address(application['dt'].chosen_nodes['zephyr,code-partition']) }} |
| 21 | + - {{ application['dt'].chosen_nodes['zephyr,code-partition'].regs[0].size }} |
| 22 | + - - CAND_IMG |
| 23 | + - 0 |
| 24 | + suit-shared-sequence: |
| 25 | + - suit-directive-set-component-index: 0 |
| 26 | + - suit-directive-override-parameters: |
| 27 | + suit-parameter-vendor-identifier: |
| 28 | + RFC4122_UUID: {{ mpi_application_vendor_name }} |
| 29 | + suit-parameter-class-identifier: |
| 30 | + RFC4122_UUID: |
| 31 | + namespace: {{ mpi_application_vendor_name }} |
| 32 | + name: {{ mpi_application_class_name }} |
| 33 | + suit-parameter-image-digest: |
| 34 | + suit-digest-algorithm-id: cose-alg-sha-256 |
| 35 | + suit-digest-bytes: |
| 36 | + file: {{ application['binary'] }} |
| 37 | + suit-parameter-image-size: |
| 38 | + file: {{ application['binary'] }} |
| 39 | + - suit-condition-vendor-identifier: |
| 40 | + - suit-send-record-success |
| 41 | + - suit-send-record-failure |
| 42 | + - suit-send-sysinfo-success |
| 43 | + - suit-send-sysinfo-failure |
| 44 | + - suit-condition-class-identifier: |
| 45 | + - suit-send-record-success |
| 46 | + - suit-send-record-failure |
| 47 | + - suit-send-sysinfo-success |
| 48 | + - suit-send-sysinfo-failure |
| 49 | + suit-validate: |
| 50 | + - suit-directive-set-component-index: 0 |
| 51 | + # In the case of streaming operations it is worth to retry them at least once. |
| 52 | + # This increases the robustness against bit flips on the transport, |
| 53 | + # for example when storing the data on an external memory device. |
| 54 | + # The suit-directive-try-each will complete on the first successful subsequence. |
| 55 | + - suit-directive-try-each: |
| 56 | + - - suit-condition-image-match: |
| 57 | + - suit-send-record-success |
| 58 | + - suit-send-record-failure |
| 59 | + - suit-send-sysinfo-success |
| 60 | + - suit-send-sysinfo-failure |
| 61 | + - - suit-condition-image-match: |
| 62 | + - suit-send-record-success |
| 63 | + - suit-send-record-failure |
| 64 | + - suit-send-sysinfo-success |
| 65 | + - suit-send-sysinfo-failure |
| 66 | + suit-invoke: |
| 67 | + - suit-directive-set-component-index: 0 |
| 68 | + - suit-directive-invoke: |
| 69 | + - suit-send-record-failure |
| 70 | + |
| 71 | +{%- if APP_LOCAL_1_VERSION is defined %} |
| 72 | + suit-current-version: {{ APP_LOCAL_1_VERSION }} |
| 73 | +{%- elif DEFAULT_VERSION is defined %} |
| 74 | + suit-current-version: {{ DEFAULT_VERSION }} |
| 75 | +{%- endif %} |
| 76 | + |
| 77 | + suit-install: |
| 78 | + - suit-directive-set-component-index: 1 |
| 79 | + - suit-directive-override-parameters: |
| 80 | +{%- if 'CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI' in application['config'] and application['config']['CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI'] != '' %} |
| 81 | + suit-parameter-uri: '{{ application['config']['CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI'] }}' |
| 82 | +{%- else %} |
| 83 | + suit-parameter-uri: '#{{ application['name'] }}' |
| 84 | +{%- endif %} |
| 85 | + suit-parameter-image-digest: |
| 86 | + suit-digest-algorithm-id: cose-alg-sha-256 |
| 87 | + suit-digest-bytes: |
| 88 | + file: {{ application['binary'] }} |
| 89 | + - suit-directive-fetch: |
| 90 | + - suit-send-record-failure |
| 91 | + - suit-directive-try-each: |
| 92 | + - - suit-condition-image-match: |
| 93 | + - suit-send-record-success |
| 94 | + - suit-send-record-failure |
| 95 | + - suit-send-sysinfo-success |
| 96 | + - suit-send-sysinfo-failure |
| 97 | + - - suit-condition-image-match: |
| 98 | + - suit-send-record-success |
| 99 | + - suit-send-record-failure |
| 100 | + - suit-send-sysinfo-success |
| 101 | + - suit-send-sysinfo-failure |
| 102 | + - suit-directive-set-component-index: 0 |
| 103 | + - suit-directive-override-parameters: |
| 104 | + suit-parameter-source-component: 1 |
| 105 | + # When copying the data it is worth to retry the sequence of |
| 106 | + # suit-directive-copy and suit-condition-image-match at least once. |
| 107 | + # If a bit flip occurs, it might be due to a transport issue, not |
| 108 | + # a corrupted candidate image. In this case the bit flip is recoverable |
| 109 | + # and it is worth retrying the operation. |
| 110 | + # The suit-directive-try-each will complete on the first successful subsequence. |
| 111 | + - suit-directive-try-each: |
| 112 | + - - suit-directive-copy: |
| 113 | + - suit-send-record-failure |
| 114 | + - suit-condition-image-match: |
| 115 | + - suit-send-record-success |
| 116 | + - suit-send-record-failure |
| 117 | + - suit-send-sysinfo-success |
| 118 | + - suit-send-sysinfo-failure |
| 119 | + - - suit-directive-copy: |
| 120 | + - suit-send-record-failure |
| 121 | + - suit-condition-image-match: |
| 122 | + - suit-send-record-success |
| 123 | + - suit-send-record-failure |
| 124 | + - suit-send-sysinfo-success |
| 125 | + - suit-send-sysinfo-failure |
| 126 | + suit-text: |
| 127 | + suit-digest-algorithm-id: cose-alg-sha-256 |
| 128 | + |
| 129 | + suit-candidate-verification: |
| 130 | + - suit-directive-set-component-index: 1 |
| 131 | + - suit-directive-override-parameters: |
| 132 | +{%- if 'CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI' in application['config'] and application['config']['CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI'] != '' %} |
| 133 | + suit-parameter-uri: '{{ application['config']['CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE_URI'] }}' |
| 134 | +{%- else %} |
| 135 | + suit-parameter-uri: '#{{ application['name'] }}' |
| 136 | +{%- endif %} |
| 137 | + suit-parameter-image-digest: |
| 138 | + suit-digest-algorithm-id: cose-alg-sha-256 |
| 139 | + suit-digest-bytes: |
| 140 | + file: {{ application['binary'] }} |
| 141 | + - suit-directive-fetch: |
| 142 | + - suit-send-record-failure |
| 143 | + - suit-directive-try-each: |
| 144 | + - - suit-condition-image-match: |
| 145 | + - suit-send-record-success |
| 146 | + - suit-send-record-failure |
| 147 | + - suit-send-sysinfo-success |
| 148 | + - suit-send-sysinfo-failure |
| 149 | + - - suit-condition-image-match: |
| 150 | + - suit-send-record-success |
| 151 | + - suit-send-record-failure |
| 152 | + - suit-send-sysinfo-success |
| 153 | + - suit-send-sysinfo-failure |
| 154 | + |
| 155 | + suit-manifest-component-id: |
| 156 | + - INSTLD_MFST |
| 157 | + - RFC4122_UUID: |
| 158 | + namespace: {{ mpi_application_vendor_name }} |
| 159 | + name: {{ mpi_application_class_name }} |
| 160 | + suit-text: |
| 161 | + en: |
| 162 | + '["MEM", {{ application['dt'].label2node['cpu'].unit_addr }}, {{ get_absolute_address(application['dt'].chosen_nodes['zephyr,code-partition']) }}, {{ application['dt'].chosen_nodes['zephyr,code-partition'].regs[0].size }}]': |
| 163 | + suit-text-vendor-name: Nordic Semiconductor ASA |
| 164 | + suit-text-model-name: nRF9280_cpuapp |
| 165 | + suit-text-vendor-domain: nordicsemi.com |
| 166 | + suit-text-model-info: The nRF9280 application core |
| 167 | + suit-text-component-description: Sample application core FW |
| 168 | + suit-text-component-version: v1.0.0 |
| 169 | +{%- if 'CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE' not in application['config'] or application['config']['CONFIG_SUIT_DFU_CACHE_EXTRACT_IMAGE'] == '' %} |
| 170 | + suit-integrated-payloads: |
| 171 | + '#{{ application['name'] }}': {{ application['binary'] }} |
| 172 | +{%- endif %} |
0 commit comments