Как стать автором
Обновить
10
0
Сергей @VirtualHunter

Научный сотрудник

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

STM32. Процесс компиляции и сборки прошивки

Уровень сложностиПростой
Время на прочтение30 мин
Количество просмотров27K
Многие из начинающих разработчиков софта для микроконтроллеров реализуют свои проекты исключительно в средствах разработки, которые предоставляются производителем. Многое скрыто от пользователя и очень хорошо скрыто, из-за чего некоторые воспринимают эти процессы сродни настоящей магии. Я, в свою очередь, как человек в пытливым умом и природной любознательностью, решил попробовать собрать проект без использования IDE и различного рода автоматизаций.

Так родилась идея для этой статьи: не используя ничего, кроме текстового редактора и командной строки, собрать проект мигания светодиодом на отладочной плате STM32F0-Discovery. Поскольку я не до конца понимал, как происходит процесс компиляции и сборки проекта, мне пришлось восполнять пробелы в знаниях. Разобравшись с этим вопросом, я подумал — а почему бы не рассказать другим об этом?

Всем кому интересно — добро пожаловать под кат! 🙂

Читать дальше →
Всего голосов 107: ↑106 и ↓1+122
Комментарии67

Создаем I2C Master Controller на Verilog. Проверим работу на реальном железе

Уровень сложностиСредний
Время на прочтение22 мин
Количество просмотров6.3K
После того, как Я реализовал битовый контроллер I2C Master — уж очень чесались руки опробовать его в реальной задаче. Теперь можно начинать строить уровни абстракции от манипуляции отдельными битами и уже формировать полноценные транзакции, которые приводят к какому-либо действию с подчиненным устройством. Я подумал, что было бы классно сделать такую проверку своего автомата во взаимодействии с простейшей I2C 2K-bit EEPROM.

Идея простая — читаем и записываем данные по нажатию клавиш на одной из отладок с Cyclone IV, которые я рассматривал в одном из своих обзоров.

Если материал вам кажется интересным — добро пожаловать, с удовольствием и в свойственной мне манере расскажу, чего мне удалось добиться, а чего не удалось. 🙂

image


Читать дальше →
Всего голосов 53: ↑52 и ↓1+59
Комментарии10

Создаем I2C Master Controller на Verilog. Пишем HDL код

Уровень сложностиСредний
Время на прочтение14 мин
Количество просмотров8K
Закончив в предыдущей статье описание того, как должны осуществляться атомарные операции и каким образом осуществляется выполнение команд я бодро перешел к написанию HDL-кода. Пришлось разобраться с тем, как организовать FSM, как организовать считывание и выставление данных на шине.  

Весь этот процесс перехода от идеи и результатов моделирования к написанию кода — я и хотел бы описать в данной статье. 

Всем интересующимся — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 58: ↑58 и ↓0+58
Комментарии25

Создаем I2C Master Controller на Verilog. FSM, Clock, Output Logic, etc

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров5.8K
После длительного перерыва я продолжил разработку I2C Master Controller на Verilog. В прошлых статьях я рассмотрел основной теоретический материал, необходимый для реализации изначальной задумки. В этом материале переходим к более интересному содержанию: я последовательно расскажу про процесс проектирования конечного автомата I2C, расскажу про тактирование и как организована логика выходных сигналов и многое другое.

Всем, кому интересно — добро пожаловать под кат!

image


Читать дальше →
Всего голосов 47: ↑46 и ↓1+56
Комментарии9

Ортографическая проекция в фотографии и прочие интересные фокусы с объективами

Уровень сложностиСредний
Время на прочтение30 мин
Количество просмотров23K

С тем как работает фотоаппарат мы знакомимся еще со школьной программы. Однако привычное нам из школьного курса сведение объектива к "тонкой линзе" на самом деле не отвечает на массу практических вопросов. Например как удается создавать объективы с ортографической проекцией применяемые в системах технического зрения?

Да-да, такие тоже бывают не только в компьютерной графике, но и в фотографии: попробуйте-ка это объяснить оперируя исключительно в терминах "тонкой линзы". Размер изображения предмета в таких системах (почти) не зависит от того на каком расстоянии от объектива они находятся и это весьма удобно для измерения размеров предмета. В этой статье мы поговорим о том как этого удается добиться, как работает автофокус и пленоптические камеры и о многих других интересных вещах

Так как же работает объектив?
Всего голосов 132: ↑131 и ↓1+160
Комментарии38

Чат-боты на все случаи жизни. 7 инструкций по созданию мини-приложений в Telegram

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров37K

Telegram-боты — хорошая возможность вписать какую-то важную функциональность в понятную и простую платформу мессенджера. Не нужно думать об отдельном сайте и интерфейсе. Также боты — хорошая возможность для новичков в разработке реализовать свой мини-проект. Идея может быть как совершенно фановая — например, создавать стикеры из мемных сообщений друзей, так и быть частью функциональности сервиса — например, платежной системы.

В подборке под катом — семь инструкций по созданию Telegram-ботов с разной функциональностью. Сохраняйте статью в закладки: пригодится как начинающим, так и опытным разработчикам.

