Хотя для процессоров ARMV8-M существует широкий спектр потенциальных приложений, разработчики, работающие над безопасными приложениями в режиме реального времени, безусловно, получат наибольшую выгоду. До сих пор архитектура ARMV8-M можно было найти в процессорах M23 и M33 Cortex-M и M35P. Давайте рассмотрим новые функции, входящие в состав ARMV8-M, и как эти процессоры отличаются от предыдущих частей ARMV7-M предыдущего поколения.
Во-первых, полезно увидеть полный спектр процессоров реального времени в серии Cortex-M и почувствовать, как они сравниваются в производительности. На следующем рисунке показано, как все процессоры Cortex-M сравниваются друг с другом при рассмотрении их относительной частоты. M23 существенно подходит как новый маломощный процессор, который обеспечивает небольшое улучшение по сравнению с M0 +. M33 вписывается в высокопроизводительные процессоры M3 / M4, но с улучшенной производительностью.
Относительная частотная характеристика между различными процессорами ARM Cortex-M. (Источник изображения: ARM 1 ) |
Функция ARMV8-M, которая на самом деле устанавливает M23, M33 и M35P, является их поддержкой для ARM TrustZone. TrustZone — это расширение безопасности, которое обеспечивает аппаратную изоляцию в микроконтроллере, чтобы разработчики могли создавать безопасные и небезопасные регионы. Эти регионы могут быть местами в ОЗУ, Flash или даже прерываниях и периферийных устройствах. Разделение между безопасными и незащищенными регионами создает изоляцию внутри микроконтроллера, что позволяет разработчикам защищать критически важные для пользователя коды и данные.
Изоляция создает два новых режима, в которых процессор может работать: безопасный и небезопасный. В защищенном режиме исполняемый код может получить доступ ко всей памяти как в безопасных, так и в незащищенных зонах. Однако, если процессор работает в незащищенной зоне, можно увидеть только незащищенные регионы. Защищенные области скрыты и не могут быть выполнены из незащищенного состояния без добавления специального кода, который создает шлюз для доступа к защищенному вызову. Это позволяет использовать защищенные функции, скрывая то, что происходит за кулисами.
Изоляция между безопасными и незащищенными состояниями позволяет разработчикам включать защищенные приложения и библиотеки в изолированную среду выполнения в процессоре. (Источник изображения: ARM) |
Есть несколько других новых функций, которые разработчики найдут интересными, помимо расширения TrustZone. К ним относятся:
- Упрощенная установка MPU
- Гибкая конфигурация точки останова
- Улучшенная поддержка трассировки
- Усовершенствования набора инструкций
- Динамическая переориентация прерываний
Итак, когда появятся первые процессоры Cortex-M, поддерживающие ARMV8-M? Оказывается, уже доступны первые публично выпущенные процессоры Cortex-M23. Недавно Microchip выпустила свои процессоры SAM L10 / L11 Cortex-M23 вместе с платами разработки Xplained, которые включают в себя детали. Однако важно отметить, что SAM L10 не включает расширения TrustZone. Эта честь принадлежит SAM L11.
Конечно, есть намного больше, чтобы узнать и исследовать под капотом относительно архитектуры ARMV8-M, предлагающей разработчикам. Лично я с нетерпением ожидал возможностей TrustZone и улучшенных возможностей безопасности, которые он предлагает разработчикам.
Список литературы
- https://www.arm.com/products/processors/cortex-m
Набор для разработки Microchip SAML11 основан на архитектуре ARMV-8 и поддерживает расширения ARM TrustZone. (Источник изображения: Kei) |
-
7 Советы по защите встроенной системы
-
Где, где, где мои очки?
-
A7 Советы по началу работы с трассировкой приложений
Якоб Бенинго является консультантом по встроенному программному обеспечению, который в настоящее время работает с клиентами в более чем десятке стран, чтобы кардинально преобразовать свой бизнес, улучшив качество, стоимость и время выхода на рынок. Он опубликовал более 200 статей по разработке встроенных технологий разработки программного обеспечения, является востребованным спикером и техническим тренером и имеет три степени, включая магистров инженерных наук из Мичиганского университета. Не стесняйтесь связаться с ним по адресу jacob@beningo.com, на его веб-сайте www.beningo.com/ и подписаться на его ежемесячный Embedded Bytes Newsletter .
|