当前位置: 首页 > news >正文

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

文章目录

    • 背景介绍
    • 1.1 TZC-400 简介
    • 1.2 TZC-400 使用示例
    • 1.3 TZC-400 interfaces
      • 1.3.1 FPID
      • 1.3.2 NSAID
    • Region
      • region 检查规则
    • 1.4 Features
    • 1.5 Register summary
    • 1.6 TZC-400和TZPC和TZASC区别

背景介绍

为了确保内存能够正确识别总线的信号控制位,新增一个TrustZone地址空间控制器(TrustZone Address Space Controller,TZASC)组件来实现对内存地址的安全扩展,将内存区域划分为安全内存区域和非安全内存区域,安全世界可以访问安全内存和非安全内存,而普通世界只能访问非安全内存,如下图所示:
在这里插入图片描述
内存区域的划分是在系统启动时通过配置TZASC组件(TZC-400/TZC-380)来实现的。

1.1 TZC-400 简介

TZC-400由 Control unitFilter unit 构成,其中Control unit 用于对每一个区域的安全设置进行编程,具体包括:

  • 使能情况;
  • 安全访问权限;
  • Base地址;
  • Top 地址;
  • Non-secure ID filtering(基于NSAID信号)。

在Control unit的配置下,始终存在 1 个全地址区域 Region 0,并且可以扩展 8 个分离的区域 Region 1 - Region 8。Region 1-Region 8 的区域互不交叉,如下图所示。
在这里插入图片描述
而 Filter unit 用于对访问进行安全检查,根据NSAID信号决定是否允许访问该地址。

1.2 TZC-400 使用示例

不同的 Master 会连接到不同的 filter unit。TZC-400通过ACE-Lite响应通道或中断上报检查错误。
在这里插入图片描述

TZC-400 在SoC 系统层面的使用:
在这里插入图片描述

1.3 TZC-400 interfaces

提供接口如下图所示:
在这里插入图片描述

  • clock 和 reset 信号,TZC-400 使用了下面clock domain:
    • PCLK domian: 给带APB接口的控制单元使用;
    • ACE-Lite clock domain,给每个 filter unit 使用,名字是ACLKx。
  • TZC-400 为每个clock 提供了一个异步复位信号。

其它的信号,这里不在做过多介绍,可以查看对应的SPCE 文档。接下来主要介绍下认证输入信号:

  • Fast Path IDentity inputs;
  • Non-Secure Access IDentity inputs。在这里插入图片描述

1.3.1 FPID

Fast Path IDentity (FPID)决定 filter unit 的读操作是使用低延时快速路径还是普通路径。每个filter unit有单独1 根 FPID 输入。fast path 依赖 speculative access,因此必须开启 master 和 slave 的 speculative access 功能。如果在读操作的过程中接入 ACE-Lite 上的 FPID 信号线拉高,那么filter uint 将会把访问路由到快速通道上,如果推测执行功能没有打开,那么会将访问路由到普通通道上。

1.3.2 NSAID

Non-secure Access IDentity (NSAID) 标识发起访问的 master。如上图所示,每个filter unit 有两组 NSAID 信号,每组4个bit,NSAIDR[3:0]用于标识读地址,NSAIDW[3:0]标识写地址。

Region

Region是一个连续的地址空间定义了start和end。

region有单独的安全级别配置。

TZC-400有9个regions:region0 是 default,部分编程,region1-8是完全编程。

通过control unit设置每个region的安全和地址空间。

region 检查规则

  • region必须使能,filter unit才能用来检查访问合法性
  • region0始终是使能的,只能修改安全访问属性。
    f- ilter unit如果在其他region找不到访问地址匹配,会使用region0的配置
  • Filter unit使用的region1-8空间不能有overlap memory,但是region1-8可以与region0有overlap memory,而且region1-8的规则会覆盖region0。
    在这里插入图片描述

