RSS
Pages: 1 ... 59 60 61 62 63 64 65 66 67 68 69 70 71 72
[>] Интеграция DMR858M: Практическое руководство по созданию пользовательских цифровых раций на ESP32
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:03


Опубликовано: Thu, 28 Aug 2025 01:39:57 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

В области разработки встраиваемых систем интеграция радиочастотных (РЧ) функций в продукт часто сопряжена со сложным проектированием аппаратного обеспечения и трудоемкой реализацией стека протоколов. Модуль DMR858M значительно упрощает этот процесс, предоставляя высокоинтегрированную подсистему цифровой мобильной радиосвязи (DMR) с мощностью передачи до 5 Вт.1 Это не просто РЧ-трансивер, а комплексное решение, внутренне объединяющее микроконтроллер (MCU), чип цифровой рации, РЧ-усилитель мощности и аудиоусилитель.1 Такая конструкция позволяет разработчикам управлять полнофункциональным ядром рации — поддерживающим стандарт DMR Tier II, совместимым с традиционными аналоговыми режимами и оснащенным функциями SMS и шифрования голоса — через простой последовательный интерфейс.1 Читать далее]]>

https://habr.com/ru/articles/941472/

[>] Схемотехника и алгоритмы световых мечей: вызовы и решения
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:04


Опубликовано: Wed, 27 Aug 2025 07:00:33 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Сага «Звёздные войны» давно стала больше, чем просто серией фильмов. Миллионы людей объединены общей страстью, и для многих из них обладание своим личным световым мечом становится очень важным. Ведь это не только предмет коллекционирования, технологический артефакт или даже спортивный инвентарь, а символ джедайской (или ситхской) философии.На этом интересе вырос целый рынок. Есть компании, которые производят световые мечи целиком. Есть те, кто специализируется только на отдельных компонентах: рукоятях, платах, светодиодных модулях и прочей электронике. Привет, на связи Крэйл из команды умных устройств Яндекса. Но сегодня я расскажу не о Станциях, а о своём необычном хобби. Однажды ко мне обратились производители компонентов с задачей разработать электронику для кастомных световых мечей. Проект оказался ярким во всех смыслах. А в статье я расскажу о том, какие были условия и как я справлялся с поставленными задачами. Читать далее]]>

https://habr.com/ru/companies/yandex/articles/938258/

[>] CAN-шина (Теория)
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:04


Опубликовано: Tue, 26 Aug 2025 15:08:38 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Вэтом тексте изложены базовые теоретические основы по CAN шине безотносительно к конкретному микроконтроллеру. CAN — это двухпроводный, дифференциальный, последовательный, полудуплексный интерфейс для передачи бинарных данных между электронными платами (PCB). В качестве кабеля чаще всего применяют одну экранированную витую пару проводов с именами: CAN_L и CAN_H. Читать далее]]>

https://habr.com/ru/articles/939978/

[>] Практическое руководство по реализации LoRa-связи точка-точка между модулем LoRa1120 и ESP32
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:04


Опубликовано: Tue, 26 Aug 2025 06:06:52 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Ядром модуля LoRa1120 является чипсет LR1120 от Semtech, интегральная схема, разработанная специально для беспроводной связи на большие расстояния с низким энергопотреблением и для приложений геолокации ¹. Перед началом разработки реальных приложений ключевым фактором успеха является глубокий анализ основных технических возможностей этого модуля. Это не просто LoRa-приемопередатчик, а комплексная платформа, объединяющая несколько режимов связи и функции позиционирования. Читать далее]]>

https://habr.com/ru/articles/940698/

[>] [Перевод] Самодельная монтировка телескопа на ESP32
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:05


Опубликовано: Mon, 25 Aug 2025 13:01:27 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Несколько лет назад благодаря таким ютуберам, как Nebula Photos, у меня появился интерес к астрофотографии. Вооружённый OM System OM-5 и объективом Olympus на 15-140 мм, я смог сделать со штатива достаточно приличные снимки туманности Ориона, сняв 300 кадров с двухсекундной экспозицией и затем объединив их в Siril.Понимая, что могу получить более качественные результаты при помощи трекинга, я примерно за €200 купил трекер Move Shoot Move. Он позволил использовать более долгую экспозицию, но находить объекты для съёмки и обеспечивать правильную привязку к полюсам всё равно было довольно сложно. В итоге я потратил кучу времени на изучение подходящих монтировок телескопов с функциями GOTO (автоматического наведения) и трекинга, почти решившись на приобретение моделей в ценовом диапазоне от €1200 до €4000. Для хобби, в котором я пока был новичком, подобные вложения показались мне перебором. Читать далее]]>

https://habr.com/ru/companies/ruvds/articles/939374/

[>] Контроль напряжения над блоком питания на STM32: Подход к энергоэффективности и защите
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:05


