尊天命,尽人事
分类: Android平台
2014-03-10 09:57:12
DS-5的下载地址,需要注册ARM官网。注册个ARM账号,没有XX版本。
TrustZone的HelloWorld的
需要背景知识:
1.arm汇编(中级)
2.了解如何制作linux的boot,kernel
3.了解文件在flash布局与开发
4.了解TrustZone相关硬件设置方法
5.软件开发以及混合编程(中级)
6.Makefile使用方法
7.基于eclipse的DS-5的使用
假定你拥有了上面的知识,了解这个程序应该简单一些。不过ARM官方的东西,注释还是比较多的。如果你只是想编译通过,了解其中几项也是没问题的。
这个程序告诉我们什么?或者说通过这个程序我们学到了什么?
1.安全区先启动
2.Monitor必须在安全区启动
3.如何实现SMC(TZ的切换)跳转
4.需要硬件TZPC支持
这是个基础,稍后我们会慢慢研究这个东西的。
secureStart startup_secure.s: Initialization of Secure world | __main ARM library initialization | main main_secure.c: Enable caches and configure TZPC | monitorInit monitor.s: initialize Monitor | main main_secure.c: Print message and execute SMC | S -> NS | normalStart startup_normal.s: Initialization of Normal world | __main ARM library initialization | main main_normal.c: Enable caches, print message and execute SMC | NS -> S | SMC_Handler monitor.s: Perform context switch from NS to S | main main_secure.c: Print message and execute SMC | SMC_Handler monitor.s: Perform context switch from S to NS | S -> NS | main main_normal.c: Print message and execute SMC | NS -> S | SMC_Handler monitor.s: Perform context switch from NS to S | main main_secure.c: Print message and execute SMC