1.4 Features

  • 可以在地址映射中最多定义8个region(完全编程)。
  • 一个默认的基本区域覆盖所有剩余的地址映射部分,即region0。
  • 通过APB4总线编程每个region的访问权限,包括region0。
  • 只有当ACE-Lite事务的安全状态/ID和映射region的安全设置匹配时,filter unit才允许在ACE-lite master和slave之间传输数据。
  • 所有filter units共享公共区域配置寄存器的设置,保证一致性。
  • filter unit支持相互独立的异步时钟,而且也和control unit的APB时钟是异步的。
  • 支持双读访问通道,即快速路径和正常路径。快速路径具有低延迟,但outstanding数量
    有限。正常路径可以支持更多数量的outstanding,正常路径支持256个待处理事务,但延迟不低于快速路径的延迟。
  • 非安全访问是基于ID进行事务过滤的。
    状态和中断信号可以通过软件编程进行配置,从而管理失败的权限检查。
  • 每个时钟域都有AXI低功耗接口。
  • Gate keeper用于控制每个filter unit的访问状态,使能或禁用。

1.5 Register summary

offsetnametypedescription
0x0BUILD_CONFIGRO当前IP实现了几个region,实现了几个filter
在这里插入图片描述
0x4ACTIONRW当访问检查失败时,中断和bus返回如何处理
在这里插入图片描述
0x8GATE_KEEPERRW控制每个filter unit的使能和去使能,低bit对应每个filter unit控制,高bit代表状态在这里插入图片描述
0xcSPECULATION_CTRLRW控制读写随机访问在这里插入图片描述
0x10INT_STATUSRO每个filter unit的中断状态
在这里插入图片描述
0x14INT_CLEARWO每个filter unit的中断状态清除
在这里插入图片描述
0x100+(0x20*n)REGION_TOP_LOWRWregionX的低地址
0x108+(0x20*n)REGION_TOP_HIGHRWregionX的高地址
0x110+(0x20*n)REGION_ATTRIBUTESRW控制每个region的属性:安全读写属性、是否使能对应filter unit
在这里插入图片描述
0x114+(0x20*n)REGION_ID_ACCESSRW高bit控制写,低bit控制读每bit对应NSAID的使能情况
在这里插入图片描述

1.6 TZC-400和TZPC和TZASC区别

物理内存和外设的隔离保护通过TZASC和TZPC的设置来达到目的。TZASC可以把物理内存分成多个区域,每个区域的访问权限可以灵活配置为安全区域或是非安全区域,甚至可以配置成只有普通世界可以访问。TZPC则是配置不同的外设属于哪个世界。当然了TZASC和TZPC的配置只能在安全世界下进行。

TZPC只能控制某个外设的安全属性,它不能细粒度的控制地址空间。

TZC400是TZASC的具体实现的IP。

推荐阅读:
https://www.modb.pro/db/622259

相关文章:

【ARM CoreLink 系列 7 -- TZC-400控制器简介】

文章目录 背景介绍1.1 TZC-400 简介1.2 TZC-400 使用示例1.3 TZC-400 interfaces1.3.1 FPID1.3.2 NSAID Regionregion 检查规则 1.4 Features1.5 Register summary1.6 TZC-400和TZPC和TZASC区别 背景介绍 为了确保内存能够正确识别总线的信号控制位,新增一个TrustZ…...

【C++】-c++11的知识点(中)--lambda表达式,可变模板参数以及包装类(bind绑定)

💖作者:小树苗渴望变成参天大树🎈 🎉作者宣言:认真写好每一篇博客💤 🎊作者gitee:gitee✨ 💞作者专栏:C语言,数据结构初阶,Linux,C 动态规划算法🎄 如 果 你 …...

浅析倾斜摄影三维模型(3D)几何坐标精度偏差的几个因素

浅析倾斜摄影三维模型(3D)几何坐标精度偏差的几个因素 倾斜摄影是一种通过倾斜角度较大的相机拍摄建筑物、地形等场景,从而生成高精度的三维模型的技术。然而,在进行倾斜摄影操作时,由于多种因素的影响,导致…...

