0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

瑞萨RA产品家族初学者指南-第11章(3)

瑞萨嵌入式小百科 来源:未知 2023-02-03 01:55 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

瑞萨RA产品家族初学者指南》系列文章已收录成合集,欢迎点击上方查看合集并订阅!

11. 安全性和TrustZone

本章目录

  1. 什么是TrustZone,它有什么作用?

  2. 安全环境和非安全环境的划分

  3. 器件生命周期管理

  4. TrustZone用例

11.2.2 从安全代码到非安全代码的回调

外设位于安全环境,但提供中断服务的回调函数位于非安全环境,我们该如何处理这种情况?通常,在FSP回调中,回调结构由ISR在堆栈中分配,然后将由回调函数使用。由于中断服务程序(ISR)和回调函数位于不同的环境中,如果回调函数试图访问安全环境中的回调结构,将发生安全故障。

FSP通过将回调结构分配到两种环境都可以使用的内存区域解决了这个问题。通过使用callbackSet() API对其进行初始化,这是一个允许访问安全环境的保护函数(有关保护函数的介绍,请参见下文第11.2.3章)。该调用如下所示:

92c0977e-a322-11ed-bfe3-dac502259ad0.jpg

在模块的配置结构中已经提供了回调函数指针和上下文指针,但二者必须再次创建,因为安全端的配置结构与非安全端的结构是分开构建的。指向易失性回调内存的指针指向某个位置,可在该位置将内存分配给可从两种环境访问的结构。这样便可消除安全故障。

11.2.3 保护函数

保护函数的应用程序编程接口(API)允许从非安全项目访问位于安全环境中的驱动程序。瑞萨实现的这项功能是独一无二的,并且正在申请专利。灵活配置软件包(FSP)将自动为FSP配置器中标记为非安全可调用的所有堆栈顶部模块和/或驱动程序API生成保护函数,并将其添加到NSC区域的项目中。此外,FSP将为相应的NSC实例创建非安全模块实例。

这些实例的使用方法没有特别之处,但其p_ctrlp_cfg成员设置为FSP_SECURE_ARGUMENT,相当于NULL,并且其p_api成员指向保护函数而不是实际的成员函数。保护函数本身将p_ctrlp_cfg成员硬编码到安全环境内存中。在安全和非安全内存中都存在驱动程序,并在不同端使用不同通道的情况下,这可消除通过操纵p_ctrl和/或p_cfg结构以直接从非安全代码访问安全通道的可能性。保护函数还会检查所有输入指针,以确保调用方不会覆盖安全内存。

92d77188-a322-11ed-bfe3-dac502259ad0.jpg

此外,如果设计人员希望仅向非安全程序员公开有限范围的API,则可以选择添加访问控制的附加级别或删除保护函数。继续以SCI为例,安全环境的程序员可以打开一个通道并配置为所需的波特率,但通过删除g_uart0_write_guard() API之外的所有API,使得只有写API可供非安全应用程序的开发人员使用。

11.3 器件生命周期管理

器件生命周期定义了器件寿命的不同阶段,并控制调试接口、串行编程接口和瑞萨测试模式的功能。出于安全原因,这样便可将位于安全环境中的代码的编写与在非安全环境中运行的应用程序的编写分开,并且可以由两个独立的团队来开发产品:由安全开发人员团队创建信任根(RoT)或孤立的子系统,并由非安全环境的设计人员创建使用该RoT或子系统的应用程序。灵活配置软件包(FSP)和e2 studio支持这种设计划分。

安全环境的代码准备就绪后,可将其预先烧录到器件中,并将生命周期设置为NSECSD,从而锁定安全环境,或者作为捆绑包由非安全项目引用。应用程序设计人员将以此作为起点,在非安全环境中编写应用程序,对其进行调试,然后将其烧录到器件中。如果需要,他们还可以禁用所使用的闪存模块的编程和擦除功能。最后一步,将生命周期的状态设置为已部署、调试锁定或引导锁定。这样一来,整个器件可获得保护,并且不能对编程接口和器件进行调试、读取或编程。图11-9显示了可能的状态和转换,而图11-10中的表格提供了对每个生命周期的解释。

92eb54b4-a322-11ed-bfe3-dac502259ad0.jpg

图11-9:器件生命周期管理的不同状态

有三种不同的调试访问级别,它们视生命周期的状态而变化:

  • DBG2:允许调试器连接,访问存储器和外设没有任何限制。

  • DBG1:允许调试器连接,但访问只限于非安全内存区域和外设。

  • DBG0:不允许进行调试连接。

93036e0a-a322-11ed-bfe3-dac502259ad0.jpg

图11-10:器件周期管理不同阶段的描述

可以使用瑞萨闪存编程器或瑞萨器件分区管理器执行从一种状态到另一种状态的转换,但后者可选择的状态有限。可以通过使用身份验证密钥来保护状态之间的转换。有关不同DLM状态和器件特定转换的更多信息,请参见相应微控制器的用户手册。


原文标题:瑞萨RA产品家族初学者指南-第11章(3)

