TEE OS中使用secure timer

我们知道Arm的架构设计中,timer这一块是有缺陷的:Timer的TVAL功能不能同时给EL3和S-EL1使用,这是硬件的设计。在ATF和TEE OS的代码中,只能有一处使用,并且也需要设计者实现提前约定好。
好在大多数的TEE OS 都不会去使用Timer TVAL功能,这也就避免了冲突。
在这里插入图片描述

在TEE OS中,一般情况下,只是使用counter和frequency值,计算出一个时间。并不会使用该timer的定时(TVAL)功能。 如下便是一个获取时间函数的底层接口。仅仅读conter和频率即可。
在这里插入图片描述

在optee os也提供了timer TVAL功能的使用接口,如果您想使用直接调用该接口即可。如下便是plat-synquacer平台的一个使用的参考示例。
在这里插入图片描述

(core/arch/arm/plat-synquacer/main.c)
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42135087/article/details/132378592
tee
今日推荐