Как настроить среду разработки TrustZone

Я хотел бы начать играть с ARM TrustZone, поэтому я хотел бы настроить среду разработки, к сожалению, у меня такое чувство, что я все еще что-то упускаю, я не знаю, как все это собрать.

Это моя текущая картина:

  • A SoC with a Cortex-A processor is required
    • is it possible to develop without a board? i.e. emulators?
  • TrustZone is a Hardware & Software technology
    • If I get a SoC board, is the hardware part already covered?
    • Программная часть (ОС/ядро) может быть решена с помощью GlobalPlatform, OpenTEE и т. д.
  • TrustedApplications development
    • Which IDE's are there?
    • Как они размещаются на доске?

Я знаю, что это довольно обширный вопрос, буду рад получить ссылки на онлайн-материалы.


Изменить:

На некоторые части моего вопроса был дан частичный ответ, но ответ на самый важный вопрос еще не получен: правильно и полно ли представлено изображение, которое я подробно описал? Да/нет, почему?

И нет, это не дубликат Какие платы разработки на базе ARM мне следует использовать?


person ruizpauker    schedule 10.01.2018    source источник
comment
Возможный дубликат Какие платы разработки на базе ARM следует использовать? , а также есть несколько плат Cortex-A5 с некоторыми дешевле, чем первый, который я нашел. Вероятно, другие платы приходят и уходят. Я думаю, что некоторые платы Pi могут использовать TrustZone.   -  person artless noise    schedule 11.01.2018
comment
Я только что отредактировал свой вопрос, выделив недостающие части.   -  person ruizpauker    schedule 11.01.2018
comment
Пожалуйста, удалите «любые рекомендации» с доски. Это также не относится к теме переполнения стека. Кроме того, у вас много много вопросов, а не один. Вам нужно провести еще несколько исследований. Особенности будут зависеть от приложения TrustZone. Вопрос о том, как мне использовать «C», слишком общий. Некоторые из ваших вопросов носят очень общий характер, потому что вы просите рекомендации, а затем задаете вопросы о рекомендациях. Пожалуйста, прочтите trust-zone QA.   -  person artless noise    schedule 11.01.2018
comment
Возможный дубликат stackoverflow.com /вопросы/29390762/   -  person Stoogy    schedule 15.04.2019
comment
@Stoogy нет, это не так, этот вопрос специфичен для QEMU, этот вопрос больше касается оборудования.   -  person ruizpauker    schedule 18.04.2019
comment
Вы задаете несколько вопросов. Это для первого вопроса, который вы задали (я бы смог разработать без платы).   -  person Stoogy    schedule 18.04.2019


Ответы (1)


Для эмулятора вы можете использовать ARM Fast Model (https://developer.arm.com/products/system-design/fast-models), если у вас есть бюджет.
QEmu может иметь некоторую поддержку Trustzone, но я не уверен, насколько надежна реализация Trustzone (то, что работает на QEmu, может не работать на реальном оборудовании). joakim-bech (один из ведущих инженеров, работающих над реализацией Trusted OS с открытым исходным кодом) сказал в своем ответе stackoverflow, что должно сработать; И он подтвердил это в своем блоге Разработка TEE без оборудования — возможно ли это?...

Я бы рекомендовал вам ознакомиться со списком платформ, поддерживаемых Optee - Open Portable Trusted Execution Environment: https://github.com/OP-TEE/optee_os#3-platforms-supported

Ответы на другие ваши вопросы действительно будут зависеть от используемой вами платформы, вашего бюджета, вашей среды разработки и т. д.

Менее 150 долларов США:

Если вы хотите придерживаться Windows, вам, возможно, придется собрать qEmu самостоятельно (qEmu, похоже, поддерживает Windows, но я не уверен, что уже встроенные двоичные файлы Windows поддерживают Trustzone). Что касается доски HW, я использую доску Hikey (в настоящее время стоит 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

person OlivierM    schedule 10.01.2018
comment
Я использую в основном Windows с процессором Intel, но я также могу использовать Linux, мой бюджет составляет около 200 долларов, я привык к VisualStudio и Eclipse IDE. - person ruizpauker; 10.01.2018
comment
@ruizpauker Я отредактировал свой ответ, предложив среду разработки Trustzone с бюджетом 150 долларов или меньше. - person OlivierM; 10.01.2018
comment
большое спасибо, очень признателен! Я внимательно прочитаю документы Hikey, чтобы увидеть, смогу ли я заполнить пробелы. Вы упомянули, что разрабатываете TrustedApps, не могли бы вы поделиться ссылками на то, как это сделать? - person ruizpauker; 11.01.2018
comment
Сообщение @ruizpauker обновлено с разработкой доверенных приложений - person OlivierM; 11.01.2018
comment
Предоставленный вами слайд в основном заполнил пробелы. - person ruizpauker; 11.01.2018