网站设计ai/网站快速排名互点软件
文章目录
- Cortex-M33 SAU 介绍
- SAU 的主要功能包括
- SAU 寄存器
- 配置示例
Cortex-M33 SAU 介绍
在 ARMv8-M 架构中,SAU(Security Attribution Unit)是安全属性单元,用于配置和管理内存区域的安全属性。SAU 是 ARM TrustZone 技术的一部分,该技术提供了在单个处理器中创建安全(Secure)和非安全(Non-secure)状态的能力,允许系统同时运行受信任的安全代码和非受信任的非安全代码。
SAU 能够定义多个内存区域,并为每个内存区域指定其是否可被安全状态和/或非安全状态访问。这样,SAU 可以帮助创建一个隔离的安全环境,其中敏感的代码和数据可以被保护,不受非安全代码的影响。
SAU 的主要功能包括
- 内存区域定义:SAU 允许你定义一系列的内存区域,并为每个区域指定安全属性。这些区域可以是 RAM、ROM、外设或其他类型的内存。
- 安全属性配置:对于每个区域,可以配置其是否为安全或非安全访问。这是通过设置区域的属性位来完成的。
- 默认内存映射:SAU 也允许配置默认内存映射,即对于没有明确通过 SAU 区域定义的内存,指定它们的安全状态。
SAU 寄存器
SAU 的配置是通过一系列的系统控制寄存器来完成的,主要包括:
Address | Register | Description |
---|---|---|
0xE000EDD0 | SAU_CTRL | SAU Control Register |
0xE000EDD4 | SAU_TYPE | SAU Type Register |
0xE000EDD8 | SAU_RNR | SAU Region Number Register |
0xE000EDDC | SAU_RBAR | SAU Region Base Address Register |
0xE000EDE0 | SAU_RLAR | SAU Region Limit Address Register |
0xE000EDE4 | SFSR | Secure Fault Status Register |
0xE000EDE8 | SFAR | Secure Fault Address Register |
- SAU_CTRL:SAU 控制寄存器,用于启用或禁用 SAU,以及配置默认的内存映射属性。
- bit[1]:
- 0- Memory is marked as Secure and is not Non-secure callable.
- 1- Memory is marked as Non-secure.
- bit[0]:
- 0-SAU is disabled;
- 1-SAU is enabled;
- bit[1]:
- SAU_TYPE:SAU 类型寄存器,提供 SAU 支持的区域数量和配置信息。
- bit[7:0]: SAU regions. The number of implemented SAU regions.
- SAU_RNR: SAU 区域编号寄存器,用于选择要配置的 SAU 区域。
- bit[7:0]:Region number. Indicates the SAU region accessed by SAU_RBAR and SAU_RLAR.
- SAU_RBAR 和 SAU_RLAR:SAU 区域基址和限制寄存器,用于定义具体 SAU 区域的起始地址和结束地址,并指定区域的安全属性。
- SAU_RBAR bits [31:5]: Base address. Holds bits [31:5] of the base address for the selected SAU region.
- SAU_RLAR bits [31:5]: Limit address. Holds bits [31:5] of the limit address for the selected SAU region.
- NSC, bit [1]: Non-secure callable. Controls whether Non-secure state is permitted to execute an SG instruction from this
region.- 0: Region is not Non-secure callable.
- 1: Region is Non-secure callable.
- bit [0]:
- 0-SAU region is disabled,
- 1-SAU region is enabled.
配置示例
假设我们想要将一块内存区域配置为安全区域,我们可以按照以下步骤进行:
- 确定内存区域的起始地址和结束地址。
- 选择 SAU 区域编号并配置 SAU_RNR 寄存器。
- 设置 SAU_RBAR 寄存器,定义区域的起始地址和安全属性。
- 设置 SAU_RLAR 寄存器,定义区域的结束地址。
- 如果需要,配置 SAU_CTRL 寄存器以启用 SAU 并设置默认内存映射。
配置 SAU 通常在系统启动时进行,作为启动代码或安全初始化例程的一部分。正确配置 SAU 对于确保系统的安全性是至关重要的,因此需要仔细规划内存布局,并根据系统需求设置正确的安全属性。
由于 SAU 的配置涉及到系统的安全架构,因此需要具备相应的权限才能进行配置。在非安全状态下的代码通常无法修改 SAU 的设置,以保护安全状态下的资源不被非安全代码破坏。
相关文章:

【ARMv8M Cortex-M33 系列 1 -- SAU 介绍】
文章目录 Cortex-M33 SAU 介绍SAU 的主要功能包括SAU 寄存器配置示例 Cortex-M33 SAU 介绍 在 ARMv8-M 架构中,SAU(Security Attribution Unit)是安全属性单元,用于配置和管理内存区域的安全属性。SAU 是 ARM TrustZone 技术的一…...

