LAT1421
Local Application Tips
LAT1421 Rev 1.0 Jul. 2024
如何在 STM32U5 TF-M 工程中添加自定义服务
关键字:TF-M TFM PSA API
1. TF-M 工程简介
STM32U5 TF-M 示例工程位于 cube 包目录下 : STM32Cube_FW_U5_V1.2.0\Projects\B-
U585I-IOT02A\Applications\TFM
它是由三个开源项目组 :
如上图所示, TF-M mbed-crypto 这两个开源项目均是由 ARM 主导推动的项目, 目标是为了
更好地通过 PSA 认证.
TF-M 此示例工程主要实现了安全启动, 安全固件更新, 安全存储等几大功 :
LAT1421
LAT1421 - Rev 1.0 page 2/72
1 TF-M 框图
其中安全服务主要在 TFM_Appli_S 工程实现. 如上图所示, TF-M 默认的安全服务有 : 固件更
, ITS, 密码学算法, Initial attenstation 这些服务均是属性特权属性的服, 非特权服务就包含
PS 和第三方服务. TFM_Appli_NS 应用程序通过设备 PSA API 接口调用这些 TFM_Appli_S
供的服务, 以达到安全隔离的效果.
本文的主要内容将围绕在如何添加客户自定义的服务而展开. 络上的相关链接为 :
https://tf-m-user-
guide.trustedfirmware.org/integration_guide/services/tfm_secure_partition_addition.ht
ml
2. 添加 PSA 客户自定义服务
如图 1 所示, 客户自定义服务主要是处于图中绿色部分, 是属于非特权的服务. 它得基于 TF-M
架来添加.
具体的添加有两种方法 :
扩展现有的 APP ROT 服务
创建一个全新的自定义服务