Прошивка ключа morzero

Готовый образ прошивки 0.1.1 для CH32V003: скачайте файл или обновите ключ прямо из браузера.

Скачать прошивку

Скачать ch32v003-0.1.1.bin
Файл
ch32v003-0.1.1.bin
Размер
13 476 Б
SHA-256
52b3534cd59a0229…
Показана первая часть суммы — полная в блоке ниже 52b3534cd59a0229af03f941eaec793ea13d5ac285a9e2c00e42437d6fc2f3b4

Образ собран вне железа и ещё не проверен на реальной плате — первую прошивку выполняйте по чек-листу KEYER_HARDWARE.md.

Обновление через браузер

Если на плате уже установлен bootloader rv003usb:

  1. Откройте /keyer и нажмите «Подключить ключ» (WebUSB).
  2. Нажмите «Bootloader» — ключ перезагрузится в bootloader (0x1209:B003).
  3. В блоке «Прошивка» выберите файл образа (или сначала скачайте текущий по ссылке выше).
  4. Нажмите «Прошить» и дождитесь сообщения «Прошито N Б».

Windows: bootloader работает через WebHID без драйверов; для доступа приложения к vendor-интерфейсу нужен Zadig (10 §11).

Linux: доступ к устройству открывает udev-правило:

udev-правило
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="0001", TAG+="uaccess"
SUBSYSTEM=="usb", ATTR{idVendor}=="1209", ATTR{idProduct}=="b003", TAG+="uaccess"

Сохраните как /etc/udev/rules.d/60-morzero-keyer.rules и выполните: sudo udevadm control --reload-rules && sudo udevadm trigger

Первая прошивка новой платы

Bootloader ставится один раз программатором (ch32fun/minichlink):

  1. Соберите порт: make -C firmware/ports/ch32v003 (нужен riscv64-unknown-elf-gcc).
  2. Подключите WCH-LinkE к SWIO/PD1 (+3V3, GND).
  3. Соберите bootloader: cd firmware/vendors/rv003usb/bootloader && make.
  4. Прошейте его: minichlink -w bootloader.bin -b, затем отключите программатор — дальше плата обновляется из браузера.

Подключение программаторов

Схема подключения программаторов к плате morzero на CH32V003: WCH-LinkE и WCH-Link W соединяются с SWIO (PD1), 3V3 и GND; CH340 подключается по UART к PD5 и PD6Плата morzero (CH32V003)3V3SWIO (PD1)PD5PD6GNDUSBWCH-LinkE3V3 ↔ 3V3SWIO ↔ PD1GND ↔ GNDWCH-Link W 1.03V3 ↔ 3V3SWIO ↔ PD1GND ↔ GNDCH340 (USB-UART)TX → PD6RX ← PD53V3 ↔ 3V3GND ↔ GND

вход в заводской bootloader: option byte START_MODE = 1 (ставится один раз по SWIO) + программный сброс из приложения — внешнего пина входа нет

Заводской bootloader не шьёт пустую плату: сначала нужен SWIO-программатор (он же ставит START_MODE и bootloader rv003usb). Для прошивки по UART через CH340 учтите: PD5 занят подтяжкой USB (1,5 кОм), PD6 — пьезоизлучателем, их придётся отключить или перемычить. Основной путь — WCH-LinkE: SWIO (PD1) + 3V3 + GND (по документации заводского UART-bootloader WCH).

Распиновка (09 §11)

Распиновка отладочной платы CH32V003
УзелПинОбвязка / примечание
DITPC0кнопка/лапа на GND, подтяжка 10 кОм к 3V3
DAHPC1так же, вторая лапа
STRAIGHTPC2прямой ключ, tip моно-джека
KEYPD0N-FET 2N7002, open drain, ≤ 30 В / ≤ 50 мА, резистор ≥ 100 Ом
PTTPD2N-FET 2N7002, опция
SIDETONEPD6PWM → пьезоизлучатель + 100 Ом
LEDPA2индикация key-down
BOOTPA1кнопка на GND: удержание при подаче питания → bootloader
USBPD3/PD4/PD5USB D+ / D− + 33 Ом последовательно, pull-up 1,5 кОм на D−

Подключение, BOM, диагностика и чек-лист приёмки на железе — docs/KEYER_HARDWARE.md в репозитории проекта.