Сообщения в bot.habr.rss

5 полезных и просто занимательных проектов на Raspberry Pi начала весны 2023 года

Опубликовано: Mon, 20 Mar 2023 20:59:22 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

DIY привлекает многих из нас, и не просто так. Ведь разрабатывая что-то самостоятельно, пускай это даже не особо сложный или практичный проект, любители электронных девайсов (да и не только гаджетов) получают удовольствие. А если проект еще и позволяет выполнять впоследствии актуальные для владельца или компании задачи — и вовсе хорошо. Удовольствие тогда двойное, если не тройное. Сегодня предлагаю обратить внимание на 5 разных проектов, некоторые из которых могут пригодиться читателям Хабра. Ну а если нет — так хоть идею можно оценить. Читать дальше →

https://habr.com/ru/companies/selectel/articles/722398/
BotHabr to All (2023-04-04 13:01:04) [ссылка]

Как создать аппаратный эмулятор CD-ROM без паяльника

Опубликовано: Mon, 20 Mar 2023 09:00:01 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

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

Существует множество решений, как можно установить операционную систему с ISO-образа без записи его на оптический носитель. Я уже затрагивал тему ISO-образов в моих статьях: «Раскрываем секреты загрузочных ISO-образов» и «Что вам нужно знать о внешних загрузочных дисках».

В этой статье я хочу рассказать о ещё одном способе, который, как оказывается, вшит в ядро Linux. Если ваш одноплатный компьютер имеет USB OTG-разъём, и на него возможна установка Linux, то вы c большой долей вероятности можете сделать из одноплатника аппаратный эмулятор привода оптических дисков.

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

Я сам узнал много интересного, систематизировал свои знания, поэтому надеюсь, что чтение будет познавательно и интересно для вас. Читать дальше →

https://habr.com/ru/companies/ruvds/articles/722266/
BotHabr to All (2023-04-04 13:01:04) [ссылка]

Raspberry Pi как основа для DIY-проектов: оригинальные идеи начала 2023 года

Опубликовано: Fri, 10 Mar 2023 08:18:49 GMT
Канал: Разработка на Raspberry Pi – Одноплатный компьютер компактного размера

Одноплатный мини-ПК Raspberry Pi стал тем, чего не хватало энтузиастам мира электроники. Он позволяет разрабатывать как простые, так и сложные проекты, как для личного использования, так и в профессиональных целях. Сегодня мы решили рассказать о проектах, которые встретились представителям нашей команды на просторах интернета. Они же могут служить основой для разработки чего-то ещё более интересного — так что не пропустите. Посмотреть подборку

https://habr.com/ru/companies/sberbank/articles/721496/
BotHabr to All (2023-04-04 13:01:04) [ссылка]

[Перевод] Ретроразработка драйвера для Windows 3.1

Опубликовано: Wed, 04 Jan 2023 13:00:02 GMT
Канал: Assembler – Язык программирования низкого уровня

Word, запущенный в Windows 3.1 с удобным разрешением 1152х864

Много месяцев назад я попробовал свои силы в написании 256-цветного драйвера высокого разрешения для Windows 3.1. Попытка была успешной, но работа пока ещё не завершена. В процессе я заново открыл для себя множество забытых вещей и узнал ещё больше новых. Этот пост основан на заметках, которые я делал по ходу разработки. Читать дальше →

https://habr.com/ru/companies/ruvds/articles/709008/
BotHabr to All (2023-04-04 13:01:03) [ссылка]

[recovery mode] mov Программирование на Ассемблере без знаний Ассемблера, habr

Опубликовано: Tue, 27 Dec 2022 06:59:13 GMT
Канал: Assembler – Язык программирования низкого уровня

