STM32CubeL5 TFM 应用程序入门

2023-07-11  

1.概述

本文档描述如何入门 STM32CubeL5 TFM(Arm Cortex-M 的可信固件)应用程序,该应用程序作为 STM32CubeL5 固件包组成部分提供。STM32CubeL5 TFM 应用程序提供一个可信根解决方案(包括安全启动和安全固件更新功能,在执行应用程序之前使用),还提供一组安全服务,这些服务与非安全应用程序隔离,但可由非安全应用程序在运行时使用。


STM32CubeL5 TFM 应用程序基于已移植到 STM32L5 系列微控制器(以下统称 STM32L5)上的开源 TF-M 参考实现,目的是利用 STM32L5 的硬件安全特性,例如:

• Arm Cortex-M33 TrustZone 和存储器保护单元(MPU)

• TrustZone-aware 外设

• 内存保护(HDP、WRP)

• 增强生命周期方案

STM32CubeL5 TFM 应用程序在基于 Arm Cortex‑M 处理器的 STM32L5 系列 32 位微控制器上运行。


2.文档和开源软件资源

下面的资源是公开的,可以从意法半导体的网站 www.st.com 或第三方网站上获得。

afaf2a0a-8809-11ed-bfe3-dac502259ad0.png

afd2a3ea-8809-11ed-bfe3-dac502259ad0.png

3.STM32Cube概述

STM32Cube 源自意法半导体,旨在通过减少开发工作量、时间和成本,明显提高设计人员的生产率。STM32Cube 涵盖整个 STM32 产品系列。STM32Cube 包括:

• 一套用户友好的软件开发工具,覆盖从概念到实现的整个项目开发过程,其中包括:

– 图形软件配置工具 STM32CubeMX,可通过图形向导自动生成初始化 C 代码

– STM32CubeIDE,一种集外设配置、代码生成、代码编译和调试功能于一体的开发工具

– STM32CubeProgrammer

(STM32CubeProg),图形版本和命令行版本中可用的编程工具

– STM32CubeMonitor-Power

(STM32CubeMonPwr),测量并帮助优化 MCU 功耗的监控工具

• STM32Cube MCU & MPU 包,针对于每个微控制器和微处理器系列的综合嵌入式软件平台(例如,STM32L5 系列的 STM32CubeL5),它包括:

– STM32Cube 硬件抽象层(HAL),确保在 STM32 各个产品之间实现最大限度的可移植性– STM32Cube 底层 API,通过硬件提供高度用户控制,确保最佳性能和内存开销

– 一组一致的中间件组件,如 FAT 文件系统、RTOS、USB 主机和设备、TCP/IP、触摸感应库、以及图形

– 嵌入式软件实用工具以及全套外设和应用实例

• STM32Cube 扩展包,包含的嵌入式软件组件为 STM32Cube MCU 和 MPU 包的功能补充了:

– 中间件扩展和应用层– 在特定的意法半导体开发板上运行的实现案


4.Arm可信固件-M(TF-M)简介

[TF-M] (可信固件-M)是 Arm 驱动的开源软件框架,在 Cortex-M33(TrustZone)内核上提供 PSA 标准的参考实现:

• PSA 不可变 RoT(可信根):不可变的“安全启动&安全固件更新”应用程序(命名为 TFM_SBSFU_Boot)在任一复位后执行。该应用程序基于[MCUboot]开源软件

• PSA 可更新 RoT:“安全”应用程序(名为 TFM_Appli/安全)实现了一组隔离在安全/特权环境中的安全服务,非安全应用程序可以通过 PSA API 在非安全应用程序运行期间调用这些服务:

– 安全存储服务:TF-M 安全存储(SST)服务实现 PSA 保护的存储 API,允许数据加密并将结果写入可能不可信的存储中。作为参考,SST 服务采用了基于 AEAD 加密策略的 AES-GCM 算法,保护数据的完整性和真实性。

– 内部可信存储服务:TF-M 内部可信存储(ITS)服务实现 PSA 内部可信存储 API,允许在微控制器内置的 Flash 存储器区域中写入数据,该区域将通过硬件安全保护机制与非安全或非特权应用程序隔离。

– 密码服务:TF-M 密码服务实现了 PSA 密码 API,允许应用程序使用密码原语,如对称和非对称密码、哈希、消息认证码(MAC)和关联数据的认证密码(AEAD)。它基于[MbedCrypto]开源软件

– 初始认证服务:TF-M 初始认证服务允许应用程序在验证过程中向验证实体证明设备身份。初始认证服务可以根据请求创建一个令牌,其中包含特定于设备的固定数据集。

• 应用程序可更新 RoT:隔离在安全/非特权环境中的第三方安全服务(在 TFM_Appli/安全应用程序中实现),可以由非安全应用程序在非安全应用程序运行期间调用:

aff09eb8-8809-11ed-bfe3-dac502259ad0.png

本文档为大家详细地描述了如何入门 STM32CubeL5 TFM(Arm Cortex-M 的可信固件)应用程序。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。