rockchip ARM TrustZone

系统架构

分为安全世界和非安全世界。Loader、Trust 运行在安全世界;U-Boot、kernel、Android 运行在非安全世界里(安全的 driver、APP 除外)。

"hypervisor"常见释义为"管理程序""虚拟机监控器""超级监督者"。

它是一种可以创建、运行和管理多个虚拟机的软件或硬件组件,允许多个操作系统在同一台物理计算机上同时运行,实现计算资源的虚拟化和隔离。

CPU 特权等级

Android 系统的固件启动顺序

Maskrom -> Loader -> Trust -> U-Boot -> kernel -> Android

运行内存和生命周期

运行内存: ARM Trusted Firmware 运行在 DRAM 起始偏移 0M~2M 的空间,以 0x10000(64KB)作为程序入口地

址。
生命周期: Trust 自上电初始化之后就始终常驻于内存之中,完成着自己的使命。

问题

目前对外发布的固件只提供 Trust 的 binary 文件,不提供源代码。目前对于 Trust 的调试方式比较少,更

多需要借助专门的 jtag 工具来进行分析,当 Trust 出问题的时候普通使用者一般并不具备自行调试和解决

问题的能力,所以出现问题时请尽量保护好现场、收集足够多的信息反馈给负责 Trust 的 maintainer。因

此通常使用者应当知道哪些是 Trust 的打印信息、Trust 对应的版本号、哪些是 Trust 的 PANIC 信息等。

参考

[0] 开源代码下载:

ARM Trusted Firmware:https://github.com/ARM-software/arm-trusted-firmware

OP-TEE OS:https://github.com/OP-TEE/optee_os
[1] ARM TrustZone:

https://www.arm.com/products/security-on-arm/trustzone

https://developer.arm.com/technologies/trustzone
[2] op-tee 官网:https://www.op-tee.org/
[3] PSCI:http://infocenter.arm.com/help/topic/com.arm.doc.den0022c/DEN0022C_Power_State_Coordination_

Interface.pdf "Power State Coordination Interface PDD (ARM DEN 0022C)"

相关推荐
森焱森11 小时前
嵌入式硬件工程师应知 白银快速分析报告
linux·c语言·arm开发·嵌入式硬件·去中心化
森G1 天前
七、04ledc-sdk--------makefile有变化
linux·c语言·arm开发·c++·ubuntu
VekiSon1 天前
Linux内核驱动——杂项设备驱动与内核模块编译
linux·c语言·arm开发·嵌入式硬件
AI+程序员在路上1 天前
Nand Flash与EMMC区别及ARM开发板中的应用对比
arm开发
17(无规则自律)1 天前
深入浅出 Linux 内核模块,写一个内核版的 Hello World
linux·arm开发·嵌入式硬件
梁洪飞2 天前
内核的schedule和SMP多核处理器启动协议
linux·arm开发·嵌入式硬件·arm
代码游侠2 天前
学习笔记——Linux字符设备驱动
linux·运维·arm开发·嵌入式硬件·学习·架构
syseptember3 天前
Linux网络基础
linux·网络·arm开发
代码游侠3 天前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
程序猿阿伟3 天前
《Apple Silicon与Windows on ARM:引擎原生构建与模拟层底层运作深度解析》
arm开发·windows