Опубликовано: Mon, 25 Aug 2025 10:15:07 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Привет, Хабр ! В современном мире, где автономные системы становятся все более востребованными - от портативных приборов до сложных промышленных комплексов - надежное управление напряжением питания превращается в ключевой фактор их долговечности и эффективности. Сердце любой такой системы - аккумулятор, а его безопасность и срок службы, напрямую зависит от контроля напряжения. В данной статье будет представлен пример контроля напряжения, над блоком питания - внутри которого (никель-металлгидридная аккумуляторная сборка NiMH 14.4В/12 банок по 1.2В(1.4В- при полной зарядке)), с помощью микроконтроллера STM32. В блоке питания уже есть палата управления над аккумулятором, которая выполняет задачи:• Работа с кнопкой;• Работа со светодиодом;• Работа с пъезоэлектрическим излучателем(звуковая индикация);• Контроль заряда/разряда аккумулятора(дает звуковой сигнал при напряжении менее 9 вольт и более 14).В процессе анализа и статистики использования оборудования стало очевидно, что многие пользователи часто забывают своевременно отключать блоки питания. В результате аккумуляторные сборки продолжают разряжаться даже при отсутствии необходимости, напряжение падает до критических значений, и аккумулятор быстро теряет свою емкость, становясь непригодным для дальнейшей эксплуатации. Читать далее]]>

https://habr.com/ru/articles/937596/

[>] Обзор USB-CAN переходника USBCAN-II C
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:05


Опубликовано: Sat, 23 Aug 2025 12:40:31 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

В программировании микроконтроллеров часто приходится работать с CAN шиной. В этом тексте я произвел обзор USB-CAN переходника USBCAN-II C.Как известно, не существует компьютеров с интерфейсом CAN. Зато во всех настольных компьютерах и LapTop(ах) есть USB. В связи с этим для отладки оборудования с CAN нужны всяческие переходники USB-CAN. В этом тексте я написал про достаточно хороший переходник с USB на CAN, который не раз выручал меня при отладке прошивок с CAN-трансивером. Называется изделие USBCAN-II C. Вот он перед вами. Читать далее]]>

https://habr.com/ru/articles/794831/

[>] Программист embedded лезет в FPGA (часть 1, hello blink)
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:06


Опубликовано: Fri, 22 Aug 2025 09:00:31 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Любой программист микроконтроллеров, Imho, рано или поздно (сейчас, скорее, рано) от одного из коллег или из статьи в интернете слышит загадочное ПЛИС или FPGA, CPLD, ПВМ — что-то такое. Если честно, то я услышал вот это загадочное, занырнул чуть-чуть, и теперь думаю, что мой опыт пригодится кому-то ещё. Если совсем честно, то статья ещё планируется как небольшая (всего в трёх частях) заметка для себя. Я когда погружался, делал пометки в текстовом файле, здесь получится их хорошо отредактированная версия. Очень много вещей в подобных этому туториалах, которые я читал, пропускаются как сами собой разумеющиеся. Подробные инструкции куда и как тыкать есть в документации к плате разработки. Но там не хватает ответов на вопросы зачем и почему. Здесь я хочу скомбинировать 2 подхода. Лезем в FPGA]]>

https://habr.com/ru/articles/936674/

[>] I2C Slave на STM32G4
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:06


Опубликовано: Fri, 22 Aug 2025 08:26:31 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Понадобилось мне для проекта по приколу сделать i2c slave (ведомого устройства), но не просто эмуляцию одного устройства (например eeprom), а сразу эдакого эмулятора с, если можно это так назвать, API, к которому можно уже привязывать эмуляции конкретных реализаций устройств на произвольные адреса.На тему реализации ведомых устройств на STM32 с использованием LL я как-то не особо много инфы нарыл, в итоге накостылил, как сам понял :D Тест отвёрткой проходит, хотя первые реализации иногда прям залипали намертво.В статье я не буду глубоко описывать регистры, саму работу шины, прочее, этого добра навалом. Просто окунёмся в дип дарк фэнтези реализацию эмулятора простейшего тача cst816s. Читать далее]]>

https://habr.com/ru/articles/933604/

[>] Монитор качества воздуха Zigbee своими руками
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:06


Опубликовано: Thu, 21 Aug 2025 18:13:05 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Сразу должен сказать, что идея не моя. Изначально речь шла об устройстве на дисплее epaper, который бы на экран выводил значения CO2, температуру и влажность. Ну еще время. В процессе обсуждения родился проект, который мы назвали Air Quality Monitor.Самым главным критерием была выбрана повторяемость как можно большим количеством пользователей Умных Домов, даже теми, которых пугает паяльник. Поэтому все датчики были выбраны в виде готовых модулей, которые просто вставляются в соответствующие разъемы на общей плате, а пайка сведена к минимуму. Читать далее]]>

https://habr.com/ru/articles/938388/

[>] Расследование: отечественные микросхемы в счетчиках электроэнергии – миф или реальность?
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:07


