Nrf connect что это за программа

nRF Connect — управление чужими Bluetooth устройствами.

В данной статье, мы расскажем о мощном и универсальном инструменте сканирования и исследования Bluetooth сигналов. А именно, о приложении, которое называется «nRF Connect for Mobile».

Утилита позволяет устанавливать соединения с труднодоступными Bluetooth устройствами и работать с ними. Например, с помощью nRF Connect вы сможете подключиться к уже соединенной с другим устройством Bluetooth колонке и без проблем управлять ею. А так же, приложение поможет найти Bluetooth сигнал, который не могут обнаружить системные настройки.

В приложении доступны множества инструкций от разработчиков, которые позволят правильно работать со всеми возможными настройками.

nRF Connect for Mobile требуется разрешение на доступ к Bluetooth и GPS сигналу.

Полный список возможностей

Перехват сигнала

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

Так же возможно придётся зайти в настройки смартфона, и найти там редко используемые устройства и оттуда произвести подключение. В таком случае, инструкция может отличаться.

Light sensor nRF connect App User Guide

Установка

nRF Connect for Mobile распространяется бесплатно, по этому его можно без проблем скачать с магазина приложений Google Play.

Так же, можете заглянуть на официальный сайт производителя, в котором сможете найти ссылку на скачивание приложения для iOS устройств и дополнительную документацию на GitHub.

Тред приложения на 4PDA, в котором вы сможете найти дополнительную информацию, старые и модифицированные версии.

Как взломать чужую Bluetooth-колонку

Для начала необходимо скачать из Google Play приложение nRF Connect.

После установки открываем приложение и заходим во вкладку «Scanner»:

Не забудьте включить Bluetooth и определение локации. Также пока что, как видите, приложение не нашло ни одного устройства. Начинаем сканирование, нажав «Scan» в правом верхнем углу экрана. Перед нами появляется список устройств поблизости.

В случае успеха устройство появится во вкладке «Bonded».

Пробуем нажать «Connect»

nRFConnect

И у нас все получилось, взлом прошел и телефон предложил подключиться.

Можно включать свою музыку. Также возможно придётся зайти в настройки блютуза телефона, если у вас старая версия Андроида или плохая прошивка, и найти там Previously connected devices (Ранее подключенные устройства или что-то подобное, может отличаться на телефонах) и оттуда произвести подключение к колонке.

Nrf connect как пользоваться приложением

14593649

Краткое описание:
Сканирование и обнаружение ваших Bluetooth Low Energy (BLE) устройств

Описание:
nRF Connect for Mobile is a powerful generic tool that allows you to scan, advertise and explore your Bluetooth low energy (BLE) devices and communicate with them. nRF Connect supports number of Bluetooth SIG adopted profiles together with Device Firmware Update profile (DFU) from Nordic Semiconductors and Mcu Manager on Zephyr and Mynewt.

Features:
— Scans for Bluetooth low energy (BLE) devices
— Parses advertisement data
— Shows RSSI graph, allows export to CSV and Excel formats
— Connects to a connectible the Bluetooth LE device
— Discoveries and parses services and characteristics
— Allows to read and write characteristics
— Allows to enable and disable notifications and indications
— Supports Reliable Write
— Parses number of characteristics adopted by Bluetooth SIG
— BTLE advertising (Android 5+ required)
— Read and update PHY (Android 8+ required)
— GATT Server configuration
— Supports Device Firmware Update profile which let the user to upload a new application, SoftDevice or a bootloader over-the-air (OTA) from a HEX file
— Supports the Nordic UART Service
— Allow to record and replay common operations using Macros
— Allows to perform automated tests defined in XML file on Bluetooth Smart devices.
Visit the GitHub page: https://github.com/Nor…or/Android-nRF-Connect for more information about automated tests and creating init packets for the DFU.

Works well with nRF Logger application, that will store your logs in case something bad happens with nRF Connect.
Download nRF Logger from: https://play.google.co…nordicsemi.android.log

Требуется Android: 4.3+
Русский интерфейс: Нет

Скачать:
Версия: 4.24.3 Обновление GP (Владимир Евсеенко)
Версия: 4.22.3 nRF Connect (volkodav1975)
версия: 4.22.0 nRF Connect_v4.22.0(105).apk ( 9.23 МБ )

