Обновить
287
-0.1
Владимир @32bit_me

Программист

Отправить сообщение

Как приручить дракона. Краткий пример на clang-c

Время на прочтение12 мин
Количество просмотров17K
Однажды, сидя вечером перед компьютером и предаваясь меланхолии и мыслям о бренности всего сущего, я задумчиво набрал в поиске одного крупного сайта по поиску работы аббревиатуру «LLVM», не надеясь, впрочем, увидеть там что-то особенное, и стал просматривать небогатый, прямо скажем, улов.

Как и следовало ожидать, почти ничего особенного не нашлось, однако одно объявление меня заинтересовало. В нём были такие строки:

«Кого мы возьмем «не глядя» или уровень выполняемых задач:
Вы скачали любой open source проект, собираемый при помощи gcc (объем исходного кода более 10 мегабайт) и для самого большого файла cpp смогли построить AST дерево при помощи clang с –fsyntax-only;
Вы скачали любой open source проект, собираемый при помощи Visual C++ (объем исходного кода более 10 мегабайт) и для самого большого файла cpp смогли построить AST дерево при помощи clang с –fsyntax-only;
Вы смогли написать утилиту, которая выделит все места деклараций и использования локальных переменных, а также все функции, не определенные в данном файле
».

Ну что же, подумал я, какое-никакое, а развлечение на вечер.


Читать дальше →

Персональный компьютер «Электроника МК-85»

Время на прочтение3 мин
Количество просмотров31K
Приветствую уважаемую аудиторию Гиктаймса и поздравляю всех с наступающим Новым Годом!
Этот пост я хочу начать с небольшого дисклаймера. Точнее, даже с двух.

Дисклаймеры
1. На Хабрахабре уже были упоминания модификаций этого компьютера: раз и два. В первом посте шла речь о модификациях МК-85С (крипто) и МК-85Б (банковский) с встроенными функциями криптографии. Эти модификации в настоящее время представлены очень редкими коллекционными экземплярами. В моём посте речь идёт об обычном «Электроника МК-85».

2. Часть информации в посте я публиковал в своём ЖЖ, однако (так как гиктаймс не является центром мирового кросспостинта), я подготовил специально для вас, дорогие читатели, расширенный и дополненный материал.



Читать дальше →

Начинаем работать в STM32CubeMX. Часть 2

Время на прочтение9 мин
Количество просмотров78K
Часть 1
Часть 3

В прошлый раз мы научились создавать в STM32CubeMX новый проект, настраивать тактовый генератор, таймер и порт ввода-вывода, и немного помигали светодиодом. Сегодня мы освоим цифро-аналоговый преобразователь и научимся работать с ним через DMA. В результате у нас должен получиться простой генератор прямого синтеза (Direct digital synthesizer, DDS).


Поехали

Начинаем работать в STM32CubeMX. Часть 1

Время на прочтение4 мин
Количество просмотров224K
Часть 2
Часть 3

Приветствую аудиторию хабра, и хочу предложить вашему вниманию первый пост, посвященный использованию среды разработки STM32CubeMX, написанный для тех, кто хочет начать изучение STM32 «с нуля».



Я планировал написать несколько постов, рассмотрев несколько периферийных устройств микроконтроллера и их конфигурирование в STM32CubeMX. Но эти посты не заменяют фирменной документации и не претендуют на полноту. В них будут рассмотрены только некоторые, наиболее, на мой взгляд, типичные, примеры использования периферии STM32.
Надеюсь, кому-то этот материал будет полезен.
Итак, начнём

Персональная электронная вычислительная машина «Апогей БК-01»

Время на прочтение2 мин
Количество просмотров27K
Сегодня я хотел бы познакомить уважаемую аудиторию Гиктаймса с ещё одним экспонатом моей скромной коллекции старинной техники.



Итак, передо мной большая картонная коробка с надписью «Персональная электронная вычислительная машина „Апогей БК-01“». Давайте заглянем внутрь.

(Внимание! Под катом очень много картинок).
Читать дальше →

Ноутбук Tandy TRS-80 model 200