Выберите интересующего вас бота:

Паттерны взаимодействия с ботами
Веб-приложение на Node.js и React
Платежная система с Payments
Карманный ChatGPT, которому можно отправлять голосовые сообщения
Бот для генерации сложных паролей
Бот для создания стикеров из сообщений
Бот для мониторинга погоды на Python
Читать дальше →
Всего голосов 35: ↑32 и ↓3+40
Комментарии13

Создаем I2C Master Controller на Verilog. Идея и физический уровень

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров8.9K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

И немного поразмыслив — я подумал, что на этапе разработки этого модуля быстрее было бы его реализовать плате с ПЛИС Altera. Уж очень долго собирается bitstream-файл под Zynq. А в качестве тестового подчиненного устройства — буду использовать EEPROM и по мере готовности задачи — потом просто перенесу модуль в Vivado.

В как раз о том, что такое I2C, как я реализовывал Master Controller для работы с подчиненным устройством, чем руководствовался и что получилось — я опишу для вас в этой и последующих статьях.

Традиционно, кому интересно — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 64: ↑64 и ↓0+64
Комментарии10

Hello World на Tang Primer 20K под Linux

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров7.2K
После обзора на Tang Primer 20K — стало очевидно, что она вызывает немалый интерес и было решено немедля сделать разбор о том, каким образом можно настроить свой ПК и IDE для того чтобы начать взаимодействовать с отладочной платой, которую я рассмотрел в прошлой статье. Изначально, до момента пока я не познакомился сам лично с ПЛИС от Gowin и не запустил демо-проект — юзабельность, скорость и простота работы с их IDE вызывала сомнение. Но как только попробовал — все опасения были развеяны и я остался доволен.

Опытом настройки я с вами хотел бы поделиться в этой статье. Всех интересующихся — я по традиции приглашаю под кат!

image
Читать дальше →
Всего голосов 58: ↑58 и ↓0+58
Комментарии14

Обзор платы Tang Primer 20K на Gowin GW2A-LV18

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров12K
После получения большого количества отзывов и комментариев на обзор платы на Cyclone IV из части из них четко прослеживались мысль: “А почему Cyclone IV, это же старый хлам!”. В ответ на это я решил сделать обзор на что-нибудь современное, функциональное и очень недорогое. И такой вариант нашелся — это отладочная плата Tang Primer 20K на ПЛИС от небезызвестной компании Gowin. На неё я и сделаю обзор в этой статье и расскажу про примеры проектов, доступных для этой платы.

Кого заинтересовала тема — добро пожаловать под кат! =)

image
Читать дальше →
Всего голосов 63: ↑63 и ↓0+63
Комментарии39

Zynq 7000. AXI GPIO. Мигаем светодиодом по-новому

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров7.5K

После написания последнего обзора на новую отладку Я не смог удержаться от того, чтобы не сделать простую проверку работоспособности платы, т.к. очень не хотелось бы напороться на какие-либо проблемы во время решения сложной задачи. Поэтому решил сделать простую мигалку светодиодами и задействовать, плюсом к этому, кнопки на плате. Немного поразмыслив, Я решил, что обычный “ногодрыг” на Verilog - это уже не так интересно и мне показалось, что лучше сделать это с помощью AXI GPIO и своего IP-ядра, инициировав экшн из baremetal-приложения. В общем, кому интересно, заглядывайте в статью, там Я описал, как добавить свое кастомное AXI Peripheral IP-ядро, как правильно организовать проект и обратиться к GPIO для чтения и записи логического уровня. Поехали…

Читать далее
Всего голосов 36: ↑36 и ↓0+36
Комментарии2

Собственная платформа. Часть 0.1 Теория. Немного о процессорах

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

Здравствуй, мир! Сегодня у нас серия статьей для людей со средними знаниями о работе процессора в которой мы будем разбираться с процессорными архитектурами (у меня спелл чекер ругается на слово Архитектурами/Архитектур, надеюсь я пишу слово правильно), создавать собственную архитектуру процессора и многое другое.


4004


Принимаются любые замечания!


Читать дальше →
Всего голосов 53: ↑43 и ↓10+33
Комментарии63

58 байтов CSS, которые выглядят красиво почти где угодно

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

При создании своего веб-сайта я хотел найти простой и разумный способ сделать его красивым на большинстве дисплеев. Для моих задач подошли следующие 58 байтов:

main {
  max-width: 38rem;
  padding: 2rem;
  margin: auto;
}

Давайте их разберём.
Читать дальше →
Всего голосов 44: ↑35 и ↓9+37
Комментарии11

11 хитростей Chrome DevTools, которые помогут Вам стать Senior FrontEnd-разработчиком

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

Я полагаю, вы знакомы с инструментами разработчика браузера Chrome. Мы можем использовать его для просмотра сетевых запросов, анализа производительности веб-страницы и отладки последних функций JavaScript.

В дополнение к этому, он также предоставляет множество мощных, но необычных функций, которые могут значительно повысить эффективность нашей разработки!

Давайте посмотрим
Всего голосов 55: ↑49 и ↓6+50
Комментарии23