Nrf connect как пользоваться приложением

14593649

Краткое описание:
Сканирование и обнаружение ваших Bluetooth Low Energy (BLE) устройств

Описание:
nRF Connect for Mobile is a powerful generic tool that allows you to scan, advertise and explore your Bluetooth low energy (BLE) devices and communicate with them. nRF Connect supports number of Bluetooth SIG adopted profiles together with Device Firmware Update profile (DFU) from Nordic Semiconductors and Mcu Manager on Zephyr and Mynewt.

Features:
— Scans for Bluetooth low energy (BLE) devices
— Parses advertisement data
— Shows RSSI graph, allows export to CSV and Excel formats
— Connects to a connectible the Bluetooth LE device
— Discoveries and parses services and characteristics
— Allows to read and write characteristics
— Allows to enable and disable notifications and indications
— Supports Reliable Write
— Parses number of characteristics adopted by Bluetooth SIG
— BTLE advertising (Android 5+ required)
— Read and update PHY (Android 8+ required)
— GATT Server configuration
— Supports Device Firmware Update profile which let the user to upload a new application, SoftDevice or a bootloader over-the-air (OTA) from a HEX file
— Supports the Nordic UART Service
— Allow to record and replay common operations using Macros
— Allows to perform automated tests defined in XML file on Bluetooth Smart devices.
Visit the GitHub page: https://github.com/Nor…or/Android-nRF-Connect for more information about automated tests and creating init packets for the DFU.

Works well with nRF Logger application, that will store your logs in case something bad happens with nRF Connect.
Download nRF Logger from: https://play.google.co…nordicsemi.android.log

Требуется Android: 4.3+
Русский интерфейс: Нет

Скачать:
Версия: 4.24.3 Обновление GP (Владимир Евсеенко)
Версия: 4.22.3 nRF Connect (volkodav1975)
версия: 4.22.0 nRF Connect_v4.22.0(105).apk ( 9.23 МБ )

Что несёт новый nRF Connect SDK для Nordic? Эволюция, революция или альтернатива?

На прошедшей неделе Nordic Semiconductor добавил поддержку серии nRF52 в nRF Connect SDK.

Основной вопрос, который возникает у большинства — что это такое и главное зачем? Особенно актуален этот вопрос для тех, кто имеет опыт работы с nRF5 SDK, а их не мало.

Сразу отмечу, что статья в первую очередь написана для тех, кто использует традиционные подходы в разработке встраиваемых (embedded) устройств уровня Cortex-M или близких. Поэтому некоторые определения и аналогии могут показаться не полностью корректными с точки зрения тех, кто работает на высоком уровне (смотрит на происходящее со стороны Linux), но так будет проще понять тем, кто только начинает этот путь.

Читайте также:
Что за программа hive

Комментарии и уточнения всегда приветствуются.

Системы на кристалле от Nordic пользуются заслуженным авторитетом у многих. Например, среди отечественных компаний, выпускающих устройства с Bluetooth Low Energy, порядка 90% используют их в своих устройствах. В качестве примеров успеха можно привести производителей автомобильных сигнализаций: Starline, Pandora, Scher-Khan в последних поколениях используют именно их.

Ещё одним крупным примером успешного применения является компания Redmond, они же Ready4Sky. Свои умные мультиварки и прочую бытовую технику они делают также на этих чипах. За прошедший год количество выпущенных устройств приближается к 2 миллионам только на отечественный рынок.

Да и по миру Nordic Semiconductor имеет долю 40%, в 2.5 раза больше, чем у ближайшего конкурента (TI). См, квартальные отчёты. Даже такие гиганты, как Samsung и Xiaomi используют чипы Nordic в своих продуктах, несмотря на то, что имеют аналогичных решения на базе собственных чипов.

Тут же можно отметить, что не только гиганты используют Nordic, но компании поменьше, а также любители часто используют их в своих устройствах. С этой точки зрения серию nRF5x можно назвать STM для беспроводки (ожидаю обсуждения в комментариях).

Основными причинами успеха являются:

Здесь же встаёт главный вопрос, зачем был выпущен новый SDK и чем он отличается от текущего? Если так всё хорошо у текущего решения.

