Рубрика «DMA»
Как Работать с UART на Микроконтроллерах ( UART + FIFO = LOG )
2025-12-26 в 19:21, admin, рубрики: cli, DMA, fifo, gpio, printf, shell, uart, Критическая секция, прерыванияИгра «Морской бой» через UDP на двух Raspberry Pi PICO-W
2025-09-30 в 5:20, admin, рубрики: DMA, raspberry pi pico w, udp, VGAСоздаём эмулятор легендарной игры «Ну, Погоди» на базе Raspberry Pi Pico
2025-04-09 в 9:01, admin, рубрики: DMA, fritzing, pio, raspberry pi pico, ruvds_статьи, ну погоди, эмулятор
Многие из тех, кому сейчас за 30, и рождённых в СССР или на постсоветском пространстве, помнят электронную игру «Ну, погоди!». Во времена, когда не было ни интернета, ни ноутбуков, ни мобильных телефонов, а из общедоступных электронных развлечений были только аттракционы в парках культуры и видеосалоны, обладание бытовым компьютером, электронными наручными часами Montana или электронной игрой «Ну, погоди!» было мечтой многих детей.
Были ещё и другие электронные игры, но именно «Ну, погоди!» считается классикой.
Игре посвящено много ностальгических статей и видео. На различных торговых площадках можно купить её в различном состоянии от убитого до «с хранения» и даже новодел.
Лет 10 назад и я купил её в идеальном состоянии, поигрался, вспомнил детство и положил в ящик. Но несколько месяцев назад с разочарованием увидел, что «потекла» нижняя часть экрана.
Можно было или отремонтировать, или купить другой экземпляр игры, но я сначала попробовал узнать, как её отремонтировать, а потом решил воссоздать игру на современных компонентах.
Я не был одинок в своём желании воссоздать игру, этой теме посвящено также немало статей, но в них обычно создавали симуляторы, а не эмуляторы игры. Симулятор у меня ассоциируется с фразой: «Я художник, я так вижу», эмулятор — это более точное воспроизведение устройства.
Формат статьи не позволяет выразить все те ощущения, которые я испытал при путешествии от зарождения идеи до реально работающей игры, практически ничем не отличающейся от оригинала. Много из того, что я узнал в этом путешествии, не поместилось в статью или поместилось в очень сжатом виде.
Эмулятор максимально приближен к оригиналу, если не считать экран (он не сегментный, как в оригинале) и корпус (я пока реализовал на беспаечной макетной плате).
Если вам интересно, как за несколько вечеров воссоздать у себя эмулятор «Ну, погоди!» на современном микроконтроллере или просто поностальгировать, добро пожаловать под кат.
Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine)
2024-08-17 в 16:41, admin, рубрики: artery, DMA, FSM, hi-load, i2s, pipeline, wm8731, конвейер, конечные автоматы![Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine) - 1 Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine) - 1](https://www.pvsm.ru/images/2024/08/17/zapusk-I2S-transivera-na-Artery-chast-2-DMA-FSM-PipeLine.png)
Пролог
В этом тексте вы узнаете, что общего между I2S трансивером и оладьями. Да... Именно так. Зачем программисту микроконтроллеров конвейеры и цифровые фильтры.
В этом тексте изложено как источать звук при помощи I2S DMA.
В чём проблема?
Библиотека для адресных светодиодов STM32
2022-05-09 в 13:02, admin, рубрики: C, diy или сделай сам, DMA, open source, stm32, WS2812, ws2812b ws2813 ws2815, адреска, гаджеты, программирование микроконтроллеровДрайвер для STM32 для реализации протокола адресных светодиодов (WS2812, WS2811, SK6812, и т.д.), с рациональным использованием буферной памяти и DMA.
Ссылка на библиотеку на GitHub:
Ролик на YouTube:
Разбор работы LVDS портов и DMA на отечественном DSP 1967ВН028
2021-10-09 в 15:00, admin, рубрики: 1967BH028, DMA, dsp, lvds, программирование микроконтроллеров[Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти
2020-01-30 в 15:55, admin, рубрики: DMA, DMA-атака, iommu, pcileech, Блог компании Neuron Hackspace![[Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти - 1 [Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти - 1](https://www.pvsm.ru/images/2020/01/30/vorkshop-DMA-ataki-na-praktike-eksploit-cherez-pryamoi-dostup-k-pamyati.jpeg)
В эту субботу 1 февраля 2020 г. в нашем Хакспейсе Нейрон в Москве пройдет мастеркласс по практическому использования DMA-атак. Вместе мы будем взламывать реальный компьютер с зашифрованной файловой системой, имитирующий банкомат или платежный терминал.
Ведущий воркшопа ValdikSS и Максим Горячий. За баром Павел Жовнер.
![[Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти - 2 [Воркшоп] DMA-атаки на практике. Эксплоит через прямой доступ к памяти - 2](https://www.pvsm.ru/images/2020/01/30/vorkshop-DMA-ataki-na-praktike-eksploit-cherez-pryamoi-dostup-k-pamyati-2.png)
Direct Memory Access (DMA) — низкоуровневый режим работы компьютерных устройств, предполагающий прямой доступ к оперативной памяти компьютера. Он требуется для работы PCIe, Thunderbolt и некоторых других устройств. В нормальных условиях DMA используется для более быстрого доступа к памяти, чтобы не занимать процессор.
С помощью специального «злого» устройства атакующий может захватить контроль над шиной PCIe и получить полный доступ на чтение и запись в память работающего компьютера, даже если программно система защищена от проникновений.
Читать полностью »
Прокачиваем USB Mass Storage Device на STM32F103 с помощью FreeRTOS и DMA
2017-09-05 в 15:01, admin, рубрики: DMA, freetros, hal, mass storage, microSD, MSc, sd, stm32, stm32f103, usb, программирование микроконтроллеров, системное программирование
Недавно я ковырялся с подключением своего устройства на микроконтроллере STM32F103 как USB Mass Storage Device, или по русски — как флешку. Вроде бы как все относительно несложно: в графическом конфигураторе STM32CubeMX в пару кликов сгенерировал код, добавил драйвер SD карты, и вуаля — все работает. Только очень медленно — 200кбайт/с при том, что пропускная способность шины USB в режиме Full Speed гораздо выше – 12 мБит/с (грубо 1.2 Мбайт/с). Более того, время старта моей флешки в операционной системе составляет около 50 секунд, что попросту некомфортно в работе. Раз уж я нырнул в эту область, то почему бы и не зачинить скорость передачи.
Вообще-то я уже писал свой драйвер для SD карты (точнее драйвер SPI), который работал через DMA и обеспечивал скорость до 500кб/с. К сожалению в контексте USB этот драйвер не заработал. Причиной всему сама модель общения USB — там все делается на прерываниях, тогда как мой драйвер был заточен под работу в обычном потоке. Да еще и припудрен примитивами синхронизации FreeRTOS.
В этой статье я сделал парочку финтов, которые позволили выжать максимум из связки USB и SD карточки подключенной к микроконтроллеру STM32F103 по SPI. Также тут будет про FreeRTOS, объекты синхронизации и общие подходы к передаче данных через DMA. Так что, думаю, статья будет полезна и тем кто только разбирается в контроллерах STM32, и инструментах вроде DMA, и подходах при работе с FreeRTOS. Код построен на основе библиотек HAL и USB Middleware из пакета STM32Cube, а также SdFat для работы с SD картой.
Читать полностью »




