Регистрация | Вход

Объявление

Свернуть
Пока нет объявлений.

Ультран: RUST - альтернатива C/C++ ориентированная на безопасность кода, поддерживается nRF9160 официально

Свернуть
X
 
  • Фильтр
  • Время
  • Показать
Очистить всё
новые сообщения

    Ультран: RUST - альтернатива C/C++ ориентированная на безопасность кода, поддерживается nRF9160 официально







    Nordic Semiconductor, видя современные тенденциии рынка программирования и разработки устройств интернета вещей, представил поддержку языка Rust для семейства nRF91.

    Стоит немного рассказать про появление Rust в общих чертах. Традиционно для разработки встраиваемого ПО использоваливались, и используются до сих пор, языки С и С++, которые были разработаны достаточно давно и учитывали актуальные на тот момент условия их применения - доступные аппаратные ресурсы (их было мало) и не учитывали вопросы безопасности, как отдельную группу вопросов. Однако, с течением времени ситуация менялась - количество доступных ресурсов росло по мере улучшения тех процессов, появления новых технологий и повышения производительности в целом. Одновременно с этим росло и количество устройств. Всё большее их число получало доступ к сети, а следовательно возможности удалённого взаимодействия с ними. В итоге значительно вырос вопрос обеспечения безопасности. Применение интерпретируемых языков программирования частично решают эти вопросы, однако требуют много ресурсов, что в свою очередь сказывается на производительности и потреблении.

    Одной из основных идей является изменение модели работы с памятью для повышения безопасности работы кода при сохранении высокой производительности и малых накладных расходов. Что полностью соответствует современным тенденциям развития интернета вещей и носимой электроники. Дополнительно в язык были добавлены современные инструменты разработки, значительно упрощающие, ускоряющие разработку и повыщающие качество кода. Ранее для этого необходимо было использовать сторонние решения.

    Про поддержку Rust на продуктах Nordic Semiconductor стало известно 2 года назад. Тогда была реализована работа SoftDevice S132 (скомпиллированого стека Bluetooth) и Nordic SDK (HAL в открытых исходных кодах), написанных на C, в привязке к Rust для самого распространённого семейства nRF52. Код доступен в git.

    После выхода в серию SIP модулей nRF9160 на базе новых Cortex-M33 , был запущен проект по интеграции Rust c семейством nRF91. Британская компания 42 Technology, специализирующаяся на консалтинге и разработке электронных устройств, впервые представила разработку Rust на nRF9160 ещё в феврале этого года. На прошлой неделе это решение было представлено со стороны Nordic Semiconductor после проведения испытаний. Код для нового семейства интегрирован с доступным ранее nRF52-HAL (git).

    Пара цитат:



    В недавних полевых испытаниях, проведенных в Великобритании, 42 Technology заявляет, что ее приложение Rust создало безопасные зашифрованные соединения с облачными сервисами Amazon через раннюю сеть LTE Cat-M, развернутую сетевым оператором O2. Также заявлено, что приложение поддерживает NB-IoT, который в настоящее время запускается в Великобритании Vodafone и другими операторами.



    «Rust - это идеальный язык программирования для работы на очень маленьком и недорогом оборудовании, изначально он был специально разработан с упором на безопасность памяти. Он предоставляет разработчикам современные мощные инструменты, позволяющие им быть высокопроизводительными - без значительных накладных расходов во время выполнения. А благодаря строгой проверке типов и заимствованиям компилятор Rust способен выявлять потенциальные проблемы безопасности на ранних этапах процесса разработки ».



    Стоит отметить основные преимущества Rust перед трандиционными языками используемыми при разработке встраиваемых приложений.
    • Повышенная безопасность работы с памятью относительно C/C++ при сохранении быстродействия ±10%,
    • Rust содержит в своём составе полный комплект для современной разработки:
      • компилятор,
      • менеджер пакетов (он же сборщик проектов, он же отвечает за запуск тестов),
      • генератор документации
      • отладчик gdb
    • Компилятор строг к тексту программы и имеет встроенный анализатор, в его выводе можно увидеть:
      • какой код не используется, какие переменные можно изменить на константный тип,
      • предупреждения, связанные со стилем программирования.
      • часто для ошибок компиляции приведены варианты ее устранения,
      • ошибки при инстанциировании обобщенного кода (шаблонов) лаконичны и понятны
    • Все строки имеют кодировку Unicode (UTF-8), отсутствуют проблемы с кодировками.
    • Есть поддержка итераторов и лямбда функций). Благодаря этому можно писать однострочные конструкции, которые выполняют множество операций с сложной логикой (то, чем славится Python).
    Статей сравнивающих Rust с C/C++ в сети достаточно много, в том числе и в российском сегменте. Поэтому проверить результаты и/или изучить вопрос более детально не будет проблемой. Например, при подготовке этой статьи частично использовались материалы с habr.

    Особо интересно становится применение Rust на архитектуры ARMv8-M, которая содержит ARM TrustZone и ARM CryptoCell. Так как в этом случае обеспечивает безопасность на всех уровнях, как аппаратных, так и программных.




    Прочитать в оригинале…
    Последний раз редактировалось Darya; 23-12-2019, 12:23.
    Взято автоматически из интернета.

Похожие темы

Тема Автор Раздел Последнее сообщение
2002—2021 «ЭтЛайт»
Наши контакты: +7 (812) 309-50-30, client@efind.ru
Реклама · Участие в поиске · Инструменты · Блог · Аналитика · English version

  ExpoElectronica RADEL
Обработка...
X