ARM TrustZone技术简介(二)
2017-10-08 20:47
507 查看
转自:http://blog.csdn.net/Alex___Zhao/article/details/76695492
对具有TrustZone的ARM处理器来说,为了保证运行其在EL3,安全侧和非安全侧的不同软件系统,其一般分为多个部分被bootloader分别进行加载运行,其流程在Linaro的Trust Firmware中有介绍,其基本流程如下图所示
![](https://img-blog.csdn.net/20170804214718238?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWxleF9fX1poYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
当系统复位之后,先通过第一级的Bootloader 这里叫做 BL1进行启动其会加载BL2的系统加载器,而BL2 会将BL31 Trust Firmware, BL32 安全OS, BL33 Linux加载到内存的位置中,然后切换到BL32执行,BL32执行完初始化之后会通过BL31 的代码切换到BL33 进行对Linux系统的初始化工作,然后整个系统上的不同安全区域的系统就都正常运行起来了。
而当系统正常运行时,其基本结构如下图所示
![](https://img-blog.csdn.net/20170804215524724?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvQWxleF9fX1poYW8=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
Linux只能通过其TrustZone的驱动程序来切换到安全OS,其中Linux向TrustZone传递数据的方式大部分是通过内存来完成的,而TrustZone向Linux的数据传递也大多通过内存来进行。
对具有TrustZone的ARM处理器来说,为了保证运行其在EL3,安全侧和非安全侧的不同软件系统,其一般分为多个部分被bootloader分别进行加载运行,其流程在Linaro的Trust Firmware中有介绍,其基本流程如下图所示
当系统复位之后,先通过第一级的Bootloader 这里叫做 BL1进行启动其会加载BL2的系统加载器,而BL2 会将BL31 Trust Firmware, BL32 安全OS, BL33 Linux加载到内存的位置中,然后切换到BL32执行,BL32执行完初始化之后会通过BL31 的代码切换到BL33 进行对Linux系统的初始化工作,然后整个系统上的不同安全区域的系统就都正常运行起来了。
而当系统正常运行时,其基本结构如下图所示
Linux只能通过其TrustZone的驱动程序来切换到安全OS,其中Linux向TrustZone传递数据的方式大部分是通过内存来完成的,而TrustZone向Linux的数据传递也大多通过内存来进行。
相关文章推荐
- ARM TrustZone技术简介
- ARM TrustZone技术简介 -- 2
- ARM TrustZone技术简介(四)(TrustOS)
- ARM TrustZone技术简介 -- 4 (TrustOS)
- TrustZone技术简介
- ARM TrustZone技术简介 -- 3 (BL31 Secure Monitor简介)
- ARM TrustZone技术简介 -- 1
- 使用TrustZone技术的移动终端匿名认证协议论文PPT:DAA-TZ: An Efficient DAA Scheme for Mobile Devices using ARM TrustZone
- ARM 虚拟化扩展技术简介
- ARM的TrustZone技术
- ARM DSP & SIMD技术简介
- ARM Jazelle技术简介
- TrustZone技术简介
- ARM VFP技术简介
- Spring的核心技术(四)---依赖性简介
- 4K技术简介
- ASP.NET 2.0的缓存技术简介
- SELinux Introduce - SELinux技术简介
- AJAX 核心基础技术 - 非宣传性简介