Время на прочтение5 мин
Количество просмотров14K
Некоторое время назад я стал счастливым обладателем роскошного ноутбука TRS-80 model 200, являющегося воплощением самых передовых технологий 1984 года. Широкие возможности и превосходные характеристики делают его незаменимым помощником любого гика.
Обзор этого замечательного аппарата я предлагаю вашему вниманию.



Читать дальше →

LLVM: компилятор своими руками. Введение

Время на прочтение14 мин
Количество просмотров59K
Представим себе, что в один прекрасный день вам пришла в голову идея процессора собственной, ни на что не похожей архитектуры, и вам очень захотелось эту идею реализовать «в железе». К счастью, в этом нет ничего невозможного. Немного верилога, и вот ваша идея реализована. Вам уже снятся прекрасные сны про то, как Intel разорилась, Microsoft спешно переписывает Windows под вашу архитектуру, а Linux-сообщество уже написало под ваш микропроцессор свежую версию системы с весьма нескучными обоями.
Однако, для всего этого не хватает одной мелочи: компилятора!
Да, я знаю, что многие не считают наличие компилятора чем-то важным, считая, что все должны программировать строго на ассемблере. Если вы тоже так считаете, я не буду с вами спорить, просто не читайте дальше.
Если вы хотите, чтобы для вашей оригинальной архитектуры был доступен хотя бы язык С, прошу под кат.
В статье будет рассматриваться применение инфраструктуры компиляторов LLVM для построения собственных решений на её основе.
Область применения LLVM не ограничивается разработкой компиляторов для новых процессоров, инфраструктура компиляторов LLVM также может применяться для разработки компиляторов новых языков программирования, новых алгоритмов оптимизации и специфических инструментов статического анализа программного кода (поиск ошибок, сбор статистики и т.п.).
Например, вы можете использовать какой-то стандартный процессор (например, ARM) в сочетании с специализированным сопроцессором (например, матричный FPU), в этом случае вам может понадобиться модифицировать существующий компилятор для ARM так, чтобы он мог генерировать код для вашего FPU.
Также интересным применением LLVM может быть генерация исходных текстов на языке высокого уровня («перевод» с одного языка на другой). Например, можно написать генератор кода на Verilog по исходному коду на С.



КДПВ

Читать дальше →

Обзор USB-осциллографа Hantek DSO-6022BL с логическим анализатором и гикпорном

Время на прочтение7 мин
Количество просмотров198K
Добрый день, Хабр!

Предлагаю вниманию уважаемой аудитории обзор осциллографа/логического анализатора Hantek6022BL.


Заинтересованных прошу под кат.
Читать дальше →

Ремонт мыши Logitech MX Air

Время на прочтение2 мин
Количество просмотров48K
Мышь Logitech MX Air я приобрел в 2009 году, и использовал ее в основном для управления HTPC. Отличительной особенностью данной мыши является наличие MEMS-гироскопа, что позволяет управлять курсором путем перемещения мыши в пространстве, без контакта с поверхностью. Впрочем, традиционный оптический (лазерный) сенсор тоже имеется.

image

Мышь MX Air является топовой моделью и оснащена всем, что только может придти в голову: сенсорный датчик вместо колеса прокрутки, динамик для имитации щелчков колеса прокрутки, отдельные кнопки для управления медиаплеером, беспроводной интерфейс (разумеется), и встроенный аккумулятор. Дизайн и качество сборки тоже выше всяких похвал (стоит она тоже совершенно безумно).

Я использовал эту мышь несколько лет, но потом по разным причинам отложил ее в сторону, и она долгое время лежала в шкафу, пока не понадобилась снова. Поставил её на зарядку и скоро понял, что что-то не так. Мышь включается, но кнопки нажимаются плохо, и, самое главное, не работает датчик движения в пространстве.

Нужно было срочно выяснить причину.
Читать дальше →

Siemens Logo! — десять лет спустя

Время на прочтение5 мин
Количество просмотров125K
Наводя порядок в шкафу, я нашел старый контроллер Siemens Logo! и ряд аксессуаров к нему. Когда-то, десять лет назад, я сделал несколько проектов на таких игрушках. Ностальгия и тёплые воспоминания про те времена побудили меня к написанию этого поста.



Под катом много фотографий (geek porn)!

Читать дальше →

Внешняя USB-видеокарта Startech USB2DVIE3