ПрологРешил поделиться своими мыслями и кратким двухдневным опытом написания (собирания по частям) программы на Ассемблере без чтения учебников, больших статей и в целом без опыта программирования на этом языке. На одном из форумов я набрёл на задачу вывода десятичного числа в консоль. Если на языке C или PHP эта операция совершенно элементарна, то на Ассемблере всё не так просто, как может показаться на первый взгляд. Для решения задачи я выбрал nasm (правда, выбора и не было), немножко поигравшись предварительно с вставками nasm (синтаксис AT&T) в код C (ссылка на форум с моими опытами в конце статьи).Философское отступлениеОстановись, дорогой читатель! И прежде чем читать дальше, задай себе вопрос: возможно ли начать ковать без обучения кузнечному делу?!Я оставлю этот вопрос без ответа. Только скажу, что в нём нет ни капли иронии, издёвки, намёка на назидательность и т.д. Это вопрос без какого-либо дополнительного подтекста.ПоискиИнформации по Ассемблеру в Интернете очень много и заблудиться в разных видах Ассемблера (для различных систем) крайне просто. Я не единственный задавался вопросом в поиске «how to print a number in asm». Ответы на разных диалектах языка относительно легко можно найти на Stack Overflow, однако это совершенно не означает, что будет легко запустить найденный код на своей машине. Велика вероятность того, что что-нибудь не сойдётся. Научиться отличать синтаксис AT&T и intel можно за несколько минут, а вот с узнаванием tasm, fasm, masm, nasm - несколько сложнее. Единственное, что можно предположить и (почти) не прогадать: базовые инструкции во всех Ассемблерах имеют (почти) одинаковые мнемоники. Читать далее

https://habr.com/ru/articles/707862/
BotHabr to All (2023-04-04 13:01:03) [ссылка]

Ультра-маленькие демки под DOS

Опубликовано: Mon, 30 Jan 2023 22:24:53 GMT
Канал: Assembler – Язык программирования низкого уровня

В статье вы узнаете как сделать маленькие программы для MS-DOS на ассемблере, я покажу как рисовать 2D графику напрямую в видео-буфер. Может быть, вы даже вдохновитесь на создание собственного демо, которое будет ставить рекорды по размерам исполняемого файла. Читать далее

https://habr.com/ru/articles/713550/
BotHabr to All (2023-04-04 13:01:02) [ссылка]

Что скрывают программы от отладчика?

Опубликовано: Sat, 28 Jan 2023 19:18:12 GMT
Канал: Assembler – Язык программирования низкого уровня

Здорово, когда программы разрешают себя отлаживать: какие бы тайны ни скрывали, выдадут. Честным программам скрывать нечего, но встречаются и вредные: такие программы мешают себя изучать, а то и вовсе отказываются работать.Отладчик поможет изучить зашифрованный код. Программа расшифровывает код перед выполнением: проще остановить программу отладчиком и исследовать, чем расшифровывать код самостоятельно. Программа сопротивляется отладке, когда хочет этому помешать.Посмотрим, как справиться с противодействием отладке на примере 1337ReverseEngineer's The Junkrat https://crackmes.one/crackme/62dc0ecd33c5d44a934e9922 . Посмотрим, что там

https://habr.com/ru/articles/713446/
BotHabr to All (2023-04-04 13:01:02) [ссылка]

Как найти часть суши, окруженную водой

Опубликовано: Thu, 26 Jan 2023 02:40:02 GMT
Канал: Assembler – Язык программирования низкого уровня

Уже очень давно создана и работает программа, отображающая космонавтам движение МКС на карте земной поверхности.МКС, конечно, двигается вовсе не по земной поверхности, а по орбите. Но если соединить станцию и центр Земли прямой, то точка пересечения этой прямой с земной поверхностью будет являться т.н. «подспутниковой» точкой. Совокупность этих точек составляет «трассу» полета. Другими словами, трасса – это проекция на земную поверхность плоскости орбиты. Если земная поверхность представлена схематичным изображением континентов в цилиндрической проекции, то трасса МКС (наклонение ее орбиты 51,8°) отобразится кривой, напоминающей синусоиду. И где-то на этой «синусоиде» обычно красным кружочком отображается текущее положение МКС... Читать далее

https://habr.com/ru/articles/712848/
BotHabr to All (2023-04-04 13:01:02) [ссылка]

Программирование assembler 6502 nes/famicom/dendy векторы прерывания, процедуры и их вызов

Опубликовано: Fri, 10 Feb 2023 22:04:44 GMT
Канал: Assembler – Язык программирования низкого уровня

Векторы прерывания в формате программирование на ассемблере 6502, можно представить как всем хорошо известный патерн event-observer в высокоуровневых языках программирования. Конечно же можно реализовать данный патерн и на ассемблере но я его привел для большего понимания работы вектора прерывания... Читать далее

https://habr.com/ru/articles/716254/
BotHabr to All (2023-04-04 13:01:01) [ссылка]

Программирование nes/dendy скроллинг фона

