[原创] 【瑞萨电子低功耗Cortex-M33 RA4E1评估板】TrustZone应用程序开发模型

qinyunti   2023-7-4 12:07 楼主

支持 TrustZone 技术的应用程序开发过程

前言

支持TrustZone的开发流程和传统的开发流程有很大的不同,在进行实际的TrustZone项目开发之前,这里先对一些基本的概念进行介绍。这里先介绍TrustZone的开发模型。

e2studio IDE本身较好的支持了TrustZone的开发,

可以跟着项目生成器一步步创建TrustZone项目,下载期间自动计算IDAU区域,FSP包代码也比较好的支持TrustZone。

如下项目生成器中就提供以下三种向导模式:

Flat对应没有(或不使用)TrustZone的工程创建

TrustZone Secure和TrustZone Nonsecure分别对应有TrustZone的安全和非安全工程创建。

image-20230704120654-1.png  

开发模型介绍

下面介绍不同的开发模型,后面再针对不同开发模型进行实例演示。

联合式项目开发

使用联合式项目开发模型时,安全和非安全项目由同一个受信任的团队开发。安全项目必须与非安全项目位于同一工作区中,并且通常在设计工程师有权访问安全和非安全项目源时使用。 此外,将引用一个安全的 .elf 文件并将其包含在调试编译的调试配置中,以便下载到目标器件。开发工程师将能够查看安全和非安全项目的源代码和配置。

 

主要包括以下过程

  1. 开发安全项目

使用 RA 项目生成器模板创建安全项目类型

查看生成的初始安全捆绑包sbd文件

 

开发安全应用程序:

添加所需的 FSP 模块,定义 NSC 模块

创建用户定义的非安全可调用函数

开发安全应用程序

设计代码流,在开始非安全项目执行之前运行不需要非安全可调用功能的安 全应用程序(在调用函数 R_BSP_NonSecureEnter(); 之前)

重新编译并测试应用程序

 

隔离调试安全项目

调试安全项目和非安全项目

 

  1. 开发非安全项目

使用 RA 项目生成器模板创建非安全项目类型

建立位于同一 e2 studio 工作区中的安全项目的链接

调试安全项目和非安全项目

确保安全项目和非安全项目之间同步

 

  1. 生产编程

一般需要以下内容

安全二进制文件

非安全二进制文件

IDAU 区域配置

分离式项目开发

— 安全和非安全应用程序由两个不同的团队开发

— 非安全应用程序团队无法直接访问安全分区资产,只能通过非安全可调用 API 访问安全分区。

 

安全项目和非安全项目由两个不同的团队单独开发 安全项目将首先由 IP 提供商开发。IP 提供商创建一个安全捆绑包。 在非安全开发人员开始开发之前,安全捆绑包已预先烧录到 MCU 里。非安全开发人员只能看到非安全项 目和非安全分区。

参考

r11an0467cu0110-ra-trustzone-ip-protect.pdf

 

回复评论 (1)

看了楼主的介绍e2studio IDE本身是较好的支持了TrustZone的开发

点赞  2023-7-8 09:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复