Текущий nRF5 SDK работает на базе простой очереди, и в большинстве случаев этого оказывается достаточно для реализации почти любой задачи (хотя, некоторые компании используют всё же свои SDK, но это исключения из правил). В новой nRF Connect SDK используется кардинально иной подходит на базе RTOS Zephyr. Рассмотрим отличия подробнее.
RTOS (ОСРВ) несут в себе, как определённые плюсы, так и известные недостатки. К последним можно отнести:

С этой точки зрения можно сравнить переход на Zephyr с появлением первых массовых ARM Cortex-M и переходом на 32 бита. Сейчас же большинство используют 32-битные МК в качестве основных, о чём есть статья на Хабре. В ней же рассказывается про переход, который первоначально казался излишне сложным. Но, со временем практически все пришли к тому, что это стало стандартом.

Стоит отметить, что Zephyr OS не является единственной RTOS работающей на чипах Nordic. Примеры проектов с FreeRTOS доступны в с SDK v.11 начиная с 2016 года, а ещё раньше в SDK v.9 была поддержка Keil RTX для семейства nRF51 (2015 год). Однако, ранее это были скорее экспериментальные функции и поддержка предоставлялась в большей степени со стороны производителей RTOS. Что в принципе верно и сейчас.

Неофициальная поддержка Zephyr для семейств nRF5x появилась ещё в 2016 году.

Полностью же сделать новый SDK на ОСРВ Zephyr Nordic решил только сейчас.

Для этого есть ряд предпосылок:

36273689c10a66b97f33142745dc7f22

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

Рассмотрим версию разработки на Windows, так как именно она вызовет больше вопросов, относительно тех, кто привык к разработке на Linux.

Необходимы следующие пакеты:

Например, Chocolatey и pip позволяют установить все необходимые пакеты через консоль для ОС и Python соответственно. Причём сам Python, как и большинство рассматриваемого ПО ставится одной командой:

Обновляется также одной командой:

Подход немного не привычен для пользователей Windows, для тех же, кто знаком с консольными менеджерами пакетов в Linux (apt, zypper и т.п.) ничего нового. Не раз замечал ситуацию, что разработчики ПО для МК обновляют софт, лишь при переустановке ОС на ПК. Про то, почему это плохо мы говорить не будем, отмечу лишь, что здесь это задача решается автоматически.

Гораздо более интересны нововведения в области конфигурации и сборки проектов.

Ninja разрабатывался и позиционируется, как замена make и ориентирован на скорость сборки. Особо хорошо себя показывает в применениях, когда необходимо пересобирать проекты с кучей мелких файлов, где не было изменений. Эффект может быть на порядок, а то и два, см. тесты.

Cmake в свою очередь позволяет генерировать конфигурационные файлы для Ninja на высокоуровневом (скриптовом) языке под платформу на которой будет происходить сборка. Про Cmake можно почитать на Хабре, например, тут, тут и тут,
GPerf генерирует таблицу указателей, что позволяет сэкономить память, см. 3 стадию сборки ниже.

Отдельно стоит обратить внимание на новый подход к описанию железа. Появились Devicetree, описывающие аппаратную структуру устройства. Это является прямым следствием поддержки Zephyr силами Linux Foundation.

Как было сказано ранее, Nordic впервые выпустил Zephyr на nRF91 серии, потом на nRF53, и сейчас он наконец добрался до наиболее массовой nRF52.

Переход на RTOS позволяет в свою очередь решить проблему адаптации кода под новое железо. Даже среди чипов одного семейства переход требовал определённых ресурсов со стороны разработки, если сопровождался переходом на другой softdevice (предкомпилированную библиотеку BLE). Не говоря уже про переход, например с 51 или 91 серии на 52, когда значительно меняется сама аппаратная платформа. Сейчас же эта задача будет решаться гораздо проще и быстрее.

Железо у Nordic постоянно совершенствуется, но об этом необходимо писать отдельно. В рамках этой статьи можно лишь отметить, что ставка делается на интеграцию с RTOS, безопасность, энергоэффективность и улучшение радиоканала (BLE 5.2). Спасибо можно сказать двухядерным Cortex-M33, ARM Cryptocell и ARM TrustZone

Для сборки devicetree используется Device Tree Compiler, входящий в состав MSYS2 (улучшенная система сборки на базе Cygwin и MinGW-64).

