Skip to content

Commit 0b6db7d

Browse files
Sherryzhang2david-wang-2015
authored andcommitted
Introduce PSA API based FreeRTOS OTA PAL implementation
Port FreeRTOS OTA PAL based on PSA Firmware Update API and PSA Cryptography API Signed-off-by: Sherry Zhang <sherry.zhang2@arm.com> Change-Id: I9118ba14eac68cbeaa2c7cb4c17a54c9daed8725
1 parent 77bdd50 commit 0b6db7d

File tree

6 files changed

+913
-0
lines changed

6 files changed

+913
-0
lines changed

License.md

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
The software is provided under MIT License.
2+
3+
Copyright <YEAR> <COPYRIGHT HOLDER>
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

README.md

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
# What is this project
2+
3+
This project ports the FreeRTOS OTA PAL based on PSA API.
4+
5+
PSA is Platform Security Architecture which is initiated by Arm. Please get the details from this [link](https://www.arm.com/why-arm/architecture/platform-security-architecture).
6+
7+
In general, this porting maps the FreeRTOS OTA PAL APIs to PSA Firmware Update and Crypto APIs. It follows the PSA Firmware Update API 0.7 and PSA Cryptography API V1.0 beta3. The process of image write, image verification and image activation are protected by the PSA secure service.
8+
9+
# License
10+
11+
Please check the License.md file in this project root folder for the detailed license information.
12+
13+
Unless stated otherwise, the software is provided under the [MIT License](https://spdx.org/licenses/MIT.html).
14+
15+
# Integration guide
16+
17+
## Integrate PSA Based OTA PAL with the FreeRTOS project
18+
19+
- Use the `libraries/abstractions/ota_pal_psa/ota_pal.c` as the implementation of APIs defined in `vendors/vendor/boards/board/ports/ota_pal_for_aws/ota_pal.h`
20+
- Add the source file `libraries/abstractions/ota_pal_psa/version/application_version.c` to the project.
21+
- `xOTACodeVerifyKeyHandle` is the key handle which indicates the image verification key in PSA Crypto Service. It is used when verifying the image in `otaPal_CloseFile`.
22+
- Build the PSA implementation as the secure side image (check the Trusted Firmware-M example in the following section).
23+
- Integrate the FreeRTOS project with the interface files of the PSA implementation (check the TF-M example below).
24+
- Build the FreeRTOS project which runs in the non-secure world.
25+
- Follow the platform-specific instructions to sign/combine the FreeRTOS image and secure side image.
26+
27+
## Integrate FreeRTOS project with Trusted Firmware-M (TF-M)
28+
29+
[TF-M](https://git.trustedfirmware.org/TF-M/trusted-firmware-m.git/) is a PSA implementation. It implements the PSA Firmware Framework API and developer API such as Secure Storage, Cryptography, Initial Attestation, etc. Refer to [PSA website](https://developer.arm.com/architectures/security-architectures/platform-security-architecture) for more details.
30+
31+
Please follow the [Build instructions](https://tf-m-user-guide.trustedfirmware.org/docs/technical_references/instructions/tfm_build_instruction.html) of TF-M to build the secure side image for your platform.
32+
33+
Please check [Integration guide](https://tf-m-user-guide.trustedfirmware.org/docs/integration_guide/tfm_integration_guide.html) of TF-M for integrating the FreeRTOS project with TF-M.

0 commit comments

Comments
 (0)