- 博客(1281)
- 资源 (21)
- 问答 (1)
- 收藏
- 关注
原创 【置顶】TEE从入门到精通-[目录]
此专栏讲解包含不限于optee、商用TEE、常规的安全业务设计。但主要基于optee最新代码,深度讲解和剖析各项原理和机制...
2022-05-06 08:35:45 4141 2
原创 【置顶】环境搭建安装问题笔记[目录]
文章目录HOW TOIssue Fixed其它HOW TO[HOW TO]-virtualbox下安装ubuntu14.04超详细[HOW TO]-图解virtualbox下安装ubuntu20.04虚拟机[HOW TO]-ubuntu下快速搭建http[HOW TO]-在ubuntu20.10上搭建SVN Server[HOW TO]-ubuntu下安装selenium[HOW TO]-ubuntu20.10安装openjrok指南[HOW TO]-openjrok维护手册[HOW T
2021-08-08 15:58:42 430
原创 【置顶】Android13安全架构精选-[目录]
讲述android13最新安全架构,包括但不限于:Gatekeeper(locksetting)、生物认证(指纹fingerprint、人脸faceid)、keystore/keystore2/keymaster/keymint、googlekey(attesstation key).....
2021-04-02 22:06:58 5608 1
原创 [目录]-博客笔记导读目录(全部)
编辑backup: 汇总-arm-optee-android-复制黏贴–(网址)============= (以下是正文) =============CA/TA开发(收费区)0-博客笔记导读目录(全部)-backup-202111210-博客笔记导读目录(全部)-backup-202108120-博客笔记导读目录(全部)-backup-202201180-博客笔记导读目录(全部)-20220506backup草稿-博客笔记导读目录(全部)(统计:本文共记录650篇博文)...............
2020-06-30 10:57:13 30577 24
原创 震撼!新的Armv9虚拟内存架构:128位系统寄存器、128位页表项、56位物理地址
在很早很早之前,就听说了128位的page descriptor,即128位的页表项。当时就很好奇,那MMU构建页表的代码岂不是都得重写?好多原理机制都要变?在Armv9中,在实现了FEAT_D128 feature的版本中,MMU支持128位的页表描述符,也就意味着,每一个页表项都是128位的,页表基地址寄存器也是128位的了。以下为大家摘出了细节。
2024-04-17 09:57:03 25
原创 中华人民共和国密码行业标准-各类标准文档下载
GM/T 0034-2014 基于SM2密码算法的证书认证系统密码及其相关安全技术规范。GM/T 0053-2016 密码设备管理 远程监控与合规性检验接口数据规范。GM/T 0002-2012 SM4分组密码算法(原SMS4分组密码算法)GM/T 0017-2012 智能密码钥匙密码应用接口数据格式规范。GM/T 0052-2016 密码设备管理 VPN设备监察管理规范。GM/T 0050-2016 密码设备管理 设备管理技术规范。GM/T 0016-2012 智能密码钥匙密码应用接口规范。
2024-04-14 18:48:01 862
原创 一文帮你梳理ARM基础概念
ARM、armv8、armv9、arm架构、arm视频、添加vx : arm_2023 获取更多资料, arm资料、arm下载、arm学习、arm免费、arm课程,PE - processing elementARM体系结构定义了抽象机器的行为,称为处理元素(processing element),通常缩写为PE。与ARM体系结构兼容的实现必须符合处理元素所描述的行为。RISC架构ARM架构是一个精简指令集计算机(RISC)架构,具有以下RISC架构特征:- 一个大的统一寄存器文件。- 一种
2024-03-22 10:45:28 613 1
转载 ARM VS X86 处理器构架一文读懂
ARM、armv8、armv9、arm架构、arm视频、arm资料、arm下载、arm学习、arm免费、arm课程、、、、Trustzone、trustzone学习、trustzone资料、trustzone课程、trustzone视频、trustzone下载、trustzone免费、、、、TEE、optee、TEE学习、TEE资料、TEE课程、TEE视频、TEE下载、TEE免费ATF、ATF学习、ATF资料、ATF课程、ATF视频、ATF下载、ATF免费TF-A、TF-A学习、TF-A资料、TF
2024-03-22 00:57:16 61
原创 arm架构-从入门到精通
ARM、armv8、armv9、arm架构、arm视频、arm资料、arm下载、arm学习、arm免费、arm课程,添加vx : arm_2023 获取更多资料#### 异常中断不仅仅是整个ARM软硬件架构的核心,也是各类操作系统的灵魂。学好异常中断后,您对待很多专业的技术都可以无师自通了;学好异常中断后,您再去学习其它的知识点,都可以事半功倍。所以我也一直提倡:学安全其实就是在学习架构、学习架构的核心其实学习异常中断。这一节,要好好学、这一节也简单,学习本节是需要花费很多时间和精力的。3、学习MM
2024-03-22 00:39:16 948
原创 cache的58问,您能回答上几个
👉👉👉 个人博客笔记导读目录(全部) 👈👈👈:缓存,高速缓存,cache, CCI,CMN,CCI-550,CCI-500,DSU,SCU,L1,L2,L3,system cache, Non-cacheable,Cacheable, non-shareable,inner-shareable,outer-shareable, optee、ATF、TF-A、Trustzone、optee3.14、MMU、VMSA、cache、TLB、arm、armv8、armv9、TEE、安全、内存管理、页表…
2024-03-18 00:53:13 981 3
原创 全相联的cache、多路组相连的cache、直接相连的cache的优缺点分别是什么?
全相联、多路组相连和直接相联是三种常见的缓存映射方式,它们各自具有一些优点和缺点。
2024-03-16 23:23:13 96
原创 多核多cluster多系统之间缓存一致性概述
big.LITTLE架构中多核缓存一致性dynamIQ架构中多核缓存一致性多cluster之间缓存一致性其实也适用于:不同cluster之间多核的缓存一致性然后接下来,我们开始学习MESI协议,注意着仅仅是一个协议 ,它既不是软件也不是硬件,算上一个标准吧。MESI StateDefinition这行数据有效,数据已被修改,和内存中的数据不一致,数据只存在于该高速缓存中这行数据有效,数据和内存中数据一致,数据只存在于该高速缓存中Shared (S)
2024-03-10 19:43:12 992 2
原创 cache的基本概念原理扫盲
big.LITTLE架构 和DynamIQ架构 的cache是有区别的在big.LITTLE架构中,大核小核在不同的cluster中,做为两个不同的ACE或CHI Master,连接到缓存一致性总线上(CCI或CMN)。大核cluster和小核cluster的缓存一致性,也需要通过一致性总线来解决。到了DynamIQ架构中,大核和小核都是一个DSU cluster中,一个DSU cluster最多可以支持8个core。
2024-03-10 19:36:51 891
原创 SMMU学习这一篇就够了
最近朋友圈、微信群()掀起一阵学习SMMU的热潮,作为一名安全领域的渣渣,势必要蹭一蹭这个“热点”,也学习一下吧,反正早晚都要学,因为它和安全的关系还是比较大的。学习是一件长期的过程,本文就先简单理一下概念吧。SMMU的全称是System Memory Management Units, 它属于Arm的System IP, 主要给其他Master来使用,其连页表格式和Core MMU是一样的,理论上可以让Core的MMU和SMMU使用同一套页表.那么SMMU都是用在哪些地方呢?
2024-03-10 18:29:26 772
原创 [mmu/cache]-ARM MMU的学习笔记-一篇就够了
MMU分为两个部分: TLB maintenance 和 address translationMMU的作用,主要是完成地址的翻译,无论是main-memory地址(DDR地址),还是IO地址(设备device地址),在开启了MMU的系统中,CPU发起的指令读取、数据读写都是虚拟地址,在ARM Core内部,会先经过MMU将该虚拟地址自动转换成物理地址,然后在将物理地址发送到AXI总线上,完成真正的物理内存、物理设备的读写访问。
2024-03-10 18:25:12 881
原创 [mmu/cache]-ARMV8-aarch64的虚拟内存(mmu/tlb/cache)介绍-概念扫盲
在ARMV8-aarch64体系下,ARM Core访问内存的硬件结构图如下所示:其中,MMU由TLB和Table Walk Unit组成的.TLB:Translation Lookaside Buffer (TLB),对应着TLB指令Table Walk Unit,也叫地址翻译,address translation system,对应着AT指令。
2024-03-10 18:22:40 860
原创 深度学习armv8/armv9 cache的原理
思考 :什么是Set、way、TAG 、index、cache line、entry?对于cacheable属性,inner和outer描述的是cache的定义或分类。比如把L1/L1看做是inner,把L3看做是outer通常,内部集成的cache属于inner cache,外部总线AMBA上的cache属于outer cache。对于上述的big.LITTLE架构(A53为例)中,L1/L2属于inner cache,如果SOC上挂了L3的话,则其属于outer cache。
2024-03-10 18:20:30 952 1
原创 10-ARM gicv3/gicv4的总结-基础篇
如果PE is offline (GICR_WAKER.ProcessorSleep==1)时,来了一个中断target到该PE上,将产一个wake request信号,这个信号连接PE的power controller,该controller将会打开PE。本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secureboot,资深安全架构专家,11年手机安全/SOC底层安全开发经验。擅长trustzone/tee安全产品的设计和开发。
2024-03-10 18:16:45 873
原创 [gic]-linux和optee的中断处理流程举例(gicv3举例)
当cpu处于secure侧时,来了一个安全中断,根据SCR.NS=0/中断在secure group1组,cpu interface将会给cpu一个IRQ,(由于SCR.IRQ=0,IRQ将被routing到EL1),cpu跳转至optee的irq中断异常向量表, 处理完毕后再返回到secure(optee)侧.本文转自 周贺贺,baron,代码改变世界ctw,Arm精选, armv8/armv9,trustzone/tee,secureboot,资深安全架构专家,11年手机安全/SOC底层安全开发经验。
2024-03-10 18:10:40 854
原创 armv8/armv9不同特权程序之间的跳转模型
启动时镜像之间是如何跳转的runtime是镜像之间是如何跳转的4个特权等级、4个安全状态、2个执行状态启动模型中的BL1 BL2 BL31 BL32 BL33的概念。
2024-03-10 18:04:34 1049
原创 [trustzone]-ARM trustzone的安全扩展介绍-一篇就够了
从上文我们已经知道, ARM Trustzone不具体指一个硬件,也不是一个软件,而是一个技术架构,在支持ARM Trustzone的SOC中,需按照ARM Trustzone技术对各个子模块进行设计。如下便展示了一个SOC的Trustzone架构下的设计框图(1)、AMBA-AXI总线的扩展, 增加了标志secure读和写地址线:AWPROT[1]和ARPROT[1]
2024-03-10 18:00:42 943
原创 SOC的多核启动流程详解
mailbox就说一块内存,所有的core都能访问这块内存。第一次启动时,core会填充mailbox,将其下次resume时的地址、secondary core的启动地址、warm reset的地址写入到mailbox内存中,这几个地址其实是一个地址。同时也会将这个地址写入到SOC PMIC寄存器中,影响到RVBAR_EL3的值。当SOC一上电所有core都启动的这种情况下,主核会继续跑,从核会在SOC一上电就进入wfi状态。
2024-03-10 17:57:20 900
原创 ATF快速扫盲(Quick Start)
首先什么是TF-A(ATF)?ATF就是一个固件,一段代码,一个为armv7-A/armv8-A/armv9-A提供的参考实现代码。(注意,这只是参考实现,你也可以不用ATF,用自己写的一个固件。ATF将镜像进行了划分,BL1 BL2属于启动引导镜像,BL3属于runtime镜像。BL3又分为BL31 BL32 BL33对应的分别是ATF Runtime、REE Runtime、TEE Runtime。
2024-03-10 17:53:10 889
原创 ARMv8/ARMv9架构入门到精通-学习方法
在学习本节知识时,千万不要把时间和精力放到学汇编上,我认为“学汇编的就是在刷流氓”、“学汇编的都是在摸鱼”,当然我的本意并不是说不让你学习汇编,而是学习汇编不需要花太多精力,简单了解下就可以了,二三十个指令读一读就可以了,不用去背也不用去记。我们常用的汇编指令也就几十个,即使你没有背和记,相信你也看得懂。, 无论实现与否,目标还是要有的,只要您坚持不断的学习(一定不是死里卷的那种,而是找对方法,高效率学习的那种),相信在未来即使没有达成下面图片中的目标,但挣点钱/薪资涨一涨/工作的压力减一减还是可以的。
2024-03-10 17:50:04 948
原创 armv8/armv9 MMU深度学习
MMU分为两个部分和MMU的作用,主要是完成地址的翻译,即虚拟地址到物理地址的转换,无论是main-memory地址(DDR地址),还是IO地址(设备device地址),在开启了MMU的系统中,CPU发起的指令读取、数据读写都是虚拟地址,在ARM Core内部,会先经过MMU将该虚拟地址自动转换成物理地址,然后在将物理地址发送到AXI总线上,完成真正的物理内存、物理设备的读写访问.那么为什么要用MMU?为什么要用虚拟地址?多个程序独立执行 — 不需要知道具体物理地址。
2024-03-10 00:45:31 1017
原创 Neoverse CSS N3:实现市场领先能效的最快途径
Neoverse CSS N3是经过市场验证的Neoverse CSS N2 的后续产品,通过新的架构功能提供更高的性能和效率,以实现数据中心市场中领先的性能/套接字和性能/TCO。借助新的CSS N3,Arm 将 Neoverse N3 的性能和效率与 Neoverse S3 系统 IP 相结合,提供业界最可定制的计算子系统之一,与之前的 CSS 相比,每瓦性能提高了 20% 至近 50%一代。并且功率预算保持固定。超大规模企业正在部署具有更高核心数量的更密集的 CPU,同时保持在机架的冷却能力范围内。
2024-03-03 23:53:55 902
原创 《Trustzone/TEE/安全-实践版》介绍
环境搭建方式二:使用release镜像-快速搭建。环境搭建方式一:使用搭建好的环境-直接使用。环境搭建方式三:从0开始集成TEE到开发版。开发一个TA能在多家tee上运行的示例。optee qemu_v8环境展示。搭建optee qemu_v8环境。optee密码学算法模型和示例详解。optee安全存储模型和示例详解。为什么使用qemu_v8环境?CA/TA开发模板程序的介绍。快速开发一个CA/TA程序。香橙派optee环境展示。开发一个CA/TA程序。qemu_v8环境下载。使用搭建好的镜像环境。
2024-03-03 09:46:05 544
原创 Android 15的新功能介绍
虽然谷歌已经发布了 Android 15 Preview 1,但这并不是完整的更新,因为该公司计划在后续的每月测试版中引入新功能。但这可能会让您思考,“Android 15 带来了哪些新功能?” 为了寻找答案,让我们深入了解 Android 15。
2024-02-27 21:14:11 795
原创 Neoverse S3 系统 IP:机密计算和多芯片基础设施 SoC 的基础
这些 CSS 产品代表了基于 Arm Neoverse 的解决方案的未来,因为我们作为一个行业和生态系统的长期目标是实现更低成本、可重复使用的基于 Arm 的小芯片。Neoverse S3 产品是我们的第三代 Neoverse 系统 IP,它们构成了我们的CSS V3和CSS N3的基础。NOC S3 是我们基于 NI-700 构建的新型非相干互连,NOC S3 专为 IO 相干加速芯片而构建,它使合作伙伴能够以与合作伙伴习惯于基于片上 AMBA 的设计相同的轻松性和性能来构建分解的 SOC。
2024-02-27 10:11:20 1112
原创 14-ATF中对多核的支持
讨论一个系统、一个软件或ATF对多核的支持,其实就是看这个软件,在启动阶段如何区分主核、从核的?在runtime阶段,是否能把不同核的CPU Data加以区分?是否能区分出cpuid?
2024-02-25 13:27:51 135
原创 11-ATF初始化Normal cpu context
ATF (Arm Trusted Firmware) 初始化 Normal CPU Context 的步骤主要涉及设置正常世界(Normal World)CPU的环境,确保在从安全世界(Secure World)切换到正常世界时,CPU能够正确执行正常世界的代码。设置安全状态: ATF会设置CPU从安全世界(Secure World)到正常世界(Normal World)的切换。上下文保存: 在切换到正常世界之前,ATF会保存当前的CPU上下文,包括寄存器和其他状态信息。处获取跳转到REE的参数。
2024-02-25 13:11:33 62
原创 08-BL31对异常中断的支持
ATF的作用就变成了依赖各种RT-Service,对低异常等级发出的各种请求进行响应和处理。很多很多的RT-service都是靠着同步异常中的smc触发的同步异常进行交互处理的。当然了,同步异常也有很多种类,有一些也会trap到ATF中去处理的。异常中断有两类,一类是异步异常的处理。包含target到EL3系统错误、正常的target的EL3的中断、以及多系统之间的转发中断。所以就是一切软件的入口、一切调用的入口,都是从异常中断开始。与之对应的是,一切软件或调用的返回,都是从异常中断返回指令开始。
2024-02-25 12:41:54 60
原创 15-ATF中的栈的设计
做为一名软件工程师、嵌入式工程师,不管底层上层,在工作中多多少少都会谈到"栈"这个字,那么何为栈呢? 你真的懂和理解吗?啥又是栈指针?栈内存?本文就以armv8/armv8的aarch64体系、TF-A(ATF)代码为示例,以直接写出答案的方案来总结:栈指针和栈内存的基本概念。1、首先讲解一下aarch64的状态下,有哪些SP寄存器,非常简单:- SP_EL0 //当spsel == 0,高的级别访问的sp就是sp_el0- SP_EL1 //在EL1级别下使用,且spsel == 1,此时sp
2024-02-25 12:33:50 43
基于英飞凌产品的汽车EPS方案介绍
2023-06-23
面向安全要求严苛的应用的飞思卡尔双核控制器系列
2023-06-23
汽车电动助力转向系统的研究与方案-英飞凌
2023-06-23
支持ASIL D 应用的安全集成硬件解决方案
2023-06-23
论文:函数信号发生器制作
2023-06-23
论文:单相电参数测量仪
2023-06-23
基于51单片机循迹智能小车
2023-06-23
C8051F005小车自动控制
2023-06-23
AT89C51红外避障小车
2023-06-23
电动车跷跷板-全国大学生电子设计竞赛
2023-06-23
电动智能小车(完整论文)
2023-06-23
嵌入式Linux C语言初学者项目实践:火车票订票系统
2023-04-12
GPD_TEE_TUI_Extn_Biometrics_API_v1.0_PublicRelease_2018_04_03.pdf
2021-08-05
GPD_TEE_Internal_Core_API_Specification_v1.3_PublicRelease.pdf
2021-08-05
python英文批量翻译成中文?
2021-08-23
TA创建的收藏夹 TA关注的收藏夹
TA关注的人