Вторая часть конфигурации проекта находится в KConfig (Kernel config), который также был наследован из Linux. Он позволяет через графический интерфейс выбрать необходимые блоки и задать параметры для сборки под конкретную задачу, что особо актуально в условиях ограниченных ресурсов систем на кристалле.

Можно использовать традиционные утилиты типа menuconfig или же в рамках Segger Embedded Studio (официальной рекомендованной IDE) есть встроенный интерфейс, который запускается через соответствующий пункт в меню: Project > Configure nRF Connect SDK Project

cvszbqtv9frwur8ss1hncds b2k

Пример конфигурации проекта с SSL/TLS на базе nRF9160 представлен ниже. Как видно в нём можно настроить как аппаратные особенности проекта (платформу, количество потоков, подключаемые модули ядра), так и программные (ключи, адреса и т.п.).

b

Рассмотрим стадии сборки проекта: Всего их пять:

Напрямую сравнивать результаты работы программ, созданных на двух SDK нельзя. Так как библиотеки и подходы очень сильно отличаются и пока нет подобных тестов. Определённо можно сказать, что решение хорошо себя ощущает на средних и топовых чипах в линейке (nRF52832 и выше), остаётся большой запас по ресурсам. При этом нельзя сказать, что новый SDK не применим на младших чипах типа nRF52810. Необходимо рассматривать задачу более детально.

Возвращаясь к вопросу выведенному в название статьи, можно сказать, что эта парадигма — определённо новая реальность. Которая на первый взгляд несёт значительные улучшения. Как минимум 2 новых семейства чипов у крупнейшего производителя BLE в мире работают именно и только на этой технологии и возврата назад не предвидится. На мой взгляд это — революция, которую готовили заранее.

Читайте также:
Mobizen что это за программа и нужна ли она

Update: 14 Мая Nordic провёл вебинар про новый SDK в котором озвучил, что все версии BLE старше 5.0 будут доступны только в nRF Connect SDK. Соответственно Directino Finding aka AoA/AoD (BLE 5.1) и LE Audio (BLE 5.2), которые многие ждут, принесут с собой новый инструментарий уже в этом году и изменения в разработке наступят раньше, чем предполагалось.

Источник: ideibiznes.ru

nRF Connect — управление чужими Bluetooth устройствами.

В данной статье, мы расскажем о мощном и универсальном инструменте сканирования и исследования Bluetooth сигналов. А именно, о приложении, которое называется «nRF Connect for Mobile».

Утилита позволяет устанавливать соединения с труднодоступными Bluetooth устройствами и работать с ними. Например, с помощью nRF Connect вы сможете подключиться к уже соединенной с другим устройством Bluetooth колонке и без проблем управлять ею. А так же, приложение поможет найти Bluetooth сигнал, который не могут обнаружить системные настройки.

В приложении доступны множества инструкций от разработчиков, которые позволят правильно работать со всеми возможными настройками.

nRF Connect for Mobile требуется разрешение на доступ к Bluetooth и GPS сигналу.

Полный список возможностей

  • Сканирование устройств Bluetooth с низким энергопотреблением.
  • Показывает график RSSI.
  • Подключается к любому подключаемому устройству Bluetooth Low Energy.
  • Обнаруживает и анализирует услуги и характеристики.
  • Позволяет читать или редактировать характеристики.
  • Позволяет включать или отключать уведомления и индикации.
  • Регистрирует события и вызовы методов
  • Поддерживает профиль обновления прошивки устройства, который позволяет пользователю загружать новое приложение по беспроводной сети (DFU OTA) из файла HEX или Zip.
  • Анализирует значения большинства известных характеристик.
  • Конфигурация сервера GATT.
  • Показывает список сопряженных устройств.
  • Одновременное сканирование и поддержка нескольких подключений.
  • Полная поддержка маяков Eddystone и iBeacon.
  • Поддерживает профиль обновления прошивки устройства (DFU).

Перехват сигнала

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

  1. Перейти во вкладку «SCANNER» и найти нужный сигнал Bluetooth.
  2. Нажать на три точки напротив устройства и выбрать пункт «BOND».
  3. После чего, во вкладке «BONDED» пробуем нажать на «Connect».

Так же возможно придётся зайти в настройки смартфона, и найти там редко используемые устройства и оттуда произвести подключение. В таком случае, инструкция может отличаться.

Установка