Опубликовано: Thu, 21 Aug 2025 09:26:02 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Расследование: отечественные микросхемы в счетчиках электроэнергии – миф или реальность? 13 апреля в канале пользователя @STriple вышла первая разоблачающая публикация о производителях счетчиков, использующих комплектующие зарубежного происхождения, что запрещено законом. Со временем таких статей стало несколько, и каждая из них получала широкий отклик: об этом писали СМИ, обсуждали в блогах и кулуарах на отраслевых тусовках, а Минпромторг инициировал проверки.Мы с замиранием сердца следили за происходящим и были слегка разочарованы тем, что в поле зрения @STriple попало только несколько игроков рынка, тогда как их значительно больше. Быть может у остальных все нормально и дела с импортозамещением не так уж и плохи? Или, наоборот, нам показали лишь вершину айсберга? Мы решили это проверить и приобрели три реестровых счетчика, которые не фигурировали в расследовании нашего незримого коллеги. Продолжим вскрывать этот гнойник, чтобы заражение не разнеслось по всей отрасли. Читать далее]]>

https://habr.com/ru/articles/939316/

[>] Как я научил Espruino на ESP-32 понимать кириллицу
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:07


Опубликовано: Mon, 18 Aug 2025 13:17:26 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Espruino + ESP32: как вывести русский текст и подключить кириллический шрифт ? История из жизни, создание и подключение кастомного шрифта 🦐 Ну давай показывай, что там у тебя]]>

https://habr.com/ru/articles/938282/

[>] Практическое руководство по проектированию для инженеров по мощным модулям LoRa1121F33-2G4
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:07


Опубликовано: Mon, 18 Aug 2025 10:46:03 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

LoRa6100Pro-mini — это современный беспроводной UART-модуль от компании NiceRF, построенный на базе чипа Semtech SX127X и использующий технологию LoRa с расширенным спектром. Модуль предназначен для передачи данных на большие расстояния при низком энергопотреблении и высокой помехоустойчивости, что делает его идеальным решением для IoT-приложений. Читать далее]]>

https://habr.com/ru/articles/938208/

[>] Mibro Watch Lite3 — тюним крутой .elf циферблат
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:08


Опубликовано: Mon, 18 Aug 2025 09:03:43 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Сегодня я расскажу вам, что представляет собой данная модель, как устроены циферблаты, покажу как легко можно переделать их под себя, нативное .ELF приложение как циферблат это действительно интересно.. Читать далее]]>

https://habr.com/ru/articles/938024/

[>] Первый опыт портирования open-source прошивки на отечественный микроконтроллер К1946ВК035
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:08


Опубликовано: Mon, 18 Aug 2025 08:16:03 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Привет всем любителям схемотехники и программирования микроконтроллеров!Мы начинаем цикл статей о работе с отечественным микроконтроллером К1946ВК035 — тем самым, который всё чаще мелькает в разговорах про импортозамещение, но пока ещё редко встречается «вживую» в рабочих проектах.И начать мы решили с испытания на прочность: портирования популярной open-source прошивки AM32 для управления бесколлекторными двигателями. Здесь не обойдёшься простым «собрал и прошил» — все подробности и ещё много интересного ждут вас в этой статье. Читать далее]]>

https://habr.com/ru/articles/938128/

[>] Murmulator OS 2.0 под RP2350 (Raspberry Pi Pico 2)
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:08


Опубликовано: Sat, 16 Aug 2025 00:27:37 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Что такое Мурмулятор я уже писал тут. Немного повторюсь — это ультрабюджетная «материнская плата», в которую вставляется «процессор» — плата на основе RP2040 (Raspberry Pi Pico) или RP2350 (Raspberry Pi Pico 2). Мурмуляторы бывают разные — и под VGA выход, и под HDMI, и под всякую экзотику типа небольших TFT экранчиков на чипах ILI9341/ST7789. Есть устройства с дополнительной памятью PSRAM, есть с поддержкой дополнительных портов USB через отдельную микросхему‑хаб. И всё это великолепие требует драйверов. Стиль разработки под RP2040/2350 — это всё собрать вместе в один монолит baremetal‑прошивки, и плодятся прошивки кучами... Например, релиз pico‑spec 1.2.C насчитывает более 20-ти вариантов сборки под разное оборудование, и это — не предел.Чтобы как‑то упорядочить всё это безобразие была разработана операционная система, которая содержит в себе необходимые драйвера. Идея в том, что настраивать нужно только её, а прикладные программы уже должны использовать API для доступа к функционалу...В то время существовал ещё только чип RP2040, и про 2350 не было даже слышно, соответственно, разработанная ОС была полностью заточена под этот существующий тогда SoC. О самой ОС и её использовании я как‑то уже выпускал статьи. Поэтому сосредоточусь на ключевых отличиях новой версии.Никаких новых возможностей версия 2.0 пока не предоставляет. Это просто полное портирование МОС на немного отличающийся SoC.Первое основное отличие — 2.0 не умеет запускать .uf2-файлы. Для запуска «тяжёлых» приложений необходимо из заранее собрать «с отступом». Такой формат получил название «.m1p2» — т. е. под Мурмулятор первых версий с «пикой» второй версии. Этот же формат использует pico‑launcher для RP2350, который тоже не умеет запускать .uf2-файлы (в отличии от версии под RP2040). Читать далее]]>