sklearn 逻辑回归Demo
逻辑回归案例 假设表示 基于上述情况,要使分类器的输出在[0,1]之间,可以采用假设表示的方法。 设 h θ ( x ) g ( θ T x ) h_θ (x)g(θ^T x) hθ(x)g(θTx), 其中 g ( z ) 1 ( 1 e − z ) g(z)\frac{1}{(1e^{−z} )} g(z)(1e−z)1…...

什么是众创空间?他有什么特点?
众创空间,是一种为大众创新创业提供专业化服务的创业服务平台,是顺应网络时代创新创业特点和需求,通过市场化机制、专业化服务和资本化途径构建的低成本、便利化、全要素、开放式的新型创业服务平台的统称。众创空间包括创客空间、联合办公空…...

什么是数据分析思维
参考 一文学会如何做电商数据分析(附运营分析指标框架) 电子商务该如何做数据分析?如何数据分析入门(从各项指标表象进入) https://www.processon.com/outline/6589838c3129f1550cc69950 数据分析步骤 什么是数据分析…...

利用Milvus Cloud和LangChain构建机器人:一种引人入胜且通俗易懂的方法
一、引言 机器人已经深入我们的日常生活,从家庭服务到工业生产,再到医疗和运输等领域。然而,这些机器人往往需要复杂的算法和数据处理技术才能有效地执行任务。在这个过程中,人工智能(AI)和机器学习&#…...

