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

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

3天内不再提示

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

瑞萨MCU小百科 来源:未知 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
    +关注

    关注

    146

    文章

    16019

    浏览量

    343656
  • 瑞萨
    +关注

    关注

    32

    文章

    22214

    浏览量

    84915

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

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

收藏 人收藏

    评论

    相关推荐

    国内哪家的FPGA适合初学者

    如题,想着手学习FPGA的话,国内哪家的比较好,更适合初学者学习?这方面的经验,是一点都没。
    发表于 04-14 19:17

    瑞萨电子RA产品家族新增RA0E1 MCU产品

    瑞萨电子RA产品家族新增RA0E1 MCU产品组。RA0E1系列是一款低功耗、低成本微控制器,结
    的头像 发表于 04-11 15:17 357次阅读
    瑞萨电子<b class='flag-5'>RA</b><b class='flag-5'>产品</b><b class='flag-5'>家族</b>新增<b class='flag-5'>RA</b>0E1 MCU<b class='flag-5'>产品</b>组

    初学者请问各位大佬

    为什么在89C51单片机中R1可以提供低地址 在外部扩展RAM中不是P0口提供低8位地址P2口提供高8位地址吗初学者有些不理解望各位大佬解答一下谢谢
    发表于 02-23 16:39

    RA家族QE电机应用开发指南

    电子发烧友网站提供《RA家族QE电机应用开发指南.pdf》资料免费下载
    发表于 01-31 09:57 0次下载
    <b class='flag-5'>RA</b><b class='flag-5'>家族</b>QE电机应用开发<b class='flag-5'>指南</b>

    分享给嵌入式初学者

    电子发烧友网站提供《分享给嵌入式初学者.doc》资料免费下载
    发表于 11-08 10:46 0次下载
    分享给嵌入式<b class='flag-5'>初学者</b>

    面向CAN总线初学者的入门教程

    本资料是CAN初学者的入门书,对 CAN 是什么、CAN 的特征、标准规格下的位置分布等、CAN 的概要及 CAN 的协议进行了说明。
    发表于 10-20 17:25 1次下载

    初学者入门

    太好了,初学者学习慢慢消化中……
    发表于 09-21 13:50

    STM32初学者的考虑因素 STM32标准库和HAL库如何选择

    初学者尝试学习STM32开发时,通常会面临一个关键的选择:是选择STM32的标准库,还是HAL库?这两个库各自有着优势与适用场景,本文将从多个角度分析,帮助初学者更好地选择适合自己的库。 在开始
    发表于 08-08 09:43 1048次阅读

    BMS架构的初学者指南,电池管理系统bms的功能包括哪些

    电池技术的持续转型促使许多新人学习设计电池管理系统。本文提供了电池管理系统(BMS)架构的初学者指南,讨论了主要功能块,并解释了每个模块对电池管理系统的重要性。
    的头像 发表于 07-12 15:41 2265次阅读
    BMS架构的<b class='flag-5'>初学者</b><b class='flag-5'>指南</b>,电池管理系统bms的功能包括哪些

    初学者工具包-沙漏(个人模组)

    电子发烧友网站提供《初学者工具包-沙漏(个人模组).zip》资料免费下载
    发表于 06-26 09:43 0次下载
    <b class='flag-5'>初学者</b>工具包-沙漏(个人模组)

    初学者快速判断并查找出LED显示屏故障的方法

    LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:控制卡、单元板、开关电源。LED显示屏故障分析对于初学者来说直接、有效的方法就是排除法,LED显示屏主要由三大硬件部分组成:控制卡、单元板、开关电源。
    的头像 发表于 06-15 14:48 789次阅读
    <b class='flag-5'>初学者</b>快速判断并查找出LED显示屏故障的方法

    《GD32 MCU原理及固件库开发指南》+读后感

    4~8偏重实践,主要以实例来讲解工程应用。如果你是一名经验丰富的资深用户,对GD32 MCU已经有了一定的了解,可以从4开始阅读。如果你是一名
    发表于 06-06 21:52

    RA MCU创意氛围赛】3. 硬件I2C驱动OLED显示汉字

    RA MCU创意氛围赛】1. PWM驱动LED以及STLINK下载配置【RA MCU创
    发表于 05-26 14:06

    PLC初学者必须掌握的梯形图

    PLC初学者必须掌握的七大梯形图
    发表于 05-25 16:44 4次下载

    RA MCU创意氛围赛】以RA2E的车载VFD屏幕时钟

    引言 很高兴能有机会参加【RA MCU创意氛围赛】,在以前学习stm32的时候,就是野火的开发板、文档以及视频带我入门的。现在有空体验一下野火的产品——
    发表于 05-21 17:02