Arc Raiders
PUBG
Русская Рыбалка 4
Oxide Survival - Rust Mobile
PUBG Black Budget
Fortnite
War Tundra
BattleField 6
Minecraft
Roblox
Valorant
Path of Exile 2
Standoff 2
Active Matter
Arma Reforger
Arma 3
Neural Cheat
Dead by Daylight
Foxhole
Delta Force Mobile
Dune Awakening
PUBG Mobile
Squad
Rainbow Six Siege
Unturned
Dota 2
Deadside
GeoGuessr
Enlistod
Stella Sora
Arknights: Endfield
Honkai Star Rail
Blue Archive
Zenless Zone Zero
Neverness to Everness
Meccha Chameleon
Marathon
Sea of Thieves
Path of ExileGameFlash: как прошить DMA-плату за пару минут
Коротко о программе
GameFlash - это универсальный прошивальщик для DMA-плат на чипах Xilinx Artix-7 (модели 35T, 75T и 100T). Он заливает .bin через CH347, сам проверяет результат и перезапускает запись, если произошёл баг. Дополнительно умеет читать Device DNA и запускать тест скорости DMA.
Приятный момент: доустанавливать ничего не нужно. OpenOCD, конфиги и драйверы уже зашиты внутри и распаковываются при первом запуске. Скачал, открыл, прошил.
Что понадобится:
- Windows 10 или 11, 64-bit.
- Сама дма плата Artix-7 (35T, 75T или 100T), подключённая к ПК
- Файл прошивки строго в формате .bin (другие форматы программа не возьмёт).
Индикатор платы (правый верхний угол)
В правом верхнем углу есть статус дма - он сразу показывает, что программа видит:
- НЕТ ПЛАТЫ (серый) - дма плата не обнаружена.
- JTAG PORT (оранжевый) - USB воткнут в порт JTAG, можно прошивать.
- DATA PORT (зелёный) - USB воткнут в порт DATA, можно гонять тест скорости.
- Жёлтый - устройство видно, но драйвер не установлен (загляни во вкладку Драйверы).
Удобно: если что-то не подключилось, это видно сразу, ещё до начала прошивки.
Шаг 1. Драйверы
Прежде чем что-то прошивать, надо убедиться, что система вообще видит адаптер. За это отвечает вкладка Драйверы. Открыл - и сразу видно, чего не хватает.
Напротив каждого драйвера стоит статус: Установлен или Отсутствует. Если горит красный, жмёшь Установить рядом, и откроется обычный системный установщик. Понадобятся права администратора, так что если Windows спросит разрешение - это нормально, соглашайся.
Всего в списке три драйвера, и нужны они под разные задачи.
- CH347 (JTAG) - главный. Без него прошить DMA-плату не получится вообще, так что его ставим в первую очередь.
- FTDI (DATA) - нужен только если собираешься гонять тест скорости DMA и для читов. Для самой прошивки .bin он не обязателен.
- DirectX Runtime - для вспомогательных утилит. Ставится по тому же принципу, если статус красный.
Поставил всё, что было красным, - переподключи плату по USB. Статус порта в шапке обновится сам, перезапускать GameFlash не нужно. Как только увидишь в углу оранжевый JTAG PORT - значит драйвер CH347 встал как надо и можно двигаться дальше.
Шаг 2. Прошивка
Вкладка Прошивка - это главный экран, тут всё и происходит. Если индикатор платы горит оранжевым JTAG PORT, можно начинать. Сам процесс простой, идём по порядку.
- Чип FPGA - выбери модель своей платы: 35T, 75T или 100T. Тут важно не промахнуться.
- Прошивка (.BIN) - нажми Выбрать файл или просто перетащи свой .bin прямо в окно. Под полем сразу появится размер файла и надпись готово к прошивке.
- Жми большую кнопку ПРОШИТЬ.
- Дальше следи за прогрессом и журналом справа в блоке Вывод. Идёт запись по секторам, и строки вида sector N took ~150-300 ms - это норма, так и должно быть. Прогресс-бар и проценты видно внизу слева.
- В конце выскочит карточка-вердикт. Готово на зелёном - запись и проверка прошли, плата прошита. Ошибка на красном - не вышло, причину ищи в журнале.
Пока идёт запись, кнопка ПРОШИТЬ превращается в ОТМЕНА, то есть процесс всегда можно остановить - либо той же кнопкой, либо просто клавишей Esc.
Отдельно про надёжность - тут можно не нервничать из-за USB. Если связь подглючит, GameFlash сам делает до 4 попыток: понижает частоту по цепочке 10 -> 6 -> 3 МГц и переподключается. Руками лезть и что-то перетыкать не надо, программа всё разрулит сама.
Шаг 3. Чтение Device DNA
У каждого чипа Xilinx Artix-7 есть свой уникальный номер - DNA ID. Это серийник, зашитый прямо в карту, его нельзя поменять или подделать. Иногда этот ID нужен для привязки или просто чтобы убедиться, что перед тобой именно та плата. GameFlash умеет считывать его по JTAG прямо из программы.
Открываешь вкладку DNA, и дальше всё в три клика.
- Жмёшь Считать DNA ID.
- Готовый ID появляется в поле и тут же сам копируется в буфер обмена - можно сразу вставлять куда нужно.
- Если буфер где-то затёрся, кнопка Копировать DNA закинет ID туда ещё раз.
Чтобы считывание сработало, плата должна быть видна по JTAG - тот самый оранжевый бейдж JTAG PORT в углу. Если индикатор серый или жёлтый, сначала разберись с подключением и драйверами адаптера CH347, а уже потом возвращайся за DNA.
Шаг 4. Тест скорости DMA
Вкладка Тест - пригодится, если хочется убедиться, что плата в порядке, или сравнить её с другой.
Чтобы тест вообще запустился, плата должна быть подключена по usb в DATA PORT, а в системе должен стоять драйвер FTD3XX. Если индикатор горит зелёным (DATA PORT), значит всё на месте и можно гонять скорость.
Дальше всё просто. Сначала выбираешь тип теста - их четыре, под разные задачи.
- Полный - сразу и латентность, и пропускная способность, а в конце общий вердикт PASS или FAIL. Идёт 5 плюс 5 секунд, удобно когда хочешь быстро понять, годная плата или нет.
- Латентность - мелкие чтения по 4 КБ. Покажет минимальную, максимальную и среднюю задержку плюс сколько чтений в секунду вытягивает плата.
- Пропускная - крупные чтения по 16 МБ. Тут смотрим на устойчивую скорость в МБ/с, то есть сколько плата держит на потоке.
- Стресс - чтения по 16 МБ в 8 потоков, и так до тех пор, пока сам не остановишь. Хорошая проверка на стабильность под нагрузкой.
Время теста задаёшь сам. Кликаешь по полю и набираешь число секунд вручную, либо подкручиваешь кнопками минус и плюс. Для Полного теста время фиксированное, там менять нечего.
Запуск делается так.
- Выбери тип теста.
- Если нужно, впиши время в секундах (для Полного этот шаг пропускаем).
- Нажми Запустить и смотри в журнал.
В журнале по ходу теста бегут метрики, а в конце - итог. Если выпал FAIL, программа прямо пишет, что именно не так: много ошибок чтения, низкая скорость и тому подобное. Гадать и искать причину наугад не придётся, всё разжёвано на месте.
Язык, гайд и о программе
Этот блок про мелочи в самом низу окна, на которые не сразу обращаешь внимание, а они полезные. Язык интерфейса, кнопка с гайдом и вкладка с информацией о самой программе.
В левом нижнем углу есть переключатель языка - RU, EN и CN. По умолчанию GameFlash сам подхватывает язык из системы, так что обычно ничего и трогать не надо. Но если хочется переключить вручную, просто жмёшь нужный вариант, и выбор запоминается - в следующий раз откроется уже на нём.
Рядом кнопка Гайд. Жмёшь - открывается онлайн-руководство в браузере. Удобно, когда что-то подзабыл или хочешь свериться по шагам, не выходя из процесса.
Ещё есть вкладка О программе - там версия, краткое описание возможностей GameFlash и ссылка на сайт.
Если что-то пошло не так
Прошивка не всегда идёт гладко - бывает, что-то срывается на полпути. Пугаться тут нечего: GameFlash честно пишет в журнал, что именно случилось. Ищи строку с пометкой [!] или [x] и причиной. Ниже разберём самые частые ситуации и что с ними делать.
- Сбой по USB/JTAG, данные не записались (сектора меньше 10 мс) - USB-канал глюкнул и данные не легли на чип. Проверь кабель, переподключи CH347, не вешай его через USB-хабы, воткни напрямую в порт сзади корпуса.
- Verify не совпал (contents differ) - то, что записалось, не сходится с твоим файлом. Проверь питание платы и контакт по JTAG, потом прошей заново.
- Адаптер не отвечает (USB завис) - CH347 подвис на USB. Переподключи адаптер, попробуй другой USB-порт и запусти прошивку ещё раз.
- OpenOCD завершился с ошибкой, Код: N - не получилось открыть адаптер или чип. Загляни в драйвер CH347 на вкладке Драйверы и проверь, как подключена плата.
- НЕТ ПЛАТЫ в шапке - адаптер вообще не виден. Проверь USB-кабель и драйвер, переподключи CH347.
Пара общих наблюдений, которые сильно экономят нервы. Здоровая запись идёт секторами примерно по 150-300 мс - это нормальный ритм. А вот если в журнале мелькает took меньше 10 ms, это уже сбой, данные не легли. Программа такое замечает сама и перезапускает запись, так что вмешиваться обычно не нужно.
И главное правило: если прошивка не вышла четыре раза подряд, дело почти всегда в железе вокруг, а не в самой плате. Кабель, USB-порт, драйвер или плохой контакт по JTAG. Поменяй кабель или порт, посади плату плотнее в разъём - и обычно после этого всё встаёт как надо.