Главная » Разработка встраиваемых систем

Arm представила новую систему архитектур процессора взамен разделения IP-ядер по классам производительности

ARM процессоры постепенно завоевывают все новые ниши. Так компания Firefly давно производит блейд-сервера на процессорах Rockchip. Компания Amazon специально для Amazon Web Services разработала специализированный процессор AWS Graviton на базе 64-битных ядер Arm Neoverse, новые процессоры должны были заменить решения на x86. Amazon стала одной из первых компаний, решившей разрабатывать процессоры «для себя». Активное развитие систем ИИ привело к предъявлению новых требований к процессорам, теперь наличие NPU в процессоре практически стало обязательным де-факто параметром. Обобщив все направления развития, ARM решила перейти к новой концепции построения ARM процессоров под названием Arm Compute Subsystems (CSS), процессоры которой будут распределены по ключевым рынкам: серверные решения, конечные устройства для потребителя, автомобильная промышленность и платформа ИИ для Интернета вещей.

Читать далее »

Запускаем .NET на RISC-V и разрабатываем IoT приложение для Sipeed Lichee RV

До недавнего времени разрабатывать IoT приложения на C# можно было только для компьютеров построенных на архитектуре ARM или x86. Поддержка RISC-V процессоров для платформы .NET уже давно в стадии разработки. В начале этого года был представлен не официальный .NET 8.0 SDK, который уже сейчас вы сможете запустить на RISC-V процессоре под ОС Debian/Ubuntu. В качестве платформы запуска возьмем одноплатный компьютер Sipeed Lichee RV на RISC-V процессоре Allwinner D1 (ядро Alibaba/T-Head Xuantie C906 RISC-V). В первой части поста рассмотрим установку .NET 8.0 SDK на Sipeed Lichee RV. Во второй, запустим приложение для работы с контактами GPIO и датчиком BME280 для замера температуры, влажности и давления.

Читать далее »

SBC Case Builder программа проектирования корпусов для одноплатных компьютеров и материнских плат mini-ITX, Pico-ITX, NUC и т.д.

Программа SBC Case Builder V3.0 позволяет создавать более 1000 стандартных корпусов для наиболее популярных одноплатных компьютеров, таких как Raspberry Pi, Hardkernel, Orange Pi, Radxa и других, а также для стандартных материнских плат Mini-ITX, Pico-ITX, NUC, Nano-ITX, и т.д. Дополнительно программа содержит адаптеры профилей одноплатных компьютеров позволяющие установить, например Raspberry Pi 5 в корпус mini-ITX.

Читать далее »

Работа с GPIO в Linux. Часть 6. Библиотека Libgpiod [обновлено 25.07.2024]

В 2017 году Bartosz Golaszewski начал разработку библиотеки Libgpiod и утилит для работы с GPIO. Библиотека libgpiod инкапсулирует вызовы ioctl и структуры данных за простым API в Linux, предназначена для замены доступа к GPIO через виртуальную файловую систему sysfs. Используемый в библиотеке новый интерфейс chardev гарантирует, что все выделенные ресурсы будут освобождены после закрытия файлового дескриптора устройства, и добавляет несколько новых функций, которых нет в устаревшем интерфейсе sysfs (например, опрос событий, установка/чтение нескольких значений одновременно). В публикации будет установка библиотеки Libgpiod и работа с GPIO используя утилиты, на примере светодиода и кнопки. Практическая часть выполняется на одноплатном компьютере Banana Pi BPI-M64, ОС Armbain.

Читать далее »

Паттерн внедрение зависимостей в .NET nanoFramework для микроконтроллеров

Сегодня сломаем привычный мир инженеров и разработчиков встраиваемых систем на микроконтроллерах. В .NET существует замечательный паттерн программирования, как внедрение зависимостей (Dependency injection, DI). Суть паттерна заключается в предоставление механизма, который позволяет сделать взаимодействующие в приложение объекты слабосвязанными. Эти объекты будут связаны между собой через абстракции, например, через интерфейсы, что делает всю систему более гибкой, более адаптируемой и расширяемой. Но когда ведется разработка для микроконтроллеров, все зависимости обычно жестко завязаны на используемых устройствах, и замена датчика иногда приводит к существенному переписыванию программного кода. Напишем приложение на .NET nanoFramework для микроконтроллера ESP32, используя паттерн DI с возможностью легкой замены датчиков и LCD экрана.

Читать далее »

Ультра скорость для C# кода, запуск .NET на FPGA процессоре с HASTLAYER

У многих FPGA или ПЛИС, ассоциируется с низкоуровневым программированием на языках VHDL, Verilog, или OpenCL. Платформа .NET уже давно захватила нишу микроконтроллеров, проект nanoFramework. Последние новости развития nanoFramework только доказывают твердость намерений платформы .NET освоить работу и на «железе». Казалось бы, пал последний бастион, где не было платформы .NET. Но это был далеко не последний рубеж. Как вам возможность писать код на C#, вместо хардкорного VHDL или Verilog, с последующей загрузки .NET сборок на FPGA процессоры Xilinx для непосредственного исполнения? Открытый проект Hastlayer преобразует сборки .NET в низкоуровневый код для FPGA процессоров, обеспечивая максимальный параллелизм и низкое энергопотребление.

Читать далее »

Что нового в .NET nanoFramework? Подключаем LCD экран, сканируем Wi-Fi сети

В этом году платформа .NET nanoFramework для микроконтроллеров отметила юбилей. За 5 лет платформа превратилась из малоизвестного проекта в успешное коммерческое open-source решение. К инструментам разработчика добавили Visual Studio Code, теперь в Linux также можно программировать на C#, как и в Windows. Были переработаны nuget-пакеты, появилась коммерческая поддержка, обновлена документация. В практической части подключим OLED дисплей на контроллере SSD1306, доработаем драйвер под новую модификацию дисплея и отправим код в upstream, напишем сканер Wi-Fi сетей.

Читать далее »