如何设置TrustZone开发环境

时间:2018-01-10 17:39:01

标签: arm trust-zone soc trusted-computing

我想开始使用ARM TrustZone,所以我想设置一个开发环境,不幸的是我感觉我仍然缺少一些东西,我不知道如何把所有东西放在一起。

这是我目前的图片:

  • 需要具有Cortex-A处理器的SoC
    • 是否可以在没有电路板的情况下开发?即模拟器?
  • TrustZone是一款硬件和产品。软件技术
    • 如果我拿到SoC主板,硬件部分是否已经涵盖?
    • 软件(OS / Kernel)部分可以用GlobalPlatform,OpenTEE等解决。
  • TrustedApplications开发
    • 有哪些IDE?
    • 他们如何部署到董事会?

我知道这是一个非常广泛的问题, 我很乐意获得在线资料的链接

编辑:

我的问题的某些部分已得到部分回答,但最重要的事情还没有得到解答: 是我详细说明并完整的图片? 是/不,为什么?

不,这不是Which ARM based development boards should I use?

的副本

1 个答案:

答案 0 :(得分:4)

对于模拟器,如果您有预算,可以使用ARM快速模型(https://developer.arm.com/products/system-design/fast-models) QEmu可能有一些Trustzone支持,但我不确定Trustzone实现的可靠性(QEmu上的哪些功能可能无法在真实硬件上运行)。 joakim-bech(负责Trusted OS开源实施的首席工程师之一)在他的stackoverflow response中说它应该工作;他还在博文TEE Development With No Hardware - Is That Possible?中确认了这一点......

我建议您查看Optee - Open Portable Trusted Execution Environment支持的平台列表:https://github.com/OP-TEE/optee_os#3-platforms-supported

您的其他问题的答案将取决于您使用的平台,预算,开发环境等等。

低于150美元:

如果你想坚持使用Windows,你可能需要自己构建qEmu(qEmu似乎支持Windows,但我不确定Windows已经构建的二进制文件是否支持Trustzone)。在HW板方面,我使用the Hikey board(目前为119美元)进行Trustzone开发 使用Linux进行开发可能会为您节省一些时间,因此您可能不得不使用通常主要支持Linux的开源解决方案。

开始为OP-TEE开发受信任的应用程序:
我用过这个演讲:https://www.slideshare.net/linaroorg/lcu14103-how-to-create-and-run-trusted-applications-on-optee
我更新/改进了原始示例代码,我可以在此处找到我的更改:https://github.com/oliviermartin/lcu14_optee_hello_world