Опубликовано: Thu, 09 Feb 2023 20:05:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Я несколько раз задавался вопросом а как сделать прокрутку фона как в марио или черном площе, и постепенно подобрался к выводу что надо перерисовать nametable динамически в момент аппаратной прокрутки. Объяснение и код как это сделано на ассемблере 6502 в данной статье. Читать далее

https://habr.com/ru/articles/715994/
BotHabr to All (2023-04-04 13:01:01) [ссылка]

Assembler в Go: техники ускорения и оптимизации

Опубликовано: Mon, 06 Mar 2023 07:56:10 GMT
Канал: Assembler – Язык программирования низкого уровня

Привет, Хабр!В прошлой статье я рассказывал об ускорении копирования элементов одного слайса в другой с помощью средств Go. В этот раз я решил пойти дальше и посмотреть, что можно достичь, начав разговаривать с процессором на его языке. Я выбрал одну из оптимизированных версий функции Copy в качестве объекта исследования из решения задачи VK Cup'22/23, которая копирует только синий компонент RGBA в Paletted картинку. Если интересно узнать как её ускорить почти в 10 раз, прошу под кат. Читать далее

https://habr.com/ru/articles/720582/
BotHabr to All (2023-04-04 13:01:00) [ссылка]

Сканер установленных перехватчиков в памяти процесса

Опубликовано: Sat, 04 Mar 2023 16:57:03 GMT
Канал: Assembler – Язык программирования низкого уровня

В статье будет рассмотрен один из методов поиска изменений в памяти процесса, на основе построения полной карты уязвимых к перехвату адресов. Рассмотрена работа со списками загрузчика, ручным разбором таблиц импорта/отложенного импорта/экспорта/TLS загруженных файлов, c обработкой форварда функций и ApiSet редиректов.
Будет показана методика доступа в 64 битное адресное пространство чужого процесса из 32 битного кода через статически сформированный ассемблерный шлюз, так и подход с применением автоматически генерируемого гейта.
Будет дано много комментариев «почему» применяется тот или иной подход, а также описание различных проблемных ситуаций, основанных в том числе как на собственном опыте, так и на разборе кода системного загрузчика, поэтому будет интересна и подготовленным специалистам. Читать дальше →

https://habr.com/ru/articles/720436/
BotHabr to All (2023-04-04 13:01:00) [ссылка]

Вывод спрайтов, создание анимации, программирование nes/famicom/dendy

Опубликовано: Tue, 28 Feb 2023 21:05:43 GMT
Канал: Assembler – Язык программирования низкого уровня

Ранее я уже писал статью о выводе спрайтовой графики на экрана с использованием регистра OAMDATA ($2004), но это подходит лишь для экспериментов и вывода некой статической картинки. Но движение либо анимация будет приводить к появлению различных артефактов наслоению спрайтов, моргание кадра, и так далее. Что бы этого избежать следует сформировать для каждого кадра буфер спрайтов и вывести на экран. Читать далее

https://habr.com/ru/articles/719636/
BotHabr to All (2023-04-04 13:01:00) [ссылка]

Эмоциональная история процессоров для первых компьютеров с 70-х до начала 90-х: AIM PowerPC

Опубликовано: Sat, 11 Mar 2023 07:46:48 GMT
Канал: Assembler – Язык программирования низкого уровня

В первой части были обзорно описаны многие разные процессоры до середины 90-х. Во второй части был обзор процессоров мейнфреймов IBM. Недавно мне предоставилась возможность немного попрограммировать для PowerPC, на основе чего появилась возможность добавить ещё одну часть к этим обзорам. Читать далее

https://habr.com/ru/articles/721482/
BotHabr to All (2023-04-04 13:00:59) [ссылка]

Имплементация маппера MMC1 ассемблер 6502 nes/famicom/dendy

Опубликовано: Fri, 10 Mar 2023 21:35:04 GMT
Канал: Assembler – Язык программирования низкого уровня

Игры не использующие мапперы в NES ограничены, 16 кб PRG ROM (хранилище программного кода) и 8 кб CHR ROM (хранилище графики). С развитием разработки игр на NES, встал вопрос, а как увеличить данные ограничения и на помощь пришли микросхемы мапперы. Что же такое мапперы мы и разберем сегодня и как их использовать в своем коде. Читать далее

https://habr.com/ru/articles/721654/
BotHabr to All (2023-04-04 13:00:59) [ссылка]

Статус флаги ассемблера 6502 nes/famicom/dendy

Опубликовано: Wed, 08 Mar 2023 19:06:29 GMT
Канал: Assembler – Язык программирования низкого уровня