nRF Connect for Mobile распространяется бесплатно, по этому его можно без проблем скачать с магазина приложений Google Play .

Так же, можете заглянуть на официальный сайт производителя , в котором сможете найти ссылку на скачивание приложения для iOS устройств и дополнительную документацию на GitHub.

Тред приложения на 4PDA , в котором вы сможете найти дополнительную информацию, старые и модифицированные версии.

Источник: teletype.in

Что несёт новый nRF Connect SDK для Nordic? Эволюция, революция или альтернатива?

На прошедшей неделе Nordic Semiconductor добавил поддержку серии nRF52 в nRF Connect SDK.

Основной вопрос, который возникает у большинства — что это такое и главное зачем? Особенно актуален этот вопрос для тех, кто имеет опыт работы с nRF5 SDK, а их не мало.

Сразу отмечу, что статья в первую очередь написана для тех, кто использует традиционные подходы в разработке встраиваемых (embedded) устройств уровня Cortex-M или близких. Поэтому некоторые определения и аналогии могут показаться не полностью корректными с точки зрения тех, кто работает на высоком уровне (смотрит на происходящее со стороны Linux), но так будет проще понять тем, кто только начинает этот путь.

Комментарии и уточнения всегда приветствуются.

Немного про то кто такие Nordic и как у них всё хорошо сейчас

Системы на кристалле от Nordic пользуются заслуженным авторитетом у многих. Например, среди отечественных компаний, выпускающих устройства с Bluetooth Low Energy, порядка 90% используют их в своих устройствах. В качестве примеров успеха можно привести производителей автомобильных сигнализаций: Starline, Pandora, Scher-Khan в последних поколениях используют именно их.

Ещё одним крупным примером успешного применения является компания Redmond, они же Ready4Sky. Свои умные мультиварки и прочую бытовую технику они делают также на этих чипах. За прошедший год количество выпущенных устройств приближается к 2 миллионам только на отечественный рынок.

Да и по миру Nordic Semiconductor имеет долю 40%, в 2.5 раза больше, чем у ближайшего конкурента (TI). См, квартальные отчёты. Даже такие гиганты, как Samsung и Xiaomi используют чипы Nordic в своих продуктах, несмотря на то, что имеют аналогичных решения на базе собственных чипов.

Тут же можно отметить, что не только гиганты используют Nordic, но компании поменьше, а также любители часто используют их в своих устройствах. С этой точки зрения серию nRF5x можно назвать STM для беспроводки (ожидаю обсуждения в комментариях).

Основными причинами успеха являются:

  • Высокое качество кода и документации
  • Отличная техническая поддержка (особенно на фоне альтернативных решений от других производителей)
  • Большое количество примеров в SDK
  • Простая схема (встроенный балун и минимальный обвес)
  • Готовые проекты Altium для разводки радиочасти
  • Конкурентная цена

Здесь же встаёт главный вопрос, зачем был выпущен новый SDK и чем он отличается от текущего? Если так всё хорошо у текущего решения.

Текущий nRF5 SDK работает на базе простой очереди, и в большинстве случаев этого оказывается достаточно для реализации почти любой задачи (хотя, некоторые компании используют всё же свои SDK, но это исключения из правил). В новой nRF Connect SDK используется кардинально иной подходит на базе RTOS Zephyr. Рассмотрим отличия подробнее.
RTOS (ОСРВ) несут в себе, как определённые плюсы, так и известные недостатки. К последним можно отнести:

  • дополнительные накладные расходы на поддержание ОС
  • большая сложность разработки на простых проектах
  • повышенная сложность сборки
  • повышенную надёжность за счёт контроля отдельных потоков
  • более лёгкое взаимодействие между большим количество одновременно работающих потоков на крупных проектах
  • большую независимость кода от аппаратной платформы
  • масштабируемость и переносимость

С этой точки зрения можно сравнить переход на Zephyr с появлением первых массовых ARM Cortex-M и переходом на 32 бита. Сейчас же большинство используют 32-битные МК в качестве основных, о чём есть статья на Хабре. В ней же рассказывается про переход, который первоначально казался излишне сложным. Но, со временем практически все пришли к тому, что это стало стандартом.