文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    147

    文章

    18604

    浏览量

    386789
  • 瑞萨
    +关注

    关注

    36

    文章

    22429

    浏览量

    89735
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    RA家族RA4C1低功耗MCU发布

    RA家族在2025年8月推出RA4C1低功耗MCU,基于Arm Cortex-M33(CM33)内核,提供低功耗/低电压操作、LCD段码
    的头像 发表于 08-22 15:00 1981次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b><b class='flag-5'>RA</b>4C1低功耗MCU发布

    电子RA系列微控制器的可扩展性强的配置软件包 (FSP)安装下载与使用指南

    电子RA系列微控制器的可扩展性强的配置软件包 (FSP)安装下载与使用指南
    的头像 发表于 06-11 17:21 1380次阅读

    RA8系列教程 | RA8 开发环境搭建,并点亮一个LED

    今天就给大家讲讲基于Cortex-M85内核RA8单片机快速上手指南
    的头像 发表于 06-04 17:32 1462次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>8系列教程 | <b class='flag-5'>瑞</b><b class='flag-5'>萨</b> <b class='flag-5'>RA</b>8 开发环境搭建,并点亮一个LED

    RA-Eco-RA4M2开发板评测】初学-使用flash programmer烧录程序

    本人刚入坑不久,对单片机的热情很高,于是也加入了的板子申请队伍,很荣幸也成为了试用者之一,此前对于的板子从未接触过,包括对于使用e2studio编写程序烧录等工作也是从小白开始
    发表于 04-29 17:28

    RA8D1单片机IO中断配置实现方法

    本文为结合e2 studio工具,以及CPKCOR_RA8D1B评估板,给大家讲述RA8
    的头像 发表于 04-09 15:05 1514次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>8D1单片机IO中断配置实现方法

    RA系列MCU的命名方法与选型

    初学者来说,要理解RA产品家族产品型号中的不同数字和字母并不容易。我们首先以RA系列MCU中的
    的头像 发表于 03-27 14:32 2267次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>系列MCU的命名方法与选型

    RA8快速上手指南:Cortex-M85内核RA8开发环境搭建 并点亮一个LED

    因为Cortex-M内核,RA8系列单片机支持多种市面上常见的开发环境,像Keil MDK、IAR EWARM等,而本文讲述的是自家
    的头像 发表于 03-17 14:35 1560次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>8快速上手<b class='flag-5'>指南</b>:Cortex-M85内核<b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>8开发环境搭建 并点亮一个LED

    RA4L1产品特色功能及应用场景

    近日电子推出了一款最新的RA产品RA4L1,它有哪些特性以及适用于什么样的应用场景呢?本篇文章给大家带来详细介绍。
    的头像 发表于 03-04 15:51 1038次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b>4L1<b class='flag-5'>产品</b>特色功能及应用场景

    电子RA4L1 MCU的基本特性和应用场景

    近日电子推出了一款最新的RA产品RA4L1,它有哪些特性以及适用于什么样的应用场景呢?本篇文章给大家带来详细介绍。
    的头像 发表于 02-28 16:53 1885次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b>4L1 MCU的基本特性和应用场景

    RA家族RA4L1低功耗MCU量产上市

      RA家族RA4L1低功耗MCU产品系列于2025年2月推出。
    的头像 发表于 02-20 13:39 1263次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b><b class='flag-5'>RA</b>4L1低功耗MCU量产上市

    EE-269:以太网802.3初学者指南

    电子发烧友网站提供《EE-269:以太网802.3初学者指南.pdf》资料免费下载
    发表于 01-05 09:48 1次下载
    EE-269:以太网802.3<b class='flag-5'>初学者</b><b class='flag-5'>指南</b>

    RA家族精品RA2L1产品介绍

    RA2L1MCU是RA家族RA2系列广受欢迎的一款产品
    的头像 发表于 12-27 18:07 1127次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b><b class='flag-5'>RA</b><b class='flag-5'>家族</b>精品<b class='flag-5'>RA</b>2L1<b class='flag-5'>产品</b>介绍

    电子RZ MPU家族精品RZ/N2L产品介绍

    生态合作伙伴RT-Thread推出了一款高性能、多功能以太网MPU开发板EtherKit,搭载电子RZ/N2L,并携手
    的头像 发表于 12-23 14:10 1359次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子RZ MPU<b class='flag-5'>家族</b>精品RZ/N2L<b class='flag-5'>产品</b>介绍

    FPB-RA6E2 评估板入门学习

    FPB-RA6E2 评估板入门学习
    的头像 发表于 12-11 09:22 1239次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b> FPB-<b class='flag-5'>RA</b>6E2 评估板入门学习

    电子RA2L1 MCU产品介绍

    RA2L1 MCU是RA家族RA2系列广受欢迎的一款产品
    的头像 发表于 12-10 10:51 1541次阅读
    <b class='flag-5'>瑞</b><b class='flag-5'>萨</b>电子<b class='flag-5'>RA</b>2L1 MCU<b class='flag-5'>产品</b>介绍