赞
踩
最近一直在研究TEE OS,经过一断时间,终于把自己的OS移植到MTK平台!
现在把主要的方法记录一下,
1. 下载代码
https://github.com/OP-TEE/optee_os
则需要切换到.repo目录中,将manifest.xml文件中的所有的.git都删除
2. 编译
1. $ cd build //切换到build目录
2 $ make -f mediatek.mk optee-os //编译工程
3.平台修改
参考optee_os\documentation\porting_guidelines.md
仔细研读里面的关键说明,根据实际修改
#ifndef PLATFORM_CONFIG_H
#define PLATFORM_CONFIG_H
/* Make stacks aligned to data cache line length */
#define STACK_ALIGNMENT 64
/* 8250 UART */
#define CONSOLE_UART_BASE 0xcafebabe /* UART0 */
#define CONSOLE_BAUDRATE 115200
#define CONSOLE_UART_CLK_IN_HZ 19200000
#define DRAM0_BASE 0x00000000
#define DRAM0_SIZE 0x40000000
/* Below ARM-TF */
#define CFG_SHMEM_START 0x08000000
#define CFG_SHMEM_SIZE (4 * 1024 * 1024)
4, ATF 代码下载optee
https://github.com/ARM-software/arm-trusted-firmware
仔细研究相关平台的ATF启动流程,并加log打印
5. 移植kernel驱动部分
linux内核代码,在./driver/tee目录下存放的是tee对应的驱动程序,
已经关键的数据结构文件./include/linux/tee_drv.h;
6. Android tee守护进程tee-supplicant
编译android版本
7. 理解整个代码架构
8. 解决问题方法和途径
有好几个不错的提问网站,而且有好多问题和源码参考。
特别是那些老外,真心不错,你给他发邮件,问题必回,我想这大概就是老外的开源精神!
提问:
https://community.arm.com/cn/f/discussions/7317/op-tee
英文问题查找:https://github.com/OP-TEE/optee_os/pull/93
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。