Исследование сравнивает языки Rust и C для разработки встраиваемого ПО

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

Исследование Корнелльского университета под названием «Lessons from an Industrial Microcontroller Use Case with Ariel OS» пытается ответить на этот вопрос с помощью встраиваемых C и Rust, и вывод таков: Rust — жизнеспособный вариант.

Читать далее «Исследование сравнивает языки Rust и C для разработки встраиваемого ПО»

Аппаратный IP KVM LeafKVM с открытым исходным кодом предлагает WiFi 5, PoE, USB-C для последовательной консоли и 2.4-дюймовый сенсорный экран (Краудфандинг)

LeafKVM — это беспроводной и питаемый по PoE аппаратный IP KVM с открытым исходным кодом на базе SoC Rockchip RV1126B с 512 МБ оперативной памяти и слотом для карты microSD для хранения данных. Как и другие IP KVM, он обеспечивает удаленный доступ к компьютерам и серверам, даже на уровне BIOS или когда машина не отвечает, путем эмуляции клавиатуры, мыши и видео через порты HDMI/VGA и USB.

Другие особенности включают 2.4-дюймовый сенсорный экран для настройки и зеркалирования видео гостевой системы, порт USB-C для последовательной отладки, порт USB Type-A для расширения (например, управления питанием) и сверхнизкую задержку менее 100 мс.

Читать далее «Аппаратный IP KVM LeafKVM с открытым исходным кодом предлагает WiFi 5, PoE, USB-C для последовательной консоли и 2.4-дюймовый сенсорный экран (Краудфандинг)»

Linux 7.0 выпущена – Основные изменения, архитектуры Arm, RISC-V и MIPS

Линус Торвальдс только что анонсировал выпуск Linux 7.0 в LKML :

Последняя неделя цикла выпуска продолжила ту же тенденцию «множества мелких исправлений», но всё это действительно выглядит довольно безобидно, поэтому я пометил финальную версию 7.0 и выложил её.

Читать далее «Linux 7.0 выпущена – Основные изменения, архитектуры Arm, RISC-V и MIPS»

Проект RuView использует WiFi узлы ESP32 для обнаружения присутствия, оценки позы и мониторинга дыхания/сердечного ритма

RuView — это реализаose» с открытым исходным кодом, использующая несколько узлов ESP32 для преобразования сигналов WiFi в оценку позы человека в реальном времени, мониторинг жизненных показателей и обнаружение присутствия без использования видеокамер.

WiFi DensePose — это метод сенсоринга, впервые исследованный в академических работах , который использует сигналы WiFi для реконструкции позы человека. RuView реализует эту технику на Rust или Python и полагается на ваш WiFi-роутер и несколько узлов ESP32 для отслеживания позы тела, определения частоты дыхания и измерения сердечного ритма даже сквозь стены. Как будет обсуждаться ниже, этот проект не лишен противоречий, поскольку некоторые утверждают, что это подделка.

Читать далее «Проект RuView использует WiFi узлы ESP32 для обнаружения присутствия, оценки позы и мониторинга дыхания/сердечного ритма»

Плата Dabao отличается открытыми исходными данными аппаратного обеспечения и использует микроконтроллер Baochip-1x на архитектуре RISC-V (Краудфандинг)

Плата с открытыми исходными данными аппаратного обеспечения обычно оснащена микроконтроллером или процессором с закрытым исходным кодом, но оценочная плата Dabao идет дальше, используя микроконтроллер Baochip-1x с открытым исходным кодом, чьи RTL-файлы доступны. Она также изготовлена таким образом, что допускает инспекцию с помощью методики инфракрасного анализа на месте (IRIS) , так что пользователи могут изучить кристалл и подтвердить, что получили правильный чип, неразрушающим способом.

Baochip-1x — это «универсальный» микроконтроллер с ядром Vexriscv RV32-IMAC частотой 350 МГц, акселератором BIO для операций ввода-вывода на базе четырех ядер PicoRV RV32-EMC с частотой 700 МГц, 4 МБ ReRAM, 2 МБ SRAM, интерфейсом USB, различными другими портами ввода-вывода и аппаратными элементами безопасности, такими как криптографические ускорители, хранилища ключей, однонаправленные счетчики, генератор истинно случайных чисел, а также средствами противодействия аппаратным атакам, такие как датчики сбоев и защитная сетка. Сама плата Dabao довольно простая и содержит микроконтроллер, два 16-контактных разъема для ввода-вывода, порт USB-C для питания и программирования, а также кнопки Reset и Prog.

Читать далее «Плата Dabao отличается открытыми исходными данными аппаратного обеспечения и использует микроконтроллер Baochip-1x на архитектуре RISC-V (Краудфандинг)»

Ariel OS – RTOS на Rust для IoT микроконтроллеров

Ariel OS — это новая RTOS для микроконтроллеров, написанная на Rust, с поддержкой популярных аппаратных архитектур (Arm Cortex-M, ESP32, RISC-V) и плат от Espressif, Nordic Semi, Raspberry Pi и STMicroelectronics.

Ariel OS построена на основе фреймворка Embassy и уровня аппаратной абстракции embedded-hal (HAL) для встраиваемых систем, добавляя несколько функций ОС и планировщик, способный работать на многоядерных системах. Она в основном предназначена для безопасных, защищенных от ошибок памяти и сетевых приложений на микроконтроллерах.

Читать далее «Ariel OS – RTOS на Rust для IoT микроконтроллеров»

Решение для цифровых вывесок с открытым исходным кодом Xibo теперь работает с Raspberry Pi 5 благодаря проекту Arexibo

Решение для цифровых вывесок Xibo теперь совместимо с Raspberry Pi 5 благодаря Axeribo — неофициальной альтернативе плеера для цифровых вывесок Xibo, реализованной на Rust и предназначенной для платформ Linux.

Постоянные читатели CNX Software могут вспомнить, что экспериментировал с открытым плеером для цифровых вывесок Xibo много лет назад (2011-2012). В частности, удалось запустить Xibo для Arm в QEMU ,   протестировать Xibo для цифровых вывесок в эмуляторе Raspberry Pi и даже попробовать его на реальном оборудовании: на ТВ-приставке MeLE A1000 под управлением Android, на которую была установлена Linux . Это работало, но без аппаратного декодирования видео и ускорения 3D-графики производительность была довольно низкой. В конечном итоге эксперименты с Xibo на Arm Linux прекратились после того, как была выпущена версия Xibo для Android в конце 2012 года, и разработчики решили прекратить поддержку клиента для Linux (хотя они перезапустили его в 2019 году только для x86 ).

Читать далее «Решение для цифровых вывесок с открытым исходным кодом Xibo теперь работает с Raspberry Pi 5 благодаря проекту Arexibo»

Tyr – драйвер GPU на языке Rust для Arm Mali GPUs

Одним из интересных дополнений в только что выпущенное ядро Linux 6.18 является драйвер GPU Tyr на Rust для CSF-графических процессоров Arm Mali, который представляет собой порт зрелого драйвера Panthor на C , включённого в состав Linux 6.10 . Он был разработан Collabora в сотрудничестве с Arm и Google.

Цель Tyr — реализовать тот же пользовательский API, что предоставляет Panthor, чтобы в конечном итоге его можно было использовать в качестве прямой замены в Vulkan-драйвере PanVK компании. Спустя несколько лет драйвер Tyr на Rust может заменить драйвер Panthor на C, но до тех пор будет использоваться Panthor, поскольку он более зрелый и соответствует стандарту OpenGL ES 3.1 с июля 2024 года.

Читать далее «Tyr – драйвер GPU на языке Rust для Arm Mali GPUs»