数据结构-如何实现一个队列?逐步解析与代码示例(超详细)
文章目录 前言1.队列的基本概念2.链表与数组实现队列的区别2.1数据存储结构2.2性能2.3内存使用 3.为什么选择链表实现队列?4.结构定义函数声明 5.核心操作5.1初始化 (QInit)5.2销毁 (QDestroy)5.3入队 (QPush)5.4出队 (QPop) 6.队列的查询操作6.1队首元素 (QueueFro…...

爬虫工作量由小到大的思维转变---<第二十三章 Scrapy开始很快,越来越慢(医病篇)>
诊断篇https://blog.csdn.net/m0_56758840/article/details/135170994?ops_request_misc%257B%2522request%255Fid%2522%253A%2522170333243316800180644102%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id1703332433168001806441…...

.Net7.0 或更高版本 System.Drawing.Common 上传图片跨平台方案
项目升级.Net7.0以后,System.Drawing.Common开关已经被删除,且System.Drawing.Common仅在 Windows 上支持 ,于是想办法将原来上传图片验证文件名和获取图片扩展名方法替换一下,便开始搜索相关解决方案。 .Net6.0文档:…...

【MySQL】InnoDB和MyISAM区别
文章目录 一、索引不同1 InnoDB聚簇索引,MyISAM非聚簇索引1 InnoDB聚簇索引2 MyISAM非聚簇索引 2 InnoDB必须要有主键,MyISAM允许没有主键3 InnoDB支持外键4 InnoDB不支持全文索引5 索引保存位置不同 二、对事物的支持三、存储结构不同四、存储空间不同五…...

3分钟了解安全数据交换系统有什么用!
企业为了保护核心数据安全,都会采取一些措施,比如做网络隔离划分,分成了不同的安全级别网络,或者安全域,接下来就是需要建设跨网络、跨安全域的安全数据交换系统,将安全保障与数据交换功能有机整合在一起&a…...

记录汇川:MODBUS TCP-梯形图
H5U的MODBUS通信不需要编写程序,通过组态MODBUS通信配置表,实现数据通信。 Modbus-TCP 主站即Modbus-TCP客户端,通过Modbus-TCP配置,可最多支持同时与31个 Modbus-TCP服务器(从站)进行通讯。 …...

electron + sqlite3 解决打包后无法写入数据库
前言 window环境。 electron28.0.0 sqlite35.1.6 使用 electron-builder 打包。 本文旨在解决打包后无法写入数据库的问题。 但如果你是打包后无法访问sqlite,且有报错弹窗,不妨也看看本文。 也许是同一种原因。 错误原因分析 打包后无法创建db文件&…...

【uniapp小程序-生成二维码+多个图片文字合并一张图】
<!-- 二维码 --><canvas id"qrcode" canvas-id"qrcode" width"120" ></canvas><!-- 生成带小程序码的分享图片 --><canvas canvas-id"shareCanvas" class"share-canvas"></canvas>#qrc…...

Text-to-SQL小白入门(十)RLHF在Text2SQL领域的探索实践
本文内容主要基于以下开源项目探索实践, Awesome-Text2SQL:GitHub - eosphoros-ai/Awesome-Text2SQL: Curated tutorials and resources for Large Language Models, Text2SQL, Text2DSL、Text2API、Text2Vis and more.DB-GPT-Hub:GitHub - eosphoros-ai…...

深度学习 | 基本循环神经网络
1、序列建模 1.1、序列数据 序列数据 —— 时间 不同时间上收集到的数据,描述现象随时间变化的情况。 序列数据 —— 文本 由一串有序的文本组成的序列,需要进行分词。 序列数据 —— 图像 有序图像组成的序列,后一帧图像可能会受前一帧的影响…...

VSCode 加Cortex-Debug嵌入式调试方法
简介 当使用ARM Cortex-M微控制器时,Cortex-Debug是一个Visual Studio Code的扩展,以简化调试过程。本文档介绍了如何编写启动配置(launch.json)。 settings.json配置 打开VSCode用户设置文件settings.json: 文件→偏好→设置选择用户设置: 在搜索栏中…...

etcd-workbench一款免费好用的ETCD客户端,支持SSHTunnel、版本对比等功能
介绍 今天推荐一款完全免费的ETCD客户端,可以私有化部署: etcd-workbench 开源地址:https://github.com/tzfun/etcd-workbench Gitee地址:https://gitee.com/tzfun/etcd-workbench 下载 本地运行 从 官方Release 下载最新版的 jar 包&am…...

华为ipv6配置之ospf案例
R1 ipv6 ospfv3 1 router-id 1.1.1.1 //必须要手动配置ospf id,它不会自动生成 interface GigabitEthernet0/0/0 ipv6 enable ipv6 address 2000::2/96 ospfv3 1 area 0.0.0.0 interface LoopBack0 ipv6 enable ipv6 address 2001::1/96 ospfv3 1 area 0.0.0.0 R2…...

Design patterns--装饰模式
设计模式之装饰模式 使用装饰模式来封装Nmea0183语句。 代码 #ifndef DATAPARSER_H #define DATAPARSER_H#include <string> #include <vector>class DataParser { public:DataParser();virtual std::string fieldAnalysis(std::vector<std::string> vecSt…...

卷积神经网络 反向传播
误差的计算 softmax 经过softmax处理后所有输出节点概率和为1 损失(激活函数) 多分类问题:输出只可能归于某一个类别,不可能同时归于多个类别。 误差的反向传播 求w的误差梯度 权值的更新...

java面试题20
Java中的类加载机制可继续通过自定义类加载器来实现热部署、插件化和动态加载等功能,使得应用程序能够在运行时加载未知的类和资源。 什么是Java中的多线程(Multithreading)?它有什么作用? 答案:多线程是一…...

【Java面试题】redis的过期策略有哪些
redis通过设置过期时间来控制键值对的存活时长,过期时间可以通过expire , pexpire expireat , pexpireat 等命令设置,String 类型数据可以通过setex命令设置过期时间。 以下介绍三种redis的过期策略: 1. 定时删除 在设置键值对的过期时…...

for参数 命令语句 变量
for 参数f skip命令语句 命令说明: 跳过文本内容(行):skip 例子: for /f "skip1" %%i in(2.txt) do echo %%i for 参数f eol命令语句 命令说明: 怱略指定字符的文本内容(文本首部…...

CentOS 8的新特性
CentOS 8在2019年发布,带来了比CentOS 7更多的新特性和改进。以下是一些主要的变化和优化: 软件包更新:CentOS 8提供了更新的软件包和程序,包括但不限于Python 3、MySQL 8、PHP 7.2、Ruby 2.5、PostgreSQL 10等。 应用流…...

vue2、vue3状态管理之vuex、pinia
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、状态管理之vuex1.1 State调用:1.2 Mutation在vuex中定义:在组件中使用: 1.3 Action在vuex中定义:将上面的减…...

axios进行图片上传组件封装
文章目录 前言图片上传接口(axios通信)图片上传使用upload上传头像效果展示总结 前言 node项目使用 axios 库进行简单文件上传的模块封装。 图片上传接口(axios通信) 新建upload.js文件,定义一个函数,该函数接受一个上传路径和一…...

2312llvm,用匹配器构建clang工具
原文 用LibTooling和LibASTMatchers构建工具 这里展示如何基于Clang的LibTooling构建有用的源到源翻译工具.基础 步骤0:取Clang 因为Clang是LLVM项目的一部分,因此你需要先下载LLVM的源码.Clang和LLVM都在同一个git仓库中,在不同的目录下.更多见入门指南. cd ~/clang-llvm…...

12.26ARM作业
三个按键中断,控制对应灯亮灭 main.c #include "key_it.h"void delay(int ms){int i,j;for(i0;i<ms;i){for(j0;j<2000;j);}}int main(){all_led_init();key1_it_config();key2_it_config();key3_it_config();while(1){printf("do main...\n&…...

Objectiv-C设计模式笔记
文章目录 通用知识点对象创建原型模式定义适用场景示例 工厂方法定义适用场景示例 抽象工厂定义适用场景示例 生成器模式定义适用场景示例 单例模式定义适用场景示例 接口适配适配器定义适用场景示例 桥接定义适用场景示例 外观模式定义适用场景示例 对象去耦中介者定义适用场景…...

AI安全综述
1、引言 AI安全这个话题,通常会引伸出来图像识别领域的对抗样本攻击。下面这张把“熊猫”变“猴子”的攻击样例应该都不陌生,包括很多照片/视频过人脸的演示也很多。 对抗样本的研究领域已经具备了一定的成熟性,有一系列的理论来论述对抗样本…...