Метка «embedded»

Linux: кнопки, светодиоды и GPIO

Введение

Начиная с версии 2.6.26 (кажется) у Linux появляется стандартный интерфейс для работы с GPIO через sysfs. В оригинале, прочитать об этом можно в [LGPIO00]. Я попытаюсь пересказать своими словами содержимое этого документа.

Главной точкой работы с GPIO является директория /sys/class/gpio. Если вы загляните в нее, то увидите два файла: export и unexport. Сразу после загрузки системы, все линии GPIO принадлежат ядру и использовать их в своих программах просто так не получится. Для этого, линию GPIO нужно экспортировать, записав её номер в файл export. Например, команда: echo 8 > /sys/class/gpio – сообщает ядру, что мы хотим использовать GPIO8. Перевод каретки 'n' и символ окончания строки '' – не обязательны: код на языке C: write(fd, “8”, 1); — отработает точно так же.
Читать полностью »

Поднимаем SOC: ARM + FPGA

На днях ко мне в руки попала EBV SoCrates Evaluation Board. В двух словах — это плата с SoC от фирмы Altera, на борту которой есть двухъядерный ARM и FPGA Cyclone V.

ARM и FPGA на одном чипе — это должно быть очень интересно! Но для начала всё это добро нужно «поднять».
Об этом процессе я и поведаю в данной статье.

Если вам в руки попала такая или подобная плата и вы не до конца уверены, что же с ней нужно делать. Если вы всегда думали, что FPGA — это что-то сложное и непонятно, как к этому подступиться. Или вы просто любопытный инженер. Тогда заходите. Мы всем рады.

А в качестве маленького бонуса измерим пропускную способность между CPU и FPGA.
Читать полностью »

image

Аннотация

В статье описывается фреймворк, позволяющий создавать графические кроссплатформенные приложения, написанные на языке Java, но при этом абсолютно не зависящие ни от Oracle JRE, ни от OpenJDK. Основная идеология фреймворка — по возможности снять с разработчика заботы об обеспечении «родного» look and feel для приложения под каждой операционной системой.

Фактически, на выходе вы получите исполняемый файл, опирающийся только на системные API, на котором нигде не будет клейма «написано на Java».

Все компоненты фреймворка имеют либеральные лицензии (BSD либо Apache), что позволяет использовать их в любых (в том числе, коммерческих) разработках.

Фреймворк находится в стадии публичной alpha-версии, что означает некоторую его работоспособность, но непроверенность. Использование поощряется (я постараюсь прислушаться к жалобам на проблемы и помогу их решить), но работоспособность не гарантируется.

Готовая, собранная версия приложений, демонстрирующих работу фреймворка под всеми платформами, находится здесь.

Всех интересующихся подробностями милости прошу под кат.
Читать полностью »

Расщепляем Quark. Микроархитектура нового процессора Intel

Кварк — это фундаментальная, то есть бесструктурная элементарная частица, введенная в теорию в 1964 году, которую до настоящего времени не удалось описать как составную. Intel Quark — это процессор для Интернета Вещей, выпускаемый Intel с осени 2013, но до сих пор не имеющий публичного описания своей внутренней структуры и воспринимающийся вне Intel как «черный ящик». — Как вы яхту назовете, так она и поплывет? Но я в это не верю. Скорее уж, как вы яхту назовете, так она вас назовет (если в ней стоит бортовой компьютер). В общем, в этом посте я исправлю ситуацию и расскажу, как устроен Quark.
Читать полностью »

image

Выход нового SoC процессора Intel Quark и первых систем на его базе заставили сжаться мое сердце и предаться воспоминаниям. У каждого инженера-системщика был любимый проект, даже детище, родиться которому и выйти в свет так и не было суждено по разным причинам.
Хочу немного рассказать о своем подобном проекте и порассуждать, что было бы, если б тогда мне были доступны сегодняшние технологии типа Quark. Также хотелось бы спросить Хабросообщество: что бы вы смогли реализовать, имея выбор из сегодняшних систем. Ну а комментарии к этому посту — самое подходящее место для холивара ARM vs. x86, так как Intel вступает на опасную территорию, где давно правят контроллеры с RISC-ядрами от ARM и Atmel. Но тогда просьба сравнивать не просто железки (мегагерцы, килобайты, и милливатты), но рассматривать в комплексе с программной экосистемой и в контексте конкретного применения контроллеров.
Читать полностью »

В первой части статьи я рассказал о компании DMP Electronics, малоизвестном тайваньском производителе x86-совместимых процессоров семейства Vortex86, а также материнских плат и компьютеров на их базе. Во второй части я обещал привести сравнительные характеристики процессора Vortex86MX, и сделать обзор компьютера eBox-3300MX на его базе. К сожалению, по не зависящим от меня причинам, вторая часть ещё не закончена, и я вынужден опубликовать третью часть раньше второй. В третьей части речь пойдёт об Arduino.

Не прошло и месяца, как Intel объявила о начале продаж первого x86-совместимого Arduino-контроллера, а DMP Electronics уже выпустила свою версию платы на базе своего собственного процессора Vortex86EX. Новая плата получила название 86Duino.x86 compatible, часть 3: «86Duino наносит ответный удар»Читать полностью »

x86 compatible, часть 1: «Тёмная лошадка с Тайваня»Пожалуй, самый частый вопрос, который разработчики KolibriOS слышат в свой адрес: "Когда вы собираетесь портировать Колибри на ARM?" Мы всегда отвечаем, что это невозможно, KolibriOS написана на ассемблере FASM с использованием инструкций x86, и портирование её на ARM будет означать практически полное переписывание с нуля. Но главная причина в том, что на рынке есть достаточно компьютеров на x86-совместимых процессорах, размером как Raspberry Pi и стоимостью всего на $5-$35 дороже, а это делает портирование не только невозможным, но также и бесполезным занятием. Чтобы читатели не говорили, что x86-совместимый компьютер за $40 — это «сферический конь в вакууме», я решил написать обзорный цикл из 3 статей о нескольких таких компьютерах. Сразу оговорюсь, что статьи не спонсируются — всё это железо я покупал на свои деньги, и на части него я практически каждую неделю тестирую Колибри — не стала ли она, случаем, слишком медленной? Кому интересно — прошу под кат.
Читать полностью »

Я бы хотел продолжить тему блока впрыска топлива на базе stm32 и рассказать о текущем статусе проекта rusEfi.

rusEfi: opensource проект DIY инжектора

Читать полностью »

Завтра, 17 октября Ciklum Киев приглашает всех желающих посетить открытый Speakers’ Corner на тему “Программирование микроконтроллеров в домашних условиях и о жизни в Дублине”, подготовленный Владимиром Пузановым, который в настоящее время является сотрудником Google (Дублин).
image
Читать полностью »

Всем привет! Последние 9 месяцев мы разрабатывали Wiren Board — компактный индустриальный компьютер с множеством встроенных интерфейсов (Wi-Fi, GPRS, GPS, NFC, Ethernet и т.д.) Мы уже писали о нём, и получили кучу отзывов и пожеланий. В итоге в новую версию было внесено много изменений, и эта статья про самые значительные из них.

По сравнению с апрельским прототипом на плате появились 2 USB-host, интерфейс RS-485 и разъём с 8 GPIO. Кроме этого мы сделали новую схему питания, поддерживающую входные напряжения от 5 до 22 вольт, Passive PoE и подключение Li-Pol аккумулятора, добавили управление низковольтной нагрузкой и аналоговые входы на клеммниках.

Как мы делали Wiren Board

Как мы это делали, с какими трудностями столкнулись и что получилось в итоге — читайте в нашей статье.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js