Armadilloフォーラム

セキュリティガイド6.4.8「OP-TEEを組み込む」のoptee_example_hello_worldのTA側からの出力がない

imai98

2022年10月28日 0時54分

お世話になっております。

セキュリティガイドの記述どおり、OP-TEEを組み込み、xtestがすべてパスしたことを確認した上で、「アプリケーションを起動する」のoptee_example_hello_worldを動かすことを試みたのですが、以下のような出力になり、
Invoking TA to increment 42
TA incremented value to 43
想定される出力である、
D/TA: TA_CreateEntryPoint:39 has been called
D/TA: TA_OpenSessionEntryPoint:68 has been called
I/TA: Hello World!
D/TA: inc_value:105 has been called
I/TA: Got value: 42 from NW
I/TA: Increase value to: 43
I/TA: Goodbye!
Invoking TA to increment 42
TA incremented value to 43
D/TA: TA_DestroyEntryPoint:50 has been called
とは異なる結果となっています。
ソースコードを参照したところ、出力ができていないのはすべてTA側で用いられる、imx-boot/imx-optee-os/out/export-ta_arm64/include/trace.hに宣言されているDMSG()などのマクロ関数が用いられているようでした。
また、optee_examples/hello_world/host/main.cのソースコードを参照するに、TEE_InvokeCommand()の関数の返り値であるresはTEEC_SUCCESSとなっていて、Unsecure World側からはhello worldできたことになっているようだと思われるので、OPTEEは正しく動作しており単にTA側の出力ができていないだけだと考えているのですが、解決にあたって何か教えていただけると助かります。

よろしくお願いいたします。

コメント

imai98

2022年10月28日 14時13分

解決しました。

TA側からの出力がシリアルで行われることを認識しておらず、SSH接続で操作を行っていたのをシリアルポートで接続して出力を確認したところ正常に動作していることが確認できました。

お騒がせいたしました。
失礼します。