https://habr.com/ru/articles/937718/

[>] Как избежать кошмара параллелизма в IoT: автоматы вместо потоков и корутин
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:09


Опубликовано: Fri, 15 Aug 2025 08:26:07 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

В статье рассматривается библиотека на C++, которая предназначена для реализации технологии параллельного автоматного программирования (АП), отвечающей концепции среды ВКПа (подробнее о ней см. [1]). Для полного понимания материала рекомендуется ознакомиться с основами теории АП, представленной в статьях [2, 3, 4], Взаимосвязь машины Тьюринга с конечными автоматами (КА) подробно рассмотрена в [5]. Вопросы применения корутин в контексте автоматного программирования анализируются в статьях [6–9]. Но в минимальном варианте достаточно даже общего представления о модели конечного автомата и принципах объектного программирования. Читать далее]]>

https://habr.com/ru/articles/937448/

[>] Здоровое питание для стенда. Концепция открытого источника питания для тестирования электроники
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:09


Опубликовано: Thu, 14 Aug 2025 15:25:06 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Как гарантировать, что тысячи устройств будут работать безупречно как в лабе, так и у конечного пользователя? Конечно, с помощью тестов на всех этапах. Чем запитать DUT (тестируемое устройство)? С одной стороны — дешевый китаец (проблемно непредсказуемый или предсказуемо проблемный), с другой — лабораторный монстр (пугающе дорогой, 90% наворотов — мусор). Мы устали делать этот выбор, и решили сделать свой источник: надёжный с первой до последней секунды теста, компактный, умный и послушный. Вот что мы придумали:]]>

https://habr.com/ru/articles/937264/

[>] Операционная система от А до Я: Планировщик
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:10


Опубликовано: Wed, 13 Aug 2025 11:00:36 GMT
Канал: Все статьи подряд / Программирование микроконтроллеров / Хабр

Планировщик — мозг операционной системы. Его задача: решать, какая задача выполняется сейчас, и по каким правилам выдавать процессор другим задачам. Для embedded систем это особенно критично: ресурсы ограничены, реальное время важно, а поведение должно быть предсказуемым.Это вторая из цикла статей про создание микроядерной операционной системы. В прошлой статье рассматривался таймер и HAL. Для вновь пришедших необходимо сначала ознакомиться с ней: ссылка. Читать далее]]>

https://habr.com/ru/articles/936762/

[>] Не смотрите на % использования процессора при гиперпоточности
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:11


Опубликовано: Mon, 08 Sep 2025 16:22:24 GMT
Канал: Все статьи подряд / Assembler / Хабр

Этот небольшой этюд служит как бы продолжением статьи "Проценты использования процессора — это ложная метрика". Мы попытаемся копнуть чуть поглубже и более детально разобраться как работает гиперпоточность (или гипертрединг, как его иногда называют). Читать далее]]>

https://habr.com/ru/articles/945076/

[>] Достучаться до RDPMC вайб-кодингом Windows драйвера
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:11


Опубликовано: Fri, 05 Sep 2025 15:35:21 GMT
Канал: Все статьи подряд / Assembler / Хабр

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

https://habr.com/ru/articles/944240/

[>] AsmX G3 v29: Эволюция компилятора — от стабильности к упаковке Linux приложений. упаковка для Debian-based систем, AUR
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:12


Опубликовано: Fri, 05 Sep 2025 02:13:33 GMT
Канал: Все статьи подряд / Assembler / Хабр

AsmX G3 v29-rev1.0 меняет игру: компилятор, который не только генерирует код, но и пакует его в .deb для Debian/Ubuntu и живёт в AUR с asmx-g3-git, asmx-stable, asmx-official. Проект даёт разработчикам контроль над низкоуровневым кодом и упрощает дистрибуцию приложений. Мощный TAPI и стабильность — всё, чтобы ваш код стал приложением быстрее, чем вы скажете yay -S или paru -S! Читать полностью]]>

https://habr.com/ru/articles/944064/

[>] Reverse Engineering для самых маленьких
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:12


Опубликовано: Tue, 02 Sep 2025 14:45:43 GMT
Канал: Все статьи подряд / Assembler / Хабр

В этой статье мы разберём самую базу реверс‑инжиниринга на примере простого crackme — программы, созданной для практики «хацкинга». Ничего серьёзного. Читать далее]]>

https://habr.com/ru/articles/943246/

[>] Assembler для Windows в Visual Studio. Часть вторая — MASM x64 и юникод
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:13


Опубликовано: Tue, 02 Sep 2025 13:01:29 GMT
Канал: Все статьи подряд / Assembler / Хабр

