如何设置 TrustZone 开发环境

Posted

技术标签:

【中文标题】如何设置 TrustZone 开发环境【英文标题】:How to setup a TrustZone development environment 【发布时间】:2018-06-19 23:03:16 【问题描述】:

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

这是我现在的照片:

需要带有 Cortex-A 处理器的 SoC 没有板子可以开发吗?即模拟器? TrustZone 是一种硬件和软件技术 如果我得到一个 SoC 板,硬件部分是否已经涵盖? 软件(操作系统/内核)部分可以通过 GlobalPlatform、OpenTEE 等解决。 TrustedApplications 开发 有哪些 IDE? 他们如何部署到董事会?

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


编辑:

我的问题的某些部分得到了部分回答,但最重要的事情还没有得到回答:我详细描述的图片是否正确和完整?是/否,为什么?

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

【问题讨论】:

Which ARM based development boards should I use? 的可能副本,还有几个Cortex-A5 boards,其中一些比我找到的第一个便宜。可能其他董事会来来去去。我认为一些 Pi 板可以使用 TrustZone。 我刚刚编辑了我的问题,突出显示了缺失的部分。 请删除板上的“任何建议”。这也与堆栈溢出无关。另外,你有很多很多问题,没有一个。你需要做更多的研究。具体取决于 TrustZone 的应用。像“我如何使用'C'”这样的问题太笼统了。您的一些问题非常笼统,因为您要求提出建议,然后提出有关建议的问题。请阅读trust-zoneQA。 ***.com/questions/29390762/…的可能重复 @Stoogy 不,不是,这个问题是 QEMU 特有的,这个问题更多的是关于硬件。 【参考方案1】:

对于模拟器,如果您有预算,可以使用 ARM 快速模型 (https://developer.arm.com/products/system-design/fast-models)。 QEmu 可能有一些 Trustzone 支持,但我不确定 Trustzone 实现的可靠性(在 QEmu 上有效的东西可能不适用于真实硬件)。 joakim-bech(致力于可信操作系统的开源实现的首席工程师之一)在他的*** 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)。在硬件板方面,我使用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

【讨论】:

我主要运行 Windows 和 Intel 处理器,但我也可以使用 linux,我的预算在 200 美元左右,我习惯了 VisualStudio 和 Eclipse IDE。 @ruizpauker 我使用 Trustzone 开发环境建议编辑了我的答案,预算为 150 美元或更少。 非常感谢,非常感谢!我将彻底阅读 Hikey 文档,看看是否能填补空白。您提到您开发(ed)TrustedApps,您介意分享一些有关如何做到这一点的链接吗? @ruizpauker 发布受信任的应用程序开发更新 您提供的幻灯片大部分填补了空白。

以上是关于如何设置 TrustZone 开发环境的主要内容,如果未能解决你的问题,请参考以下文章

TrustZone软硬件架构

windows和linux中搭建python集成开发环境IDE——如何设置多个python环境

如何设置多开发者 Biztalk 环境?

Springboot中如何设置不同的开发环境

开发环境设置提示

如何设置捆绑开发环境(Eclipse Equinox Maven)