准备

请看友善 som-rk3399 uboot 移植配置安装 toolchain

op-tee

op-tee 源码下载

1
git clone git@github.com:OpenNuvoton/MA35D1_optee_os-v3.9.0.git

编译 op-tee

编译命令

1
make CROSS_COMPILE_core=aarch64-linux-gnu- CROSS_COMPILE64=aarch64-linux-gnu CFG_ARM64_core=y CFG_TEE_BENCHMARK=n CFG_TEE_CORE_LOG_LEVEL=1 CROSS_COMPILE_ta_arm64=aarch64-linux-gnu- PLATFORM=nuvoton-MA35D1

出现错误,这个错误是缺少 python 包导致的

1
2
3
4
5
6
7
Traceback (most recent call last):
File "/home/mo/develop/ma35d1/sdk/op-tee/MA35D1_optee_os-v3.9.0/scripts/pem_to_pub_c.py", line 61, in <module>
main()
File "/home/mo/develop/ma35d1/sdk/op-tee/MA35D1_optee_os-v3.9.0/scripts/pem_to_pub_c.py", line 24, in main
from Cryptodome.PublicKey import RSA
ModuleNotFoundError: No module named 'Cryptodome'
make: *** [mk/subdir.mk:162: out/arm-plat-nuvoton/core/ta_pub_key.c] Error 1

使用下面命令安装一下即可

1
pip3 install pycryptodomex

再次编译,如果编译成功,可以在 op-tee/out/arm-plat-nuvoton/core 下找到 tee-header_v2.bin 和 tee-pager_v2.bin

1
make CROSS_COMPILE_core=aarch64-linux-gnu- CROSS_COMPILE64=aarch64-linux-gnu CFG_ARM64_core=y CFG_TEE_BENCHMARK=n CFG_TEE_CORE_LOG_LEVEL=1 CROSS_COMPILE_ta_arm64=aarch64-linux-gnu- PLATFORM=nuvoton-MA35D1