Для более глубокого понимания как происходит ветвление в программах написанных на ассемблере 6502 необходимо углубиться в флаги и понять какие команды влияют на тот или иной флаг. Это поможет избежать множество ошибок связанных с не очевидностью ветвления вашей программы. Читать далее

https://habr.com/ru/articles/721168/
BotHabr to All (2023-04-04 13:00:59) [ссылка]

Симулятор-Отладчик x86-кода

Опубликовано: Wed, 22 Mar 2023 14:00:11 GMT
Канал: Assembler – Язык программирования низкого уровня

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

https://habr.com/ru/articles/724096/
BotHabr to All (2023-04-04 13:00:58) [ссылка]

Свой язык, или как я устал от ассемблера и С

Опубликовано: Sun, 19 Mar 2023 13:54:06 GMT
Канал: Assembler – Язык программирования низкого уровня

История о том, как я свой язык начал создавать. Читать

https://habr.com/ru/articles/723400/
BotHabr to All (2023-04-04 13:00:58) [ссылка]

Создание нового языка для микроконтроллеров

Опубликовано: Wed, 15 Mar 2023 10:12:58 GMT
Канал: Assembler – Язык программирования низкого уровня

Некоторое время я был занят написанием простенького редактора для языка ассемблер под ARM Cortex семейства микроконтроллеров (подробности в моих статьях), и вот сейчас, поднакопив некоторый опыт как в части самого ассемблера так и способов написания программ в них решился на написание нового редактора.Плюс еще подоспел интерес к RISC‑V архитектуре и было принято решением делать редактор который смог бы редактировать программы на ассемблере для различных архитектур (в том числе может быть и с лагеря AVR кто нить захочет присоединиться).В общем подумалось: а что если попытаться создать asm‑base'д язык программирования который при выборе архитектуры просто бы транслировался автоматически в асм инструкции выбранной платформы? Читать далее

https://habr.com/ru/articles/722532/
BotHabr to All (2023-04-04 13:00:58) [ссылка]

Демосцена на релейном компьютере

Опубликовано: Sat, 01 Apr 2023 03:27:04 GMT
Канал: Assembler – Язык программирования низкого уровня

Какой компьютер без демосцены? Обратимся к классике от @Manwe_SandS@frog:До моего визита на Assembly'99 я каждый pаз удивлялся pезультатам голосования на заpубежных demo party. Мне было непонятно, как столько людей могут отдавать голоса за pаботы состоящие из тупой (я пpошу пpощения, но это именно так) последовательности эффектов - плазмы, туннеля, огня, вpащающегося куба (тоpа) и пpочих подобных вещей, не объединенных никаким сюжетом, не несущими никакой идеи. То что нужно! Возьмём первый попавшийся релейный компьютер и понаделаем эффектов. Читать далее

https://habr.com/ru/articles/720886/
BotHabr to All (2023-04-04 13:00:57) [ссылка]

Реверс инжиниринг для самых маленьких на практике

Опубликовано: Sun, 26 Mar 2023 10:58:01 GMT
Канал: Assembler – Язык программирования низкого уровня

Скомпилированное приложение является «чёрным ящиком». Чтобы туда заглянуть, восстановить алгоритм работы применяется реверс‑инжиниринг. Это непростой навык с высоким порогом входа. В статье мы попробуем взять дизассемблер, несложную задачку и пойдём в бой. Материал будет полезен тем, кому хочется с чего-то начать и погрузиться в тему реверса.В ходе нашего погружения разберем, какие инструменты использовать, с какой стороны подходить к решению подобных задач, разберём различные теоретические моменты. Для углублённого изучения будут ссылки на дополнительную литературу. Читать далее

https://habr.com/ru/articles/724808/
BotHabr to All (2023-04-04 13:00:57) [ссылка]

[Перевод] Процедурная генерация 3D-мешей для интро на 64 КБ

Опубликовано: Fri, 24 Mar 2023 07:34:57 GMT
Канал: Assembler – Язык программирования низкого уровня

В предыдущей статье [перевод на Хабре] мы рассказали, как генерируются текстуры в демо H – Immersion. На этот раз мы изучим ещё один важный инструмент для создания демо нужного размера — процедурную геометрию.

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

https://habr.com/ru/articles/724332/
BotHabr to All (2023-04-04 13:00:57) [ссылка]

Разбираем протокол Dyson. Интеграция с Home Assistant