Стоит отметить, что Zephyr OS не является единственной RTOS работающей на чипах Nordic. Примеры проектов с FreeRTOS доступны в с SDK v.11 начиная с 2016 года, а ещё раньше в SDK v.9 была поддержка Keil RTX для семейства nRF51 (2015 год). Однако, ранее это были скорее экспериментальные функции и поддержка предоставлялась в большей степени со стороны производителей RTOS. Что в принципе верно и сейчас.

Неофициальная поддержка Zephyr для семейств nRF5x появилась ещё в 2016 году.

Полностью же сделать новый SDK на ОСРВ Zephyr Nordic решил только сейчас.

Для этого есть ряд предпосылок:

    Ряд технологий наследуется из Linux:
  • работа с потоками, очередями в режиме реального времени (особо важно для времязависимых протоколов типа BLE)
  • библиотеки для работы с сетью и безопасностью
  • гибкая модель аппаратного описания с оптимизацией на энергопотребление
  • библиотеки для работы с периферией (датчиками и т.п.)
  • ориентация на снижение размера конечного файла
  • удобная конфигурация под проект
  • оптимизированная под скорость сборки
  • Позволяет снизить издержки, как самой Nordic, так и конечным разработчикам
Читайте также:
Dr booster что это за программа на Андроид

image

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

Рассмотрим версию разработки на Windows, так как именно она вызовет больше вопросов, относительно тех, кто привык к разработке на Linux.

Необходимы следующие пакеты:

  • Chocolatey (менеджер пакетов)
  • Git (система контроля версий)
  • Ninja (система сборки ориентированная на скорость)
  • CMake (высокоуровневая система сборки)
  • DTC-MSYS2 (система сборки дерева устройств(device tree))
  • GPerf (генаратор хеш)
  • west (позволяет работать с несколькими репозитариями из одной папки и конфигурационного файла)
  • pip (менеджер пакетов Python)
  • Python3
  • GNU Arm Embedded Toolchain (GCC, GDB для встраиваемых систем от самой ARM)

Например, Chocolatey и pip позволяют установить все необходимые пакеты через консоль для ОС и Python соответственно. Причём сам Python, как и большинство рассматриваемого ПО ставится одной командой:

сhoco install python xxx

Обновляется также одной командой:

choco upgrade all

Подход немного не привычен для пользователей Windows, для тех же, кто знаком с консольными менеджерами пакетов в Linux (apt, zypper и т.п.) ничего нового. Не раз замечал ситуацию, что разработчики ПО для МК обновляют софт, лишь при переустановке ОС на ПК. Про то, почему это плохо мы говорить не будем, отмечу лишь, что здесь это задача решается автоматически.

Гораздо более интересны нововведения в области конфигурации и сборки проектов.

Ninja разрабатывался и позиционируется, как замена make и ориентирован на скорость сборки. Особо хорошо себя показывает в применениях, когда необходимо пересобирать проекты с кучей мелких файлов, где не было изменений. Эффект может быть на порядок, а то и два, см. тесты.

Cmake в свою очередь позволяет генерировать конфигурационные файлы для Ninja на высокоуровневом (скриптовом) языке под платформу на которой будет происходить сборка. Про Cmake можно почитать на Хабре, например, тут, тут и тут,
GPerf генерирует таблицу указателей, что позволяет сэкономить память, см. 3 стадию сборки ниже.

Отдельно стоит обратить внимание на новый подход к описанию железа. Появились Devicetree, описывающие аппаратную структуру устройства. Это является прямым следствием поддержки Zephyr силами Linux Foundation.

Плюсы заключаются в том, что теперь аппаратное описание вынесено в отдельный .dts файл, который имеет простую стуктуру, его легко модифицировать, и, как следствие, портировать код между разными семействами чипов.
В качестве примера насколько всё наглядно приведу базовый dtsi на nRF52840, который в свою очередь используются в описании платы nRF52840-DK nrf52840dk_nrf52840.dts
Количество плат поддерживаемых Zephyr уже сейчас более 200.

Как было сказано ранее, Nordic впервые выпустил Zephyr на nRF91 серии, потом на nRF53, и сейчас он наконец добрался до наиболее массовой nRF52.

Переход на RTOS позволяет в свою очередь решить проблему адаптации кода под новое железо. Даже среди чипов одного семейства переход требовал определённых ресурсов со стороны разработки, если сопровождался переходом на другой softdevice (предкомпилированную библиотеку BLE). Не говоря уже про переход, например с 51 или 91 серии на 52, когда значительно меняется сама аппаратная платформа. Сейчас же эта задача будет решаться гораздо проще и быстрее.