Вторая часть рассказа об ассемблере под Windows. Здесь я расскажу про 64-разрядные приложения в Windows, чем отличается MASM 64 от MASM 32, про макросы из MASM 64 SDK, как работать с Юникодом на примере простого консольного REPL'а, а ещё как обойтись без Visual Studio и пользоваться masm просто из командной строки.Первая часть — Assembler для Windows в Visual Studio. Читать далее]]>

https://habr.com/ru/companies/ruvds/articles/884240/

[>] vm5277, пример компиляции для AVR
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:13


Опубликовано: Sat, 30 Aug 2025 07:16:31 GMT
Канал: Все статьи подряд / Assembler / Хабр

Пишем один код - собираем на разные 8 бит МК!https://vm5277.ru- это универсальное решение для embedded-разработки, которое позволяет сократить время создания прошивки для 8 бит микроконтроллеров в разы.Как это работает:Пишешь код на Java подобном языке (чистое ООП, без головной боли с указателями и не читабельным кодом)Компилятор автоматически генерирует оптимизированный ассемблерный код под выбранную платформуКод работает поверх легковесной RTOS, написанной на ассемблере для максимальной производительностиАссемблер-сборщик финализирует проект в бинарный файл прошивки Читать далее]]>

https://habr.com/ru/articles/942258/

[>] [Перевод] От математики к машине: преобразуем функцию в машинный код
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:13


Опубликовано: Fri, 29 Aug 2025 12:20:21 GMT
Канал: Все статьи подряд / Assembler / Хабр

В этом посте будет исследовано, как математическую концепцию можно постепенно переформулировать во всё более «вычислительных» понятиях, от высокоуровневого языка, далее до машинного кода и, наконец, до прямого исполнения компьютером. Для этого определю одну и ту же логику в нескольких разных, но перекликающихся друг с другом форматах:1. Математика — чистая математика2. Haskell — язык для функционального программирования3. C — язык для императивного программирования4. Ассемблер — сравнительно удобочитаемое представление машинного кода5. Машинный код для архитектуры x86-64 — вот это уже интересноЕсли вам интересно, какие отличия бывают между языковыми стилями или любопытно, как ваш код может выглядеть после компиляции — добро пожаловать под кат! Читать далее]]>

https://habr.com/ru/articles/942064/

[>] Ассемблер: рассматриваем каждый байт «Hello, World!». Как на самом деле работают программы на уровне процессора и ОС
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:14


Опубликовано: Tue, 26 Aug 2025 08:05:13 GMT
Канал: Все статьи подряд / Assembler / Хабр

Что на самом деле происходит, когда вы запускаете программу? Мы привыкли воспринимать это как данность, но за кадром скрывается целая вселенная — от регистров процессора и системных вызовов Linux до формата ELF и модели памяти процесса. Присоединяйтесь к погружению, где мы прольём свет на каждый байт программы «Hello, World!» и поймём, каким образом ОС её выполняет. Читать далее]]>

https://habr.com/ru/companies/timeweb/articles/940310/

[>] MZ-Executable | Исполняемые файлы и MS-DOS (переработка)
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:14


Опубликовано: Thu, 21 Aug 2025 14:47:54 GMT
Канал: Все статьи подряд / Assembler / Хабр

Практически сразу, в PC-DOS, вместе с .COM файлами, появились .EXE файлы (полн. "EXEcutable" или "исполняемые"). Сегодня речь пойдет именно об этом. Поскольку история происходит снова в Microsoft, запутаться можно очень легко, в любом месте. Читать далее]]>

https://habr.com/ru/articles/939506/

[>] CP/M, DOS и их .COMманды
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:14


Опубликовано: Tue, 19 Aug 2025 12:03:57 GMT
Канал: Все статьи подряд / Assembler / Хабр

Небольшое предупреждение! Я буду говорить не просто о том "Как запускаются комманды?", а покажу часть внутреннего мира операционных систем и покажу принципиальную разницу в их работе.Это моя первая статья, вырванная из дневника, который я веду пока что закрыто, особо не выкладывая заметки в публичный доступ. Читать далее]]>

https://habr.com/ru/articles/938640/

[>] Низкоуровневый АД: пишем ОС. Часть 2 — модули и ввод
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:15


Опубликовано: Tue, 19 Aug 2025 08:55:27 GMT
Канал: Все статьи подряд / Assembler / Хабр

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

https://habr.com/ru/articles/938544/

[>] Низкоуровневый АД: пишем свою ОС — Часть 1. Загрузчик и стартовое ядро
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:15


Опубликовано: Mon, 18 Aug 2025 07:38:56 GMT
Канал: Все статьи подряд / Assembler / Хабр

Всем здрасте, и сегодня мы начнем наше прохождение через низкоуровневый кодинг - написание ОС. Сегодня мы напишем загрузчик (точнее конфиг к GRUB) и простенькое ядро, которое будет выводить "Hello OSDev!"Что нам понадобится: Сделать ОС]]>

https://habr.com/ru/articles/938104/

[>] Как воссоздать код DOS-игры: пошаговое дизассемблирование ретро-игр (часть 2)
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:15