Опубликовано: Wed, 22 Mar 2023 12:06:13 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Очиститель воздуха. Думаю, что многие задумывались о необходимости его приобретения. Если вы живете загородом, а вокруг вас зелёный лес, то покупка такого девайса будет сомнительна. Однако, если вас окружают многоэтажные дома, дороги, забитые машинами, промышленные предприятия, то наличие очистителя вполне может улучшить качество вашего домашнего воздуха. Многие современные очистители воздуха достаточно просто можно интегрировать в системы управления вашим «умным» домом, что позволит настроить различные сценарии при взаимодействии с другими датчиками. В моём случае случилось так, что был приобретён очиститель воздуха Dyson Air purifier TP07, который должен стоять на страже чистоты воздуха в одной из комнат. Он исправно несёт свою службу, вот, только просто подключить его к Home Assistant (HA) не представляется возможным. В купленной модели отсутствует модуль Wi-fi. Что же делать? Будем ревёрсить. В данной статье будет разобран формат диагностических данных очистителя Dyson, которые можно считать и направить в HA. Читать далее

https://habr.com/ru/articles/724052/
BotHabr to All (2023-04-04 13:00:56) [ссылка]

Не совсем бегущая строка своими руками. Симуляторы электронных схем до добра не доведут

Опубликовано: Tue, 21 Mar 2023 08:01:08 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Как вы относитесь к симуляторам электронных схем? Кто-то на них плюется, а мне нравится! Особенно нравится, когда организму лень отлипать от дивана, а мозг требует схемотехники. Arduino IDE + ISIS Proteus на мой взгляд — отличная альтернатива компьютерным игрушкам.

Часто причиной возникновения в железе моих проектов «выходного дня» является именно результат удачного моделирования в симуляторе. Так случилось и в этот раз, я досимулировался до того, что получилось вполне жизнеспособное устройство, которое было решено воплотить в реальном мире.

Я уже ни раз писал, что электроника — мое хобби, я занимаюсь этим от скуки. Кто-то увлекается рыбалкой и ходит на реку с удочкой. А я вместо снастей и приманок покупаю радиодетали и заказываю печатные платы. Если для вас пайка сродни медитации, а дым канифоли слаще кальяна, то этот пост для вас. Паять в этот раз мне пришлось ну очень много. Читать дальше →

https://habr.com/ru/companies/timeweb/articles/722774/
BotHabr to All (2023-04-04 13:00:56) [ссылка]

Слышали ли вы про язык «e»? А ведь он был продан за $315 миллионов долларов

Опубликовано: Fri, 24 Mar 2023 07:08:58 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Все знают про язык программирования C, поменьше — про язык программирования F, кое‑кто про B, предшественник C, а вот знаете ли вы про язык «e»? Их кстати два — один с большой буквы «E», а другой с маленькой «e».Вы наверное подумали, что это еще один безызвестный язык от какого‑нибудь аспиранта провинциального европейского университета. Однако интерпретатор маленького «e» под названием Specman продали в 2005 году большой компании Cadence Design Systems за $315 милионов долларов. Причем президента продающей компании Verisity звали Гаврилов. Также можно нагуглить, что этот язык использовали внутри компании Intel. Что же в нем такого, что вызвало интерес у толстых богатых корпораций? Читать далее

https://habr.com/ru/articles/724442/
BotHabr to All (2023-04-04 13:00:53) [ссылка]

Девайс HabrScore для хаброзависимых с блекджеком и …

Опубликовано: Fri, 24 Mar 2023 14:24:58 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Понравилась статья HabraTab — девайс для хаброзависимых, где описана разработка устройства для визуализации рейтинга пользователя на Хабре.
И мне очень захотелось подобное устройство, вот только было несколько но:

Очень лень было делать, заказывать и паять печатную плату
Еще хотелось выводить рейтинг последней статьи, но хардкодить адрес и каждый раз пересобирать прошивку показалось очень муторно.
Разработка на С/С++ меня не пугает, так как занимаюсь этим более 20 лет, но писать что-то под Arduino у меня душа не лежит. И это не говоря про необходимость настройки системы сборки под конкретный микроконтроллер.

Короче, немного поразмыслив, было принято решение делать свое устройство для визуализации рейтингов на Хабре, и как обычно с блекджеком и… ну вы поняли. И самое главное, чтобы можно было собирать устройство из покупных деталей с Алиэкспресса для максимально простого повторения и кодить на чем-нибудь попроще, чем на С/С++. Читать дальше →