Время на прочтение2 мин
Количество просмотров131K
Довольно давно уже у меня возникла мысль, что десктоп, громоздкий гудящий ящик с кучей проводов, уже давно стал бы анахронизмом и ушел в прошлое, уступив место ноутбуку, если бы не одно маленькое обстоятельство: к десктопу можно подключить два (или больше) мониторов.

На хабре уже поднималась тема подключения к ноутбуку внешней видеокарты (например, тут), и я загорелся идеей организации рабочего места с двумя мониторами и ноутбуком. На e-bay было куплено устройство USB2DVIE3 производства британской компании Startech.

Если вы хотите узнать, что из этого вышло, добро пожаловать под кат.
Читать дальше →

Мобильный телефон своими руками. Часть 2

Время на прочтение5 мин
Количество просмотров119K
В первой части мы рассмотрели «железную» часть проекта, в этой части мы приступим к экспериментам с устройством.


Модуль M10-TE-A, основа нашего телефонного аппарата.

Читать дальше →

Мобильный телефон своими руками. Часть 1

Время на прочтение4 мин
Количество просмотров320K
Недавно на хабре был пост про то, как некие умельцы из Массачусетсого Технологического создали «самодельный» мобильный телефон. Я думаю, пришла пора доказать, что наши месье тоже знают толк в из… э… в изысканных удовольствиях.
Итак, представляю вашему вниманию мобильный телефон, собранный практически «на коленке»!



Всех заинтересованных прошу под кат. Много картинок!
Читать дальше →

Raspberry Pi и Синяя Изолента

Время на прочтение4 мин
Количество просмотров196K

Доброго времени суток, Хабр!

В этом топике я хочу поведать вам, как привести Raspberry Pi в пригодный для употребления вид.

Все началось с того, что я получил долгожданную посылку с платой Raspberry Pi, но оказался несколько разочарован некоторыми конструктивными особенностями этой платы. Стремление во что бы то ни стало сделать плату размером точно с банковскую карту (чисто маркетинговый ход) привело к тому, что на плате нет крепежных отверстий, разъемы расположены не самым удобным образом, и, разъемы USB и Ethernet расположены не вровень, а в разных плоскостях. В результате, при работе с платой на столе нужно раскладывать: саму плату, адаптер питания, USB-хаб (если мы хотим подключить к Raspberry Pi что-либо, кроме мыши и клавиатуры), и кучу проводов, которые все время пытаются куда-нибудь сползти, увлекая за собой всю эту кучу железа.

О том, какой выход из ситуации я нашел, читайте под катом (очень много картинок!).
Читать дальше →

Подключение цветного LCD с сенсорным экраном к микроконтроллеру

Время на прочтение9 мин
Количество просмотров97K
Добрый день, хабр. Сегодня я хотел бы поделиться некоторым опытом, касающимся подключения цветных LCD-индикаторов к микроконтроллеру. Эта тема уже поднималась на хабре (http://habrahabr.ru/post/139384/), поэтому данный пост может рассматриваться как дополнение к уже написанному моими уважаемыми коллегами.

Читать дальше →

Аналого-цифровое преобразование для начинающих

Время на прочтение8 мин
Количество просмотров618K
В этой статье рассмотрены основные вопросы, касающиеся принципа действия АЦП различных типов. При этом некоторые важные теоретические выкладки, касающиеся математического описания аналого-цифрового преобразования остались за рамками статьи, но приведены ссылки, по которым заинтересованный читатель сможет найти более глубокое рассмотрение теоретических аспектов работы АЦП. Таким образом, статья касается в большей степени понимания общих принципов функционирования АЦП, чем теоретического анализа их работы.

"

Введение

В качестве отправной точки дадим определение аналого-цифровому преобразованию. Аналого-цифровое преобразование – это процесс преобразования входной физической величины в ее числовое представление. Аналого-цифровой преобразователь – устройство, выполняющее такое преобразование. Формально, входной величиной АЦП может быть любая физическая величина – напряжение, ток, сопротивление, емкость, частота следования импульсов, угол поворота вала и т.п. Однако, для определенности, в дальнейшем под АЦП мы будем понимать исключительно преобразователи напряжение-код.

Читать дальше →

Информация

В рейтинге
Не участвует
Дата рождения
Зарегистрирован
Активность