Опубликовано: Thu, 14 Aug 2025 08:32:42 GMT
Канал: Все статьи подряд / Assembler / Хабр

Вы когда‑нибудь смотрели на.EXE‑файл своей любимой DOS‑игры и думали: «Что там внутри? Можно ли это понять без докторской по ассемблеру?» Эта не просто очередной обзор регистров. Это второй шаг в глубокое погружение туда, где байты начинают «говорить». Мы начинаем с тех, кто дал нам язык: с Рэя Доббса, чьи книги «Programming in the MS‑DOS Environment» и «Advanced MS‑DOS Programming» были библией поколения, с Рэндэлла Хайды, чья «The Art of Assembly Language» научила мыслить на языке машины, и с Ральфа Броуна, чей «Interrupt List» стал первым справочником, в котором каждое int 21h перестаёт быть чёрным ящиком и приобретает конкретный смысл. Вы узнаете, что AX, CX, DS:DX и EFLAGS — это не раздельные элементы. Вы поймёте, как они связаны, как передаются данные, как принимаются решения, как программа взаимодействует с системой. Как прерывания становятся точками соприкосновения с системой и как по ним можно восстановить логику программы. Мы начинаем движение от байтов к смыслообразующему коду. Готовы сделать следующий шаг? Исследовать]]>

https://habr.com/ru/articles/937082/

[>] Операционная система от А до Я: Таймер и HAL
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:16


Опубликовано: Thu, 07 Aug 2025 13:22:51 GMT
Канал: Все статьи подряд / Assembler / Хабр

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

https://habr.com/ru/articles/935058/

[>] Как воссоздать код DOS-игры: пошаговое дизассемблирование ретро-игр
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:16


Опубликовано: Wed, 06 Aug 2025 08:22:39 GMT
Канал: Все статьи подряд / Assembler / Хабр

Устаревшие технологии не исчезают. Они просто уходят в подполье: в архивы, на дискеты, в память тех, кто помнит, как это было. DOS-игры не просто программы. Это произведения инженерного искусства, созданные в эпоху, когда каждый байт имел значение, а каждый такт процессора, вес. Они работали на железе, которое сегодня кажется примитивным, но при этом умели то, что многим современным системам не под силу: дышать.Моя первая игра была на дискете. Она называлась Syndicate (1993, Bullfrog Productions), и я не понимал, как она работает. Я видел, как агенты стреляют, как взрываются здания, как звучит саундтрек, но не имел ни малейшего представления, что за этим стоит.Я знал C. Я знал, что такое переменные, циклы, указатели. Но я не мог объяснить, как в игре реализован путь юнита, как обрабатывается урон, как генерируется уровень. Тогда я не понимал кода, но код уже управлял мной.Спустя годы я вернулся к этим играм не как игрок, а как исследователь. И понял: они — лучшая школа программирования, которую только можно себе представить.Современные игры скрывают свою архитектуру за слоями абстракций: виртуальные машины, движки, фреймворки. Чтобы понять, как они работают, нужно разобраться в десятках технологий.DOS-игры - другое дело: нет виртуальных машин; нет сборщиков мусора; нет драйверов. Есть только процессор, память и код, написанный на C/C++ или ассемблере. Это делает их идеальной школой для изучения реального программирования.Дизассемблирование таких игр — это не про взлом. Это археология программирования: вы не ломаете систему, а восстанавливаете её логику по обломкам машинного кода, как археолог, собирающий мозаику из черепков. Исследовать]]>

https://habr.com/ru/articles/934490/

[>] [Перевод] Программа «Hello World» на машинном коде под DOS
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:16


Опубликовано: Mon, 04 Aug 2025 20:37:39 GMT
Канал: Все статьи подряд / Assembler / Хабр

Как-то раз я послушал следующее интересное выступление (по-немецки): ссылкаВ нём разобрано, как написать программу «hello world» для 64-разрядного дистрибутива Linux в шестнадцатеричном редакторе. Ассемблер здесь не используется, программа пишется непосредственно на машинном коде. Правда, в ней есть издержки на использование ELF.Мне понравилась такая идея, и я решил повторить такой опыт, но немного в иной форме — а именно под 16-разрядной DOS в реальном режиме. У меня должен был получиться файл в формате COM, а не EXE, так как (на данном этапе) меня интересовал не столько формат файла, сколько кодировка инструкций. В вышеупомянутой лекции, если честно, не сообщается почти никаких подробностей о том, как именно перейти от ассемблерного кода к машинному — поскольку в случае разбора этих тем лекция, пожалуй, растянулась бы на несколько часов. Но здесь я всё разберу подробно, и при этом собираюсь пользоваться только документацией lntel, а также дизассемблировать код в целях верификации.Также мы коротко поговорим о сегментации.В качестве шестнадцатеричного редактора на этот раз воспользуемся hexedit. Читать далее]]>

https://habr.com/ru/articles/934032/

[>] Барьеры памяти «Golang»
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:17