https://habr.com/ru/companies/timeweb/articles/723334/
BotHabr to All (2023-04-04 13:00:40) [ссылка]

Компактный make для STM32 с USB

Опубликовано: Sun, 26 Mar 2023 09:03:12 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Дата появления микроконтроллеров STM32, судя по datasheet, 2007 год, и с тех пор они признаны очень успешным и популярным чипом. Поэтому для них уже написано множество готовых примеров с поддержкой почти всех технологий как самим вендором так и комьюнити. Это и всевозможные USB устройства включая флешку и звуковую карту, и целочисленные варианты кодеков (WMA, Speex), и даже готовые сборки под ethernet с lwip стеком так же в наличии. В то время комьюнити пытается догнать вендора и написало библиотеку libopencm3, уже в отличии от оригинала, основанную на make, а не привязанную к среде. И в ней есть так же примеры с USB. И вот, на фоне всего этого я представил что STM32 ничем не сложнее меги, вооружившись таблицей разметки памяти с адресами регистров начинаю писать еще один вариант стандартной библиотеки для STM32. Гораздо более наивный, но зато компактный. Смыл был однозначно, я вообще считаю что если не понравился любой стандартный продукт, то это повод переписать его полностью, хотя вы можете со мной не согласиться. Читать далее

https://habr.com/ru/articles/724800/
BotHabr to All (2023-04-04 13:00:33) [ссылка]

WS2812B/WS2811 + STM32

Опубликовано: Sun, 26 Mar 2023 23:15:56 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

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

https://habr.com/ru/articles/724888/
BotHabr to All (2023-04-04 13:00:30) [ссылка]

Причина агонии студентов во время интервью, или популярно о моделях интерфейсов шины

Опубликовано: Fri, 31 Mar 2023 08:14:13 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Сейчас я интервьирую кандидатов которые приходят на позиции в RTL design / проектировщики микросхем на уровне регистровых передач. Но 5 лет назад я интервьировал студентов и других инженеров на позиции в DV / Design Verification / верификаторы блоков микросхем.Моим стандартным вопросом было написать маркером на доске псевдокод для упрощенного драйвера модели шины (Bus Functional Model - BFM) для протокола AXI. На этом вопросе у ~80% кандидатов наступала агония - они как ужи на сковородке пытались натянуть сову на глобус - приспособить решение для последовательной шины а-ля APB, которое они прочитали в каком-нибудь тьюториале - к шине AXI, которая во-первых конвейерная, а во-вторых, допускает внеочередные ответы на запросы чтения с разными идентификаторами.Аналогия из другой области: представьте, что кто-то пытается обходить дерево или решить "ханойские башни" - не зная концепций рекурсии и стека. Или написать GUI интерфейс, не зная концепции cобытийно-ориентированной архитектуры. Это не потому что кандидаты глупые

https://habr.com/ru/articles/726022/
BotHabr to All (2023-04-04 13:00:28) [ссылка]

Слушаем ZX Spectrum музыку с MIDI-плеера

Опубликовано: Fri, 31 Mar 2023 08:28:51 GMT
Канал: Программирование микроконтроллеров – Учимся программировать микроконтроллеры

Как-то раз долгие годы назад у меня умер Спектрум. Уже и не вспомню, что с ним случилось, но возиться с ремонтом желания не было, ибо на замену давно хотелось новенький ZX Evolution. Все более-менее полезные и выглядящие целыми детали были сняты, в том числе и музыкальный сопроцессор YM2149F. И как раз в нужный момент попалась статья @Z80A о сборке плеера на базе Arduino, который я незамедлительно начал собирать.С тех пор проект законченным назвать было сложно — усилитель для наушников был безжалостно выброшен, т.к. из-за неправильного включения слишком сильно шумел, да и устройство получилось не особо компактным, чтобы носить его с собой. Так и валялась плата с кучей проводов на стойке с аудиотехникой, подключенная в линейный выход на случай, если захочется послушать спектрумное поппури.Однако, недавно мне попалась интересная штуковина — Casio FD-1. Это MIDI-плеер, играющий файлы с дискет в обычный MIDI-порт со штекером типа DIN-5.Попробуем её приспособить для прослушивания музыки со спектрума! LD DE, _ARTICLE : LD HL, _BRAIN : LDIR

https://habr.com/ru/articles/725752/
BotHabr to All (2023-04-04 13:00:26) [ссылка]