TEE入门博客
文章平均质量分 83
此专栏目的为TEE技术入门者提供一个相对门槛较低的学习和开发方式,其中的技术实现均经过实际测试,如果在学习过程中发现问题欢迎联系作者。
Q7318
目前在进行trustzone的技术实现,如有技术问题,欢迎私信。
展开
-
OP-TEE TA:读写寄存器数据
最近想为OP-TEE的Trusted OS开发一个触摸屏驱动,在查询代码的时候发现直接调用TA修改TZPC寄存器的值是不可行的,原因是user TA的运行采用了沙盒机制,所以无法直接访问寄存器所映射的物理地址。所以在查看了相关资料后,总结出如下方法用以解决此问题。一. 编写static TA在/optee_os/core/arch/arm/sta目录下新建一个sta_reg.c文件,作为一个新的st原创 2016-04-27 15:49:54 · 5406 阅读 · 0 评论 -
OP-TEE在HIKEY上的编译、运行与测试
笔者使用的是UBUNTU14.04 版本,OP-TEE官方的方法尝试失败,故采用如下方法移植成功: 1. 新建目录并下载相应交叉编译器,并设置环境变量。mkdir arm-tc arm64-tctar --strip-components=1 -C ${PWD}/arm-tc -xf gcc-linaro-arm-linux-gnueabihf-4.9-*_linux.tar.xztar --原创 2016-03-23 11:33:33 · 6659 阅读 · 5 评论 -
OP-TEE 简易驱动编写:启动TZPC与TZPCDEP
继续进行驱动开发,在上一篇文章中完成了对寄存器的读写,Hikey soc 中对Trustzone IP核是支持的,但在官方文档中并未对三个IP核的寄存器地址进行定义和使用,所以需要自行编写驱动用以初始化TZPC和AXI-APB总线桥信号寄存器的外围设备时钟,代码如下,可以参考OP-TEE的core/driver/目录下的pl011.c代码:一.定义头文件在/devel/optee/optee_os/原创 2016-05-04 10:38:55 · 4306 阅读 · 7 评论 -
OP-TEE设计结构(二)
5. MMU翻译表 OP-TEE使用多个L1层次下的翻译表,一个大的(4G)的和两个或两个以上的小的翻译表(32MB)。大翻译表处理内核模式映射,匹配在小翻译表所包含之外的所有的地址,小翻译表是按每一个线程分配的,并覆盖了一个大的虚拟内存空间的映射。 存在于大小翻译表之间的存储空间由TTBRC进行初始化,TTBR1总是指向大的翻译表。TTBR0在用户映射活跃时指向小的翻译表,若用户映射当前为未翻译 2016-03-21 15:24:29 · 2990 阅读 · 0 评论 -
OP-TEE设计结构(一)
OP-TEE design目录介绍平台初始化安全监视器调用函数-SMC SMC操作SMC接口使用SMC接口进行通信线程操作 Translation tablesTranslation tables and switching to normal world存储管理单元(MMU)堆栈共用存储器(shared memory)Pager加密抽象层TEE所使用的库(libute翻译 2016-03-10 09:25:07 · 9121 阅读 · 0 评论 -
OpenVirtualization otzon 学习笔记
目录一、文件目录secure_api.hint open_session_from_ns (void *param) 调度命令方法处理来自于非安全世界的建立对话(通信)的请求int close_session_from_ns (void *param) 调度命令方法处理来自于非安全世界的关闭对话(通信)的请求int open_session_from_secure (int原创 2016-02-23 10:46:25 · 833 阅读 · 1 评论