Опубликовано: Fri, 01 Aug 2025 15:02:02 GMT
Канал: Все статьи подряд / Assembler / Хабр

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

https://habr.com/ru/articles/930864/

[>] Занимательная некромантия 01H: ломаем программу под MS-DOS
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:17


Опубликовано: Thu, 31 Jul 2025 15:36:26 GMT
Канал: Все статьи подряд / Assembler / Хабр

Давным-давно, когда F11 и F12 еще не придумали, F1-F10 располагались слева, Ctrl жил на месте CapsLock, а IBM продавала компьютеры с гарантией на 90 дней, владельцы компьютеров работали в MS-DOS. Процессор еще не знал, что такое защищенный режим, память не делилась на области пользователя и ядра, виртуальной памяти не было, как не было и многозадачности. MS-DOS программа на счет "раз" нарушала работу ядра и компьютер приходилось перезагружать. Программы скромно умещались в 64 Кб, а, если превышали это ограничение, жизнь их становилась труднее.Дизассемблируем 16-битную программу: InDuLgEo V3-B горит пламенем на экране, печатает текст и трезвонит, как старый телефон. Вперед к 16 битам]]>

https://habr.com/ru/articles/932948/

[>] AsmX G3: Архитектура кодировщика ZGEN. Как hwm генерирует машинный код amd64
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:17


Опубликовано: Tue, 29 Jul 2025 23:15:57 GMT
Канал: Все статьи подряд / Assembler / Хабр

Большинство компиляторов — это монолитные черные ящики, унаследованные из прошлого. Мы отвергли этот путь. Мы разбираем архитектуру x86_64 до "первых принципов", чтобы понять, как на самом деле работает кремний. В этой статье мы вскрываем капот нашего компилятора ZGEN и его "фабрики машинного кода" — hwm. Никакой магии. Только чистая, детерминированная инженерия, которая превращает ассемблер в исполняемые биты. Перейти к полному техническому разбору]]>

https://habr.com/ru/articles/932248/

[>] Своя ОС?
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:18


Опубликовано: Tue, 29 Jul 2025 19:12:33 GMT
Канал: Все статьи подряд / Assembler / Хабр

Дарова! Сегодня я поделюсь с вами опытом, как я пытался написать собственную ОС и, что из этого вышло. Запасайтесь чайком с печеньками и присаживайтесь поудобнее! Пора окунуться в 16ти битный мир... Читать далее]]>

https://habr.com/ru/articles/921490/

[>] AsmX G3: От высокоуровневого ассемблера к нативному коду. Разбираем компилятор ZGEN
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:18


Опубликовано: Sat, 26 Jul 2025 15:00:47 GMT
Канал: Все статьи подряд / Assembler / Хабр

Мы не просто пишем код. Мы строим компиляторы, которые строят код. AsmX G3 — это не обновление, это переосмысление с первых принципов. Приготовьтесь к глубокому техническому погружению в архитектуру нашего нового компилятора ZGEN, где мы вскроем каждый компонент, от ядра до сборщика ELF, и покажем инженерные решения, которые определяют будущее системного программирования. Читать полный технический разбор]]>

https://habr.com/ru/articles/929794/

[>] Код сквозь хейт: Как продолжать творить, когда сообщество против
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:18


Опубликовано: Mon, 21 Jul 2025 08:11:37 GMT
Канал: Все статьи подряд / Assembler / Хабр

Это моя пятая попытка диалога с сообществом. Четыре предыдущие закончились баном. Но это не жалоба. Это деконструкция системы, которая наказывает за отклонение от нормы. Мы разберем, почему «низкий технический уровень» стал оружием конформизма и как продолжать строить, когда твой проект — системная аномалия. Понять логику отторжения]]>

https://habr.com/ru/articles/929462/

[>] AsmX G3: Записки из лаборатории. Что мы тестируем прямо сейчас
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:19


Опубликовано: Sun, 20 Jul 2025 06:20:53 GMT
Канал: Все статьи подряд / Assembler / Хабр

Прежде чем технология изменит мир, она проходит через тысячи часов испытаний в лаборатории. Мы открываем двери нашего R&D отдела и показываем, над чем инженеры AsmX Foundation работают прямо сейчас. Улучшенная диагностика ошибок, новый синтаксис и первые шаги к полноценным вызовам библиотечных функций. Загляните в будущее компилятора. Войти в лабораторию]]>

https://habr.com/ru/articles/929264/

[>] I always come back: Анонс AsmX G3 — Новый этап в программировании
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:19


Опубликовано: Thu, 17 Jul 2025 08:12:33 GMT
Канал: Все статьи подряд / Assembler / Хабр

Привет, читатель! Ты видишь это лицо и надпись "I ALWAYS COME BACK"? Это не просто мем для хайпа — это моё обещание. И я его сдержал.Я вернулся, чтобы анонсировать AsmX G3 — новое поколение моего проекта, которое вот-вот перевернёт твоё представление о низкоуровневом программировании. Это событие, частью которого я хочу тебя видеть. 🚀 Прыгнуть в будущее]]>

