Optee Demo Applications
First we clone the repo
git clone https://github.com/linaro-swg/optee_examples.git
cd optee_examples
Set cross compile and optee specific environment variables
cat > optee_test_env.sh
export PATH=/home/shyam/buildroot/output/host/opt/ext-toolchain/bin:$PATH
export TA_DEV_KIT_DIR=/home/shyam/optee_os/out/arm-plat-imx/export-ta_arm32
export OPTEE_CLIENT_EXPORT=/home/shyam/optee_client/out/export
export CROSS_COMPILE=arm-linux-gnueabihf-
export TEEC_EXPORT=/home/shyam/optee_client/out/export
export HOST_CROSS_COMPILE=arm-linux-gnueabihf-
export TA_CROSS_COMPILE=arm-linux-gnueabihf-
source optee_test_env.sh
Build examples
ARCH=arm make
Now, copy optee client side application in sd card
cp -vrf out/ca/* /path to sd card mount directory/
Now, copy Optee Trusted Application in sdcard rootfs /lib/optee_armz
cp -vrf out/ta/* /path to sdcard mount directory/lib/optee_armtz/
Insert the sd card and boot linux with optee
Run tee-supplicant
tee-supplicant &
Run optee client side applications starting with prefix optee_example_*
/optee_example_hello_world
D/TA: TA_CreateEntryPoint:39 has been called
D/TA: TA_OpenSessionEntryPoint:68 has been called
I/TA: Hello World!
Invoking TA to increment 42
D/TA: inc_value:105 has been called
I/TA: Got value: 42 from NW
I/TA: Increase value to: 43
TA incremented value to 43
I/TA: Goodbye!
D/TA: TA_DestroyEntryPoint:50 has been called