初识optee 在QEMU平台上的编译、运行
来源:互联网 发布:如何在ktv唱歌好听知乎 编辑:程序博客网 时间:2024/06/06 03:13
1.安装依赖的工具
先安装repo。
然后在Ubuntu中启动一个Terminal,执行如下命令,安装依赖的其他工具。
$ sudo apt-get install android-tools-fastboot autoconf bison cscope curl \ flex gdisk libc6:i386 libfdt-dev libglib2.0-dev \ libpixman-1-dev libstdc++6:i386 libz1:i386 netcat \ python-crypto python-serial uuid-dev xz-utils zlib1g-dev
2.下载OP-TEE源代码
执行如下命令即可。
$ mkdir -p $HOME/optee$ cd $HOME/optee$ repo init -u https://github.com/OP-TEE/manifest.git -m default_stable.xml -b master$ repo sync
3.获取工具链,即交叉编译器
进入build目录
$ make -f toolchain.mk toolchains
4.编译源码
$ make -f qemu.mk all
我是在ubuntu 16.04 系统上编译的,编译提示如下错误:
提示toolchain编译链找不到,这边作了如下修改:
diff --git a/toolchain.mk b/toolchain.mkindex 33c6dfb..6d20d9e 100644--- a/toolchain.mk+++ b/toolchain.mk@@ -6,20 +6,20 @@ TOOLCHAIN_ROOT ?= $(ROOT)/toolchains AARCH32_PATH ?= $(TOOLCHAIN_ROOT)/aarch32 AARCH32_CROSS_COMPILE ?= $(AARCH32_PATH)/bin/arm-linux-gnueabihf--AARCH32_GCC_VERSION ?= gcc-linaro-6.2.1-2016.11-x86_64_arm-linux-gnueabihf-SRC_AARCH32_GCC ?= http://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/arm-linux-gnueabihf/${AARCH32_GCC_VERSION}.tar.xz+AARCH32_GCC_VERSION ?= gcc-linaro-6.3.1-2017.05-i686_arm-linux-gnueabihf+SRC_AARCH32_GCC ?= http://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/arm-linux-gnueabihf/gcc-linaro-6.3.1-2017.05-i686_arm-linux-gnueabihf.tar.xz AARCH64_PATH ?= $(TOOLCHAIN_ROOT)/aarch64 AARCH64_CROSS_COMPILE ?= $(AARCH64_PATH)/bin/aarch64-linux-gnu--AARCH64_GCC_VERSION ?= gcc-linaro-6.2.1-2016.11-x86_64_aarch64-linux-gnu-SRC_AARCH64_GCC ?= http://releases.linaro.org/components/toolchain/binaries/6.2-2016.11/aarch64-linux-gnu/${AARCH64_GCC_VERSION}.tar.xz+AARCH64_GCC_VERSION ?= gcc-linaro-6.3.1-2017.05-i686_aarch64-linux-gnu+SRC_AARCH64_GCC ?= http://releases.linaro.org/components/toolchain/binaries/6.3-2017.05/aarch64-linux-gnu/gcc-linaro-6.3.1-2017.05-i686_aarch64-linux-gnu.tar.xz # Due to relocation error on the 96board edk forest, let's keep the old # toolchain for a while. LEGACY_AARCH64_PATH ?= $(TOOLCHAIN_ROOT)/aarch64-legacy LEGACY_AARCH64_CROSS_COMPILE ?= $(LEGACY_AARCH64_PATH)/bin/aarch64-linux-gnu--LEGACY_AARCH64_GCC_VERSION ?= gcc-linaro-aarch64-linux-gnu-4.9-2014.08_linux-LEGACY_SRC_AARCH64_GCC ?= http://releases.linaro.org/archive/14.08/components/toolchain/binaries/${LEGACY_AARCH64_GCC_VERSION}.tar.xz+LEGACY_AARCH64_GCC_VERSION ?= gcc-linaro-4.9.4-2017.01-i686_aarch64-linux-gnu+LEGACY_SRC_AARCH64_GCC ?= http://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/aarch64-linux-gnu/gcc-linaro-4.9.4-2017.01-i686_aarch64-linux-gnu.tar.xz # Download toolchain macro for saving some repetition # $(1) is $AARCH.._PATH: i.e., path to the destination然后在build目录继续执行:
$ make -f toolchain.mk toolchains
等待下载完成,然后进行编译
make -f qemu.mk all
4.启动QEMU模拟器运行OP-TEE
make -f qemu.mk run-only
跳出如下界面,然后输入 c ,启动相关服务:
然后在REE的终端回车,输入:
$optee_hello_world
可以看到TEE的log输出。
阅读全文
0 0
- 初识optee 在QEMU平台上的编译、运行
- Trustzone OP-TEE 在QEMU平台上的编译、运行与测试
- OP-TEE 在QEMU以及FVP平台上的编译、运行与测试
- 编译可在Android上运行的qemu user mode
- 编译可在Android上运行的qemu user mode
- 如何在Windows平台上编译Qemu
- 在qemu的beagleboard上运行android
- 在QEMU上运行vxworks
- qemu编译运行的问题
- 在linux上,用scalac编译在Spark平台上运行的scala程序
- ubuntu上建立交叉编译环境,在qemu上运行ARM镜像
- 编译安装qemu并在qemu上安装centos6.5
- 在linux 上编译生成windows上运行的exe程序,交叉编译环境的配置( 平台:gentoo linux)
- 交叉编译能在arm平台上运行的Qt应用程序的步骤
- 运行在Win32上的StarUML平台
- 如何编译可以在arm平台上运行的可执行程序?
- 命令行下编译Cocos2d-x-3.0新建的项目以及在多平台上运行
- speex在WINCE平台上的编译
- ndk-build生成*.so动态库
- 使用Eclipse的Working Set管理项目
- 蓝桥杯 删除数组零元素
- OpenGL着色器程序解析--着色器基础
- 网站开发 用监听器写 用户登录日志功能 我用的是 ssm框架
- 初识optee 在QEMU平台上的编译、运行
- 分答项目_任务1:分类管理_category模型
- idea不能new java class
- 关于zlib安装时出现的错误
- 两个JDK版本(1.7、1.8)切换
- JavaScript+html+css实现别踩白块游戏
- vue规定v-for循环的次数
- 第一次,第二次,成交!
- C语言sscanf函数使用总结