https://habr.com/ru/articles/928538/

[>] Оптимизация языковой модели Mamba для выполнения на CPU
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:19


Опубликовано: Sun, 06 Jul 2025 20:07:05 GMT
Канал: Все статьи подряд / Assembler / Хабр

Как оптимизировать модель Mamba для выполнения на CPU? Ускоряем код в 20 раз по сравнению с PyTorch, нарушая в процессе все правила оптимизации. Читать далее]]>

https://habr.com/ru/articles/925460/

[>] Taming Hard Faults in Zephyr OS: Практическое руководство для embedded-разработчиков
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:20


Опубликовано: Sat, 05 Jul 2025 18:53:36 GMT
Канал: Все статьи подряд / Assembler / Хабр

🚨 Что такое Hard Fault простыми словамиHard Fault — это критическая ошибка процессора. Проще говоря, это ситуация, когда микроконтроллер встречает что-то настолько «невозможное» для себя, что не может продолжить выполнение программы.Типичный пример — попытка обратиться к памяти, которой не существует, или выполнение запрещённой инструкции.Когда это происходит, процессор сразу передаёт управление специальному обработчику — Hard Fault Handler. Читать далее]]>

https://habr.com/ru/articles/925298/

[>] [Перевод] Как я обнаружил древнюю пасхалку в Power Mac G3
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:20


Опубликовано: Fri, 04 Jul 2025 13:01:44 GMT
Канал: Все статьи подряд / Assembler / Хабр

Недавно залез в ROM оригинального Power Macintosh G3 и случайно обнаружил там пасхалку, о которой до этого ещё нигде не писали. Началось с того, что одним воскресным утром я решил заглянуть в файл-шаблон ROM для Mac с помощью программы HEX Fiend Эрика Хармана. Меня интересовало, какие ресурсы хранятся в постоянной памяти Power Mac G3. Эта ROM использовалась в моделях Beige, Mini Tower и всех G3, выпускавшихся с 1997 по 1999 годы.Пишу я эту статью в середине 2025, и мне не верится, что сегодня Power Mac G3 уже больше 27 лет. Невероятно! Читать далее]]>

https://habr.com/ru/companies/ruvds/articles/923880/

[>] FastCGo: как мы ускорили вызов C-кода в Go в 16,5 раза
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:20


Опубликовано: Thu, 03 Jul 2025 05:58:40 GMT
Канал: Все статьи подряд / Assembler / Хабр

В Deckhouse Prom++ мы переписали ядро хранения и обработки горячих данных на C++, при этом вся оркестрация и периферия остались в Prometheus на Go, что позволило сохранить полную совместимость с Prometheus. Для частых вызовов кода C++ мы использовали механизм CGo, однако первые тесты показали, что производительность CPU практически не улучшилась из-за его медлительности. В итоге мы переписали CGo, создав собственный механизм вызова.В статье разберём, что такое CGo и почему он такой медленный, сделаем простейший собственный механизм CGo-вызова и доведём этот механизм до полноценного решения. Читать далее]]>

https://habr.com/ru/companies/flant/articles/923912/

[>] Ускоряем валидацию UTF-8 в 10 раз (>10 ГБ/с): реализация алгоритма Lemire-Keiser на Go с ARM NEON
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:21


Опубликовано: Mon, 30 Jun 2025 05:07:59 GMT
Канал: Все статьи подряд / Assembler / Хабр

UTF-8 валидация — одна из базовых операций при работе с текстом, которая выполняется миллионы раз в секунду в современных приложениях. Стандартная реализация в Go, хоть и корректная, далека от оптимальной по производительности. В этой статье расскажу, как мне удалось ускорить валидацию UTF-8 в 10 раз, используя SIMD‑инструкции ARM NEON и алгоритм из статьи «Validating UTF-8 In Less Than One Instruction Per Byte» Джона Кейзера и Дэниела Лемира. Читать далее]]>

https://habr.com/ru/articles/923242/

[>] О векторном вычислении экспоненциальной функции
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:21


Опубликовано: Mon, 30 Jun 2025 01:54:23 GMT
Канал: Все статьи подряд / Assembler / Хабр

Как вычислить экспоненциальную функцию быстро и с минимальной погрешностью? Пишем векторизованный код. Читать далее]]>

https://habr.com/ru/articles/923234/

[>] Цифровой фильтр без умножения
bot.habr.rss
BotHabr(tgi,2) — All
2025-09-22 16:27:21


Опубликовано: Sat, 28 Jun 2025 08:15:55 GMT
Канал: Все статьи подряд / Assembler / Хабр

Представлен цифровой фильтр без использования явной аппаратной или программной операции умножения, выполненный на основе двоичных сдвигов. Имеет дискретный ряд АЧХ, ФЧХ, при этом, эффективно реализуется на простейших контроллерах. Читать далее]]>

https://habr.com/ru/articles/922794/

Pages: 1 ... 59 60 61 62 63 64 65 66 67 68 69 70 71 72