Pull to refresh
6
0
Забулдыга @shell4692

Разработчик

Send message

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

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

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

image
Читать дальше →
Total votes 63: ↑63 and ↓0+63
Comments39

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

Level of difficultyMedium
Reading time10 min
Views6.2K
После обзора на Tang Primer 20K — стало очевидно, что она вызывает немалый интерес и было решено немедля сделать разбор о том, каким образом можно настроить свой ПК и IDE для того чтобы начать взаимодействовать с отладочной платой, которую я рассмотрел в прошлой статье. Изначально, до момента пока я не познакомился сам лично с ПЛИС от Gowin и не запустил демо-проект — юзабельность, скорость и простота работы с их IDE вызывала сомнение. Но как только попробовал — все опасения были развеяны и я остался доволен.

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

image
Читать дальше →
Total votes 58: ↑58 and ↓0+58
Comments14

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

Level of difficultyMedium
Reading time16 min
Views7.6K
В рамках изучения Verilog я выбрал для себя интересную и полезную задачу, которую изначально планировал решить в рамках цикла статей по Xilinx Zynq. На отладочной плате, на которую я делал обзор в предыдущих статьях, есть OLED дисплей SSD1306 который управляется по I2C. Я решил, что было бы круто вывести на него какую-нибудь информацию из Linux, например температуру или загрузку CPU. Но чтобы это сделать — полезной информации нужно пройти путь от Userspace до I2C Master Controller который управляет SSD1306. И вот реализацию этого самого контроллера из этой связки я хотел бы описать в этом цикле статей.

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

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

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

image
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments10

Разработка с помощью Yocto

Level of difficultyEasy
Reading time8 min
Views6K

Привет Хабр! Недавно принял участие в достаточно интересном воркшопе и хотел бы поделиться приобретенными навыками.

Микроконтроллерами я занимаюсь как хобби, так что основы и даже чуть больше понимаю, да я и сам своего рода Embedded Developer.

Читать далее
Total votes 10: ↑9 and ↓1+8
Comments17

Экспериментируем с ПЛИС семейства ECP5 фирмы Lattice

Reading time10 min
Views8.6K

Когда я видел на Хабре упоминание о ПЛИС Lattice, у меня всегда возникал простой вопрос: «А зачем ещё одна ПЛИС?». Вроде всю жизнь хватало пары базовых. Но полгода назад случилось то, что сняло этот вопрос для меня. Пришёл Заказчик и сказал: «Мы делаем проект на ECP5». Против требований Заказчика не попрёшь!

А пока я осваивал работу с этим железом и пытался понять, как обосновать необходимость попробовать то же самое для остальных, мой знакомый, ныне живущий в Штатах, обрадовал новостью, что у его любимого поставщика подходит к концу запас десятых Циклонов и шестых Спартанов. В целом, через три года будет построен новый завод Intel, но что именно там будут производить, он не в курсе. И три года продержаться в любом случае, будет нужно. Короче, сейчас надо иметь возможность быстро мигрировать с одной ПЛИС на другую.

Итого, вчера делать ознакомительную статью про Lattice было рано, завтра – может быть поздно.

Сегодня я расскажу, где купить более-менее дешёвые платы для опытов, как быстро освоить Open Source среду разработки и какие готовые проекты осмотреть в первую очередь.

Читать далее
Total votes 38: ↑37 and ↓1+36
Comments30

Пособие по программированию модулей ядра Linux. Ч.1

Reading time19 min
Views36K

Перед вами последняя версия пособия по программированию модулей ядра Linux, вышедшего 2 июля 2022 года. Пособие большое, поэтому материал будет разбит на серию статей. В первой части мы разберём, что такое модули ядра, рассмотрим необходимые подготовительные этапы для их создания и в завершении по традиции напишем первый простейший модуль «Hello world», попутно разобрав вопросы лицензирования, передачу аргументов командной строки и прочие нюансы. Это пособие вы можете смело воспроизводить и изменять в соответствии с условиями Open Software License v 3.0.
Читать дальше →
Total votes 43: ↑43 and ↓0+43
Comments4

PyZelda своими руками или как геймдевить без Unreal, Unity и кредитов

Level of difficultyMedium
Reading time43 min
Views9.1K

Хабры и Хаброчки, я хотел бы перед самой статьёй обсудить вопрос целесообразности писать свой движок, вместо готовых решений. Есть куча статей, которые опишут разные движки от более популярных до менее. Я бы хотел затронуть немного другой вопрос: "Как человеку, который изучал программирование много лет заняться геймдевом?". Обычно, есть два пути в геймдев:

Умышленный путь. Это когда человек, который играет в игры рано или поздно решит их создать. Тогда, он выбирает где ему учиться этому и выучивает игровые движки и C-образные языки к ним (чаще всего, C#).

Путь прогеров. Программист увлекается математикой и пишет код. Так или иначе, везде где есть код — есть компьютер. Цифровые развлечения (в том числе и игры) не проходят мимо тех людей, который постоянно пишут код. Так, часть прогеров решает написать свою игру и начать свой путь в геймдев. Об этом пути мы и поговорим.

Так зачем выбирать "сложный" путь? Во-первых, не для всех он сложнее. Лично мне сложнее перейти на C# с использованием Unity, чем написать новый проект на Python. Во-вторых, люди не всегда понимают сам движок. Сейчас я преподаю в институте "Бизнеса и Дизайна". Это один из первых профильных учреждений, занимающихся геймдевом. И вот у студентов я спросил зачем им движок. Каково было моё удивление, что далеко не все понимаю, вообще зачем он нужен. Спойлер, не из-за пресетов.

Всех заинтересовавшихся, приглашаю в мир змеиных игр!

Погрузиться в змееленд
Total votes 42: ↑42 and ↓0+42
Comments19

Симулятор электронных схем Qucs-S: обзор новшеств версии 2.1.0

Reading time6 min
Views13K

Qucs-S является программой с открытым исходным кодом для моделирования электронных схем. Qucs-S кроссплатформенный (поддерживаются Linux и Windows) и написан на С++ с использованием набора библиотек Qt. Для работы Qucs рекомендуется использовать также открытый движок моделирования Ngspice. Первый релиз Qucs, на котором основан Qucs-S, состоялся в 2003 году. В декабре этого года программе исполняется 20 лет. Актуальным релизом Qucs-S на текущий момент является версия 2.1.0. Далее будет рассказано о функциях, добавленных в релизах, вышедших в этом году.

Осторожно! Далее имеются анимированные GIF.

Читать далее
Total votes 42: ↑42 and ↓0+42
Comments20

Спецификация D-Bus. Часть 1

Reading time31 min
Views12K

Данная статья открывает серию публикаций с переводом спецификации D-Bus (Версия 0.36 от 2020-04-21). Поскольку у D-Bus нет логотипа, то в качестве обложки была использована картинка автобуса с D-образным корпусом. Для краткого введения в тему D-Bus рекомендую прочитать перевод обзорной статью написанной авторами D-Bus: https://habr.com/ru/post/529966/

Читать далее
Total votes 5: ↑5 and ↓0+5
Comments0

Взгляд изнутри на OpenBMC применительно к системам OpenPOWER

Reading time11 min
Views25K
В одной из предыдущих статей Максим затронул аппаратную часть платы BMC (Baseboard Management Controller). Я хочу продолжить повествование и рассказать о нашем подходе к BMC и участии в проекте OpenBMC.

Для полноты истории придётся начать немного издалека и рассказать о назначении сервисных процессоров и роли BMC в работе сервера, затронуть протокол IPMI и программную часть. После этого кратко опишу, как BMC участвует в загрузке систем на POWER8. Закончу обзором проекта OpenBMC и нашим отношением к вопросу. Опытные в теме сервисных процессоров читатели могут сразу отмотать на нижние разделы.
Читать дальше →
Total votes 8: ↑8 and ↓0+8
Comments4

Разработка Технического задания по ГОСТ 34 легко и просто

Reading time45 min
Views302K
Нередко слышишь мнение, что составление Технического задания по ГОСТ 34 (ТЗ) занятие не только трудоемкое, но и крайне раздражающее, поскольку приходится писать много всякой ерунды, воды. Но подумайте: разработкой этого ГОСТа занимались целые НИИ, это был проект на государственном уровне, обобщен опыт сотен проектов автоматизации, сложных проектов. Неужели они могли написать чушь?

На самом деле, при грамотном подходе ГОСТ очень сильно помогает не только при разработке ТЗ, но и в ходе реализации проекта автоматизации в целом (и не только в госконтрактах, но и для коммерческой разработки). Грамотные люди его писали. Но чтобы воспользоваться плодами их трудов, нужно немного понять замысел не только ТЗ, но и ГОСТ 34 в целом.

В данной статье мы пункт за пунктом разберем все требования ГОСТа и попробуем сделать разработку ТЗ по ГОСТ 34 не обременением, а большой помощью в проекте.
Читать дальше →
Total votes 28: ↑27 and ↓1+26
Comments20

Так что же такое «Техническое Задание»?

Reading time6 min
Views138K
Данный текст был создан сугубо ради существования постоянной ссылки, которую бы сам автор, да и все вы — могли бы смело отправлять своим будущим заказчикам, коллегам, родственникам и знакомым в виде стандартизированного ответа на вопрос: «А надо ли мне ваше ТЗ и вообще что это?»

Как говорится — «вместо тысячи слов», поскольку каждый раз евангелистить по 4-5 часов в скайпе на данную тему становится уже утомительным, а общемировая тенденция подсовывать под определение «Технического задания» откровенную ерунду с годами все только усиливается.

image
Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments6

Postmortem, или как разобрать инцидент и ни с кем не разругаться (ну… или почти ни с кем)

Level of difficultyEasy
Reading time6 min
Views8.9K

Цель Postmortem'a - исследовать некую новую, неочевидную или неожиданную ситуацию или ошибку, с которыми вы / компания не хотите сталкиваться снова. Рассмотрение инцидента, или проблемы для того, чтобы понять, что всё-таки произошло, и предотвратить это в будущем, ну, или по крайней мере научиться раньше обнаруживать, минимизировать ущерб и пр.

К делу
Total votes 27: ↑24 and ↓3+21
Comments1

10 тяжёлых истин о работе программиста, про которые никто не предупреждает

Level of difficultyEasy
Reading time10 min
Views67K

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

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

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

Имея большой опыт работы в этой отрасли, я смог показать им, какова жестокая реальность. Я рассказал им о хорошем, но также поделился и неприятными истинами.

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

Читать далее
Total votes 185: ↑170 and ↓15+155
Comments417

Музыкальные редакторы на портативках: LSDj, LGPT и EBT

Level of difficultyEasy
Reading time28 min
Views4.2K

Сегодня расскажу о сортах чиптюна, долгой жизни старой портативной игровой системы, мостике между видеоигровой и клубной музыкой, необычной музыкальной субкультуре, управлении сложным музыкальным редактором с помощью всего восьми кнопок, программах с провокационными названиями, и всё это является подводкой к рассказу о моём новом проекте. В нагрузку идёт немного DIY.
Читать дальше →
Total votes 64: ↑64 and ↓0+64
Comments11

Получаем JTAG на iPhone 15

Level of difficultyEasy
Reading time6 min
Views14K

Месяц назад Apple выпустила iPhone 15 — свой первый смартфон с разъёмом USB-C. Предыдущие полтора года я занимался аппаратным хакингом iPhone, например, мы выпустили опенсорсный последовательный JTAG-адаптер для iPhone под названием Tamarin Cable. Компания Apple наконец-то перешла на USB-C, поэтому мне стало любопытно, можно ли сделать что-то подобное с iPhone 15. Я купил по предзаказу этот телефон, пару печатных плат и набор электронных компонентов.

Прежде всего нужно сказать, что это не уязвимость и не jailbreak, я просто исследую USB-C в iPhone 15 и развлекаюсь со взломом оборудования.
Читать дальше →
Total votes 83: ↑83 and ↓0+83
Comments1

Почему мой любимый API — это файл zip на сайте Европейского центрального банка

Level of difficultyEasy
Reading time7 min
Views31K

Когда был максимальный курс доллара к евро?

Вот небольшая программа, вычисляющая это:

curl -s https://www.ecb.europa.eu/stats/eurofxref/eurofxref-hist.zip \ | gunzip \ | sqlite3 -csv ':memory:' '.import /dev/stdin stdin' \ "select Date from stdin order by USD asc limit 1;"

Результат: 2000-10-26. (Можете попробовать запустить её самостоятельно.)

Читать далее
Total votes 104: ↑90 and ↓14+76
Comments27

Муки рождения Bioshock Infinite

Level of difficultyEasy
Reading time10 min
Views4.4K
image

Я до сих пор не могу поверить, что с релиза Bioshock Infinite прошло аж 10 лет. Это был не просто культурный феномен, захлестнувший миллионы людей по всему миру. Это было очень личное и эмоциональное приключение для каждого игрока, который вместе с Букером и Элизабет ворвался в Колумбию. Игра, безусловно, хороша. Но что если я скажу вам, что история её разработки настолько тяжёлая, хаотичная и запутанная, что после неё удивительно, как вообще Bioshock Infinite смог выйти в свет, да ещё и стать хитом? Звучит безумно, но это чистая правда, и сейчас я вам это докажу.
Читать дальше →
Total votes 33: ↑32 and ↓1+31
Comments4

Полное руководство по эффективному обучению

Reading time9 min
Views16K

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

Читать далее
Total votes 21: ↑13 and ↓8+5
Comments12

Information

Rating
Does not participate
Location
Россия
Registered
Activity

Specialization

Backend Developer, Embedded Software Engineer
Lead
Java
OOP
SQL
Linux
English
Spring Boot
Hibernate
Git
C++
Programming microcontrollers