НЕрадиоуправляемые модели: вперед к беспроводным подлодкам на пульте

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

Приветствую вас, глубокоуважаемые!

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

Видео испытаний лодки на акустическом управлении и подрыва фейерверка по акустическому сигналу через воду, а также зачем, почему и как - под катом.  

Читать далее
Всего голосов 60: ↑60 и ↓0+60
Комментарии82

Используем Chrome DevTools профессионально

Время на прочтение5 мин
Количество просмотров74K
И снова здравствуйте. В преддверии старта курса «JavaScript Developer. Professional» перевели

11 советов для тех, кто использует Chrome в качестве среды разработки.





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



Иногда вы открываете консоль, чтобы посмотреть вывод своей программы, или вкладку Elements, чтобы проверить CSS-стили элементов DOM.



А действительно ли вы разбираетесь в Chrome DevTools? На самом деле у инструментов разработчика множество мощных функций, которые облегчают жизнь, но о них мало кто знает.
Я расскажу о самых полезных из них.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+48
Комментарии17

Визуальные и приборные правила полетов

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

Предлагаю немного отвлечься и отправиться в прекрасный и далекий мир полетов. Сегодня мы разберем воздушное право, а именно два вида правил полетов (сами правила рассматривать пока не будем). Это одна из основ всего в авиации, без которой становится сложно объяснить множество других вещей, начиная от устройства воздушного пространства и заканчивая оборудованием самолета.


Читать дальше →
Всего голосов 76: ↑76 и ↓0+76
Комментарии35

MASK-RCNN для поиска крыш по снимкам с беспилотников

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

В белом-белом городе на белой-белой улице стояли белые-белые дома… А как быстро вы можете найти все крыши домов на этой фотографии?

Все чаще можно слышать про планы правительства провести полную инвентаризацию объектов недвижимости с целью уточнения кадастровых данных. Для первичного решения этой задачи можно применить простой способ, основанный на расчете площади крыш капитальных строений по аэрофотоснимкам и дальнейшее сопоставление с кадастровыми данными. К сожалению, ручной поиск и расчет занимает много времени, а поскольку новые дома сносятся и строятся непрерывно, то расчет требуется повторять снова и снова. Сразу возникает гипотеза, что этот процесс можно автоматизировать с помощью  алгоритмов машинного обучения, в частности, Computer Vision. В этой статье я расскажу о том, как мы в «НОРБИТ» решали эту задачу и с какими сложностями столкнулись.
Читать дальше →
Всего голосов 83: ↑83 и ↓0+83
Комментарии23

Модуль подводного ультразвукового дальномера. Часть третья

Время на прочтение7 мин
Количество просмотров10K
image

Без раскачки.

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

Ну и то, что теперь это коммерческий продукт, доведённый до стадии производства.
Читать дальше →
Всего голосов 24: ↑24 и ↓0+24
Комментарии49

Обходим запрет messages API Вконтакте через Python

Время на прочтение6 мин
Количество просмотров14K
Привет, Хабр. В своей предыдущей статье я рассказал о возможности доступа к методам раздела messages через документацию, для чего достаточно было лишь авторизоваться на сайте ВК. Многие тогда заявили, что это не является угрозой личным данным пользователей, а невозможность выкачать свои сообщения — недостаток платформы. Также в комментариях мне оставили ссылку на node.js библиотеку, которая может авторизовываться по логину/паролю и предоставлять доступ к API сообщений, притворяясь официальным приложением.

Дисклеймер:


Статья и весь написанный код создавались только в образовательных и исследовательских целях и никогда не использовались для незаконной деятельности. Автор не призывает вас повторять какие либо описанные здесь действия и не несёт за них никакой ответственности.


Но не все люди знакомы c javascript и node.js, поэтому я и решил написать свою библиотеку на python, которым сейчас пользуются многие, позволяющую через «тестовые запросы» документации предоставить полный функционал messages API. Сразу прошу не злиться на меня в местах, где я буду повторять аспекты прошлого «выступления», потому что я хочу оформить эту статью в виде независимой документации.
Читать дальше →
Всего голосов 7: ↑6 и ↓1+8
Комментарии12

AliceVision: фотограмметрия из командной строки

Время на прочтение8 мин
Количество просмотров19K
Вам нужно автоматизировать огромное количество фотограмметрических сканов? Тогда у меня для вас хорошие новости.


В видео показана программа для фотограмметрии Meshroom с открытым исходным кодом. Этот проект в разных формах существует уже довольно давно, но недавно разработчики выпустили двоичные файлы, поэтому их можно просто скачать и использовать. В ролике продемонстрировано использование GUI для загрузки изображений, их обработки, изменения параметров и т.д. Рекомендую вам попробовать эту программу в действии.

Но меня интересует полная автоматизация. Если у вас есть сканирующая установка, на которой вы делаете по 100 и больше сканов в день, то необходимо полностью автоматизированное решение для пакетной обработки этих файлов. Данный пост является руководством и/или туториалом по решению этой задачи.
Всего голосов 24: ↑24 и ↓0+24
Комментарии3
1

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность