Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблема использования технологии trustzone на i.MX535
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
eng2
Уважаемые коллеги,

Имеется Freescale Quick Start board i.MX53 (MCIMX53-START-R). SOC i.MX535 c ядром ARM Cortex-a8 и "незаблокированной" технологией TrustZone.

Для изучения возможностей технологии TrustZone, написал простое приложение, которое загружаю и запускаю при помощи u-boot.
Предварительно отмечу (напомню), что после включения питания и загрузки u-boot процессор находится в "secure world".

Суть простого приложения:
1) Выключаю MMU ;
2) Создаю свою таблицу преобразования адресов, в которой будут записи для областей ОЗУ, недоступных из "normal world" (записи таблицы страниц с NS-bit = 0) и будут записи для областей доступных из "normal world" (для таких записей в таблице страниц NS = 1) ;
3) Инициализирую соответсвующие регистри (TTBR0 и т.п.) ;
4) Включаю MMU ;
4a) Проверяю работает ли в принципе новая таблица преобразования адресов ?. Да, работает.
5) Инициализирую secure monitor
6) Переключаюсь в "normal world" (проверяю произошло ли переключение ? Да произошло).
6.a Первым делом проверяю доступность "разрешенных" и "запрещенных" для "normal world" адресов.
6.б Обнаруживаю, что и разрешенные и запрещенные области памяти доступны из "normal world".
7) Это неправильно. Не понимаю почему такое происходит.

Имеются ли какие-либо соображения по данной ситуации ?

Отмечу также , что не имеется (у меня, во всяком случае) каких-либо примеров использования trustzone на SOC i.MX535,то есть, сравнить не с чем.
Теоретически, вышеописанная процедура должна работать.

С уважением,
Вячеслав.
Nikolay Golikov
Вячеслав, у Вас получилось в итоге разобраться с trustzone на этой плате?
Я тоже сейчас пытаюсь разобраться этой технологией на этой же плате. И у меня возникла уже куча вопросов как управлять доступом к устройствам, как разделять память между мирами?

PS Если бы Вы выложили куда-нибудь свой пример использования trustzone на i.mx53, все прогрессивное человечество было бы Вам благодарно.)
sasamy
Цитата(eng2 @ Jul 20 2012, 11:41) *
Отмечу также , что не имеется (у меня, во всяком случае) каких-либо примеров использования trustzone на SOC i.MX535,то есть, сравнить не с чем.


Вообще-то имеются http://www.toppers.jp/en/safeg.html
Цитата
The latest release supports the following boards:

ARM PB1176JZF-S RealView Platform Baseboard (ARM1176-JZF dev chip)
IDEA6410 board
MINI6410 board
Kyoto KZM-CA9-01 board
Freescale i.mx53 QuickStart board
eng2
Николай, нет пока не получилось разобраться. Конечно, обратился в поддержку Freescale, но вопрос пока не освещен.
Прикладываю архив с простым примером (исходники и бинарники, также смотрите файлы readme.txt ), в котором можно пощупать проблему.
P.S. Я уже было потерял надежду, что кто-то в форуме отзовется, поэтому давно не заглядывал и только сегодня обнаружил Ваш вопрос.

QUOTE (Nikolay Golikov @ Sep 3 2012, 16:12) *
Вячеслав, у Вас получилось в итоге разобраться с trustzone на этой плате?
Я тоже сейчас пытаюсь разобраться этой технологией на этой же плате. И у меня возникла уже куча вопросов как управлять доступом к устройствам, как разделять память между мирами?

PS Если бы Вы выложили куда-нибудь свой пример использования trustzone на i.mx53, все прогрессивное человечество было бы Вам благодарно.)



Спасибо за ссылку. Буду разбираться.

QUOTE (sasamy @ Sep 3 2012, 23:02) *
Вообще-то имеются http://www.toppers.jp/en/safeg.html

SergeyDDD
Ребята!!!
Интересует в чем работаете с i.MX53 и с помощью чего отлаживаетесь.
eng2
QUOTE (SergeyDDD @ Sep 25 2012, 21:39) *
Ребята!!!
Интересует в чем работаете с i.MX53 и с помощью чего отлаживаетесь.



В данном случае, IDE не использую. Командная строка, jtag (JLINK Commander), gdb, printk.
eng2
QUOTE (sasamy @ Sep 3 2012, 23:02) *
Вообще-то имеются http://www.toppers.jp/en/safeg.html


К сожалению, оказалось что доступ к "самому интересному" у них ограничен. Находится у них на snv и требует авторизации.

Цитата:
"SafeG's development is carried out by TOPPERS members using TOPPERS internal project management and version control tools. User oriented packages, both in source code or as prebuilt binaries, can be downloaded here"
Nikolay Golikov
2 eng2: Спасибо за Ваш пример.

Цитата(eng2 @ Sep 27 2012, 13:39) *
[indent][/indent]

К сожалению, оказалось что доступ к "самому интересному" у них ограничен. Находится у них на snv и требует авторизации.

Цитата:
"SafeG's development is carried out by TOPPERS members using TOPPERS internal project management and version control tools. User oriented packages, both in source code or as prebuilt binaries, can be downloaded here"


С imx они больше не работают, т.к. документацияя по секъюрным компонентам у freescale закрыта. И для того, чтобы ее получить надо подписать NDA.

Цитата(SergeyDDD @ Sep 25 2012, 22:39) *
Ребята!!!
Интересует в чем работаете с i.MX53 и с помощью чего отлаживаетесь.

CodeSourcery toolchain, OpenOCD, OpenJtag.
Nikolay Golikov
Рабоспособное микроядро с поддержкой TZ для i.mx53: https://github.com/skalk/genode/tree/i.mx53/base-hw
VMM к нему: https://github.com/skalk/genode/tree/i.mx53.../src/server/vmm
Использование контроллера m4f для управления регионами памяти https://github.com/skalk/genode/blob/i.mx53.../include/m4if.h
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.