Page:
FlashingGuide
Clone
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Руководство по прошивке
Предупреждение
⚠️ Прошивка сторонним ПО аннулирует гарантию. Неправильная прошивка может вывести устройство из строя. Все действия вы выполняете на свой страх и риск.
Подготовка
Файл прошивки
Скачайте firmware.bin из Релизов
или соберите самостоятельно:
make clean && make
# firmware.bin будет в корневой директории
Способ 1: UART Bootloader (рекомендуется)
Оборудование
| Компонент | Описание |
|---|---|
| UART адаптер | CH340, CP2102, FT232 (3.3V логика!) |
| Провода | 3 шт: TX, RX, GND |
| Паяльник | Для подпайки к контактам на плате (опционально) |
Подключение
UART адаптер UV-K5 (плата)
─────────────────────────────────────
TX ──────────────── RX (контакт U1)
RX ──────────────── TX (контакт U2)
GND ──────────────── GND (контакт U3)
⚠️ НЕ подключайте VCC — питание от USB или батареи!
Контакты на плате обычно расположены рядом с процессором и подписаны как TX, RX, GND.
Установка k5prog
# Вариант A: k5prog (piotr02)
git clone https://github.com/piotr02/k5prog.git
cd k5prog && make
sudo cp k5prog /usr/local/bin/
# Вариант B: k5prog (sq5bpf)
git clone https://github.com/sq5bpf/k5prog.git
cd k5prog && make
sudo cp k5prog /usr/local/bin/
Процесс прошивки
# 1. Определите порт
ls /dev/ttyUSB* /dev/ttyACM*
# 2. Переведите рацию в режим bootloader:
# - Выключите рацию
# - Зажмите боковую кнопку SK2 (нижнюю)
# - Включите рацию (не отпуская кнопку)
# - Через 2 секунды отпустите кнопку
# - Индикатор должен мигнуть
# 3. Прошейте
k5prog -f firmware.bin -p /dev/ttyUSB0 -w
# Ожидаемый вывод:
# Writing firmware.bin to radio...
# Write complete.
# Verify OK.
Если k5prog не видит рацию
- Проверьте подключение UART (TX↔RX перекрёстно!)
- Проверьте права на порт:
sudo chmod 666 /dev/ttyUSB0 - Попробуйте другой порт:
ls /dev/ttyUSB* - Перезагрузите рацию и повторите вход в bootloader
Способ 2: SWD (J-Link)
Оборудование
| Компонент | Описание |
|---|---|
| J-Link | SEGGER J-Link (V9 или совместимый) |
| Провода | 4 шт: VTref, GND, SWDIO, SWCLK |
Подключение
J-Link UV-K5 (плата)
────────────────────────────────────────
Pin 1 (VTref) ─── 3.3V
Pin 2 (GND) ─── GND
Pin 7 (SWDIO) ─── SWDIO (контакт рядом с MCU)
Pin 9 (SWCLK) ─── SWCLK (контакт рядом с MCU)
Pin 15 (RESET) ─── RESET (опционально)
Установка OpenOCD
# Из репозитория
sudo apt-get install openocd
# Или сборка из исходников (для J-Link):
git clone https://github.com/raspberrypi/openocd.git
cd openocd
./bootstrap
./configure --enable-jlink
make -j4
sudo make install
Прошивка
# Автоматически (через Makefile)
make flash
# Вручную
openocd -f interface/jlink.cfg -f dp32g030.cfg \
-c "write_image firmware.bin 0; shutdown;"
# Ожидаемый вывод:
# Open On-Chip Debugger
# Info : J-Link ...
# Info : DP32G030 ...
# wrote ... bytes from firmware.bin
# shutdown command invoked
Способ 3: USB (родной кабель)
Требования
- Рация должна поддерживать USB bootloader
- Установлен драйвер (обычно определяется автоматически)
Процесс
# 1. Переведите рацию в режим USB bootloader:
# - Выключите рацию
# - Зажмите PTT + боковую кнопку SK2
# - Включите рацию
# - Должна определиться как USB device
# 2. Проверьте подключение
lsusb | grep -i quansheng
# 3. Прошейте
k5prog -f firmware.bin -w
Проверка прошивки
После успешной прошивки:
- Выключите и включите рацию
- Должна появиться заставка:
┌─────────────────┐ │ UA1ZBE │ ← крупно │ POCSAG pager │ ← по центру │ 2026-04-12 │ ← дата сборки └─────────────────┘ - Через 2 секунды → переход в VFO режим
- Проверьте RSSI в верхнем правом углу экрана
Восстановление (если что-то пошло не так)
Симптомы «окирпичивания»
- Экран не включается
- Экран включается, но нет реакции на кнопки
- Рация не определяется по USB/UART
Восстановление через SWD
SWD — самый надёжный способ, так как работает на уровне процессора:
# Полная перепрошивка с очисткой
openocd -f interface/jlink.cfg -f dp32g030.cfg \
-c "reset init; flash erase_address 0x00000000 0xF000; \
write_image firmware.bin 0; reset; shutdown;"
Восстановление через UART
- Отключите батарею
- Подключите UART
- Зажмите SK2
- Подключите батарею (или USB)
- Попробуйте прошить снова
Частые ошибки
| Ошибка | Причина | Решение |
|---|---|---|
Device not found |
Неверный порт | ls /dev/ttyUSB*, проверьте подключение |
Write failed |
Рация не в bootloader | Повторите вход (зажать SK2 при включении) |
Verify failed |
Повреждённый файл | Пересоберите: make clean && make |
Flash overflow |
Прошивка > 60 КБ | Отключите модули в Makefile |
| OpenOCD не подключается | Неверные пины SWD | Проверьте подключение J-Link |