【广州华锐互动】智轨列车AR互动教学系统

智轨列车,也被称为路面电车或拖电车,是一种公共交通工具,它在城市的街头巷尾提供了一种有效、环保的出行方式。智轨列车的概念已经存在了很长时间,但是随着科技的发展,我们现在可以更好地理解和欣赏它。通过使用增强现…...

驾驶数字未来:汽车业界数字孪生技术的崭新前景

随着数字化时代的到来,汽车行业正经历着前所未有的变革。数字孪生技术,作为一种前沿的数字化工具,正在为汽车行业带来革命性的影响,不仅改变着汽车制造和维护的方式,也为消费者带来了前所未有的体验。让我们一起探讨&a…...

JVM 性能调优参数

JVM分为堆内存和非堆内存 堆的内存分配用-Xms和-Xmx -Xms分配堆最小内存,默认为物理内存的1/64; -Xmx分配最大内存,默认为物理内存的1/4。 非堆内存分配用-XX:PermSize和-XX:MaxPermSize -XX:PermSize分配非堆最小内存,默认为物理…...

11在SpringMVC中响应到浏览器的数据格式,@ResponseBody注解和@RestController复合注解的功能详解

响应数据/转发或重定向页面 参考文章数据交换的常见格式,如JSON格式和XML格式 服务器将接收到请求处理完以后需要将处理结果告知给浏览器即响应,通常有响应要转发/重定向到的页面和响应数据(文本数据/json数据)两种方式 如果控制器方法返回值类型为void并且没有通过response…...

go 流程控制之switch 语句介绍

go 流程控制之switch 语句介绍 文章目录 go 流程控制之switch 语句介绍一、switch语句介绍1.1 认识 switch 语句1.2 基本语法 二、Go语言switch语句中case表达式求值顺序2.1 switch语句中case表达式求值次序介绍2.2 switch语句中case表达式的求值次序特点 三、switch 语句的灵活…...

sql 时间有偏差的解决方法

测试功能的时候发现记录的创建时间不对,死活对不上,下意识的以为是服务器时间有偏差,后来排查发现存入表中的时间是正常的,但是查询展示出来的时间是不对的,就去排查可能是查询sql格式化时间有问题,果不其然…...

Apache Lucene 7.0 - 索引文件格式

Apache Lucene 7.0 - 索引文件格式 文章目录 Apache Lucene 7.0 - 索引文件格式介绍定义反向索引字段类型段文档数量索引结构概述文件命名文件扩展名摘要锁文件 原文地址 介绍 这个文档定义了在这个版本的Lucene中使用的索引文件格式。如果您使用的是不同版本的Lucene&#xf…...

GEE:使用中文做变量和函数名写GEE代码

作者:CSDN _养乐多_ 啊?最近在编写GEE代码的时候,无意中发现 JavaScript 已经能够支持中文字符作为变量名和函数名,这个发现让我感到非常兴奋。这意味着以后在编程过程中,我可以更自由地融入中文元素,不再…...

针对量化交易SDK的XTP的初步摸索

这东西只要是调用API实现自动交易股票的,就不可能免费的接口。 并且用这些接口实现自动交易还得 归证券公司监管。比如 xtp出自 中泰证券,那么如果用xtp实现自动交易股票的软件,具体操作实盘的时候 不能跑再自己的电脑上,必须跑在…...

Unity编辑器从PC平台切换到Android平台下 Addressable 加载模型出现粉红色,类似于材质丢失的问题

Unity编辑器在PC平台下使用Addressable加载打包好的Cube,运行发现能正常显示。 而在切换到Android平台下,使用Addressable时加载AB包,生成Cube对象时,Cube模型呈现粉红色,出现类似材质丢失的问题。如下图所示。 这是…...

CSS 边框

CSS 边框属性 CSS边框属性允许你指定一个元素边框的样式和颜色。 在四边都有边框 红色底部边框 圆角边框 左侧边框带宽度,颜色为蓝色 边框样式 边框样式属性指定要显示什么样的边界。 border-style属性用来定义边框的样式 border-style 值: none: 默认无边框…...

Docker逃逸---CVE-2020-15257浅析

一、产生原因 在版本1.3.9之前和1.4.0~1.4.2的Containerd中,由于在网络模式为host的情况下,容器与宿主机共享一套Network namespace ,此时containerd-shim API暴露给了用户,而且访问控制仅仅验证了连接进程的有效UID为0&#xff…...

Python学习 day03(注意事项)

数据容器 列表...

vue中的生命周期有什么,怎么用

Vue.js 的生命周期(lifecycle)是指 Vue 实例从创建到销毁的整个过程。Vue.js 常用的生命周期包括: beforeCreate:在实例被创建之前调用,此时组件的数据观测和事件机制都未被初始化。created:在实例创建完成…...

论文阅读:ECAPA-TDNN

1. 提出ECAPA-TDNN架构 TDNN本质上是1维卷积,而且常常是1维膨胀卷积,这样的一种结构非常注重context,也就是上下文信息,具体而言,是在frame-level的变换中,更多地利用相邻frame的信息,甚至跳过…...

【Unity】【VR】详解Oculus Integration输入

【背景】 以下内容适用于Oculus Integration开发VR场景,也就是OVR打头的Scripts,不适用于OpenXR开发场景,也就是XR打头Scripts。 【详解】 OVR的Input相对比较容易获取。重点在于区分不同动作机制的细节效果。 OVR Input的按键存在Button和RawButton两个系列 RawButton…...

vue axios封装

Vue.js 是一款前端框架,而 Axios 是一个基于 Promise 的 HTTP 请求客户端,通常用于发送 Ajax 请求。在Vue.js开发中,经常需要使用 Axios 来进行 HTTP 数据请求,为了更好的维护和使用 Axios,我们可以对其进行封装。下面…...

idea大量爆红问题解决

问题描述 在学习和工作中,idea是程序员不可缺少的一个工具,但是突然在有些时候就会出现大量爆红的问题,发现无法跳转,无论是关机重启或者是替换root都无法解决 就是如上所展示的问题,但是程序依然可以启动。 问题解决…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接,私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

PHP和Node.js哪个更爽?

先说结论,rust完胜。 php:laravel,swoole,webman,最开始在苏宁的时候写了几年php,当时觉得php真的是世界上最好的语言,因为当初活在舒适圈里,不愿意跳出来,就好比当初活在…...

云启出海,智联未来|阿里云网络「企业出海」系列客户沙龙上海站圆满落地

借阿里云中企出海大会的东风,以**「云启出海,智联未来|打造安全可靠的出海云网络引擎」为主题的阿里云企业出海客户沙龙云网络&安全专场于5.28日下午在上海顺利举办,现场吸引了来自携程、小红书、米哈游、哔哩哔哩、波克城市、…...

江苏艾立泰跨国资源接力:废料变黄金的绿色供应链革命

在华东塑料包装行业面临限塑令深度调整的背景下,江苏艾立泰以一场跨国资源接力的创新实践,重新定义了绿色供应链的边界。 跨国回收网络:废料变黄金的全球棋局 艾立泰在欧洲、东南亚建立再生塑料回收点,将海外废弃包装箱通过标准…...

【配置 YOLOX 用于按目录分类的图片数据集】

现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...

ios苹果系统,js 滑动屏幕、锚定无效

现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...

C/C++ 中附加包含目录、附加库目录与附加依赖项详解

在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下,音视频内容犹如璀璨繁星,点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频,到在线课堂中知识渊博的专家授课,再到影视平台上扣人心弦的高清大片,音…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法,以下是几种常见的治理方式: 1. 数据质量管理 核心方法: 数据校验:建立数据校验规则(格式、范围、一致性等)数据清洗&…...