1、整体集成构建
基于官方构建,加入自定义ca/ta后一体构建到rootfs,在qemu上运行
$ mkdir -p <optee-project>
$ cd <optee-project>
$ repo init -u https://github.com/OP-TEE/manifest.git -m ${TARGET}.xml [-b ${BRANCH}]
$ repo sync -j4 --no-clone-bundle
$ cd <optee-project>/build
$ make -j2 toolchains
$ make -j `nproc`$ mkdir optee
$ cd optee
$ repo init -u https://github.com/OP-TEE/manifest.git -m qemu_v8.xml
$ repo sync
$ cd build
$ make toolchains
$ make run
在optee_examples目录参照hello world拷贝一份代码
将项目相关的换成自定名字
特别注意UUID需要更改,ca和ta要对应
否则运行是会报如下错误
failed with code 0xffff0008 origin 0x3
Demo添加完毕,构建并运行qemu
make -f qemu_v8.mk all -j4
make -f qemu_v8.mk run-only
运行结果
2、单独构建optee_examples
按照官方repo的代码结构
构建optee_client
将install文件拷贝到optee_examples目录,修改顶层CMakeLists.txt
指定gcc并构建ca
也可以make单编
构建ta,配置环境变量
进入到项目的目录
参考
基于Ubuntu20.04运行OP-TEE_3.17.0_QEMU_V8的环境搭建_repo init -u https://github.com/op-tee/manifest.gi_背包旅行码农的博客-CSDN博客
关于OP-TEE代码中对UUID的设置导致编译出错_teec_opensession failed with code 0xffff000c origi_whcz的博客-CSDN博客
TrustZone:编译 optee_examples - 知乎