Железо у Nordic постоянно совершенствуется, но об этом необходимо писать отдельно. В рамках этой статьи можно лишь отметить, что ставка делается на интеграцию с RTOS, безопасность, энергоэффективность и улучшение радиоканала (BLE 5.2). Спасибо можно сказать двухядерным Cortex-M33, ARM Cryptocell и ARM TrustZone

Для сборки devicetree используется Device Tree Compiler, входящий в состав MSYS2 (улучшенная система сборки на базе Cygwin и MinGW-64).

Вторая часть конфигурации проекта находится в KConfig (Kernel config), который также был наследован из Linux. Он позволяет через графический интерфейс выбрать необходимые блоки и задать параметры для сборки под конкретную задачу, что особо актуально в условиях ограниченных ресурсов систем на кристалле.

Можно использовать традиционные утилиты типа menuconfig или же в рамках Segger Embedded Studio (официальной рекомендованной IDE) есть встроенный интерфейс, который запускается через соответствующий пункт в меню: Project > Configure nRF Connect SDK Project

Пример конфигурации проекта с SSL/TLS на базе nRF9160 представлен ниже. Как видно в нём можно настроить как аппаратные особенности проекта (платформу, количество потоков, подключаемые модули ядра), так и программные (ключи, адреса и т.п.).

Рассмотрим стадии сборки проекта: Всего их пять:

  • Конфигурация — предварительная обработка всех конфигов (devicetree, KConfig), на выходе получаем заголовочные файлы описывающие железо и конфиг для Ninja
  • Предварительная сборка (I) — обработка структур на высоком уровне, компиляция системных файлов и смещений (offset), создание таблиц вызовов
  • Первоначальная сборка (II) — компиляция основных исходных кодов и упаковка их в архивы, линковка
  • Окончательная сборка (III) — на этом этапе достигается снижение требуемого объёма памяти за счёт хешей индексов (GPerf), дополнительные скрипты линковщика также могут быть обработаны здесь
  • Пост-обработка (IV) — генерация hex, bin файлов

Напрямую сравнивать результаты работы программ, созданных на двух SDK нельзя. Так как библиотеки и подходы очень сильно отличаются и пока нет подобных тестов. Определённо можно сказать, что решение хорошо себя ощущает на средних и топовых чипах в линейке (nRF52832 и выше), остаётся большой запас по ресурсам. При этом нельзя сказать, что новый SDK не применим на младших чипах типа nRF52810. Необходимо рассматривать задачу более детально.

Возвращаясь к вопросу выведенному в название статьи, можно сказать, что эта парадигма — определённо новая реальность. Которая на первый взгляд несёт значительные улучшения. Как минимум 2 новых семейства чипов у крупнейшего производителя BLE в мире работают именно и только на этой технологии и возврата назад не предвидится. На мой взгляд это — революция, которую готовили заранее.

Update: 14 Мая Nordic провёл вебинар про новый SDK в котором озвучил, что все версии BLE старше 5.0 будут доступны только в nRF Connect SDK. Соответственно Directino Finding aka AoA/AoD (BLE 5.1) и LE Audio (BLE 5.2), которые многие ждут, принесут с собой новый инструментарий уже в этом году и изменения в разработке наступят раньше, чем предполагалось.

  • Изменения радикальны, код работающий с текущим nRF5 SDK получается не совместимым с новым (nRF Connect SDK)
  • Переход на RTOS c Devicetree и KConfig позволяет получить дополнительный уровень абстракции для железа, что в свою очередь значительно ускоряет разработку и перенос проекта на новую платформу
  • Переход на Zephyr несёт с собой поддержку большого количества протоколов и библиотек из коробки, для устройств интернета вещей наиболее интересны функции работы с сетью и безопасностью, где традиционно силён Linux
  • Zephyr OS использует при сборке ряд инструментов, которые позволяют значительно сократить время сборки и требования к памяти, что особо актуально для встраиваемых применений
  • Новый SDK позволяет использовать более высокоуровневых разработчиков, которых на рынке, гораздо больше, чем низкоуровневых. Тем самым решается вопрос кадров и увеличении доли рынка.

Источник: habr.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru