IoT IoT
Whizz FlashTool — прошивальщик для сервис-инженеров Whizz FlashTool — Firmware Tool for Service Engineers
GUI-приложение на Go для прошивки IoT-модулей e-bike через ST-LINK V2 ($6) вместо J-LINK ($800). Снизило стоимость оснащения 12 сервисных точек с $9 600 до $72. Go GUI app for flashing e-bike IoT modules via ST-LINK V2 ($6) instead of J-LINK ($800). Cut equipment cost for 12 service stations from $9,600 to $72.
GoFyneOpenOCDST-LINK V2SWDN32G45xDevToolsGUI
Ключевые метрики
$794
экономия на каждом программаторе saved per programmer unit
12×
сервисных точек оснащено service stations equipped
$9 528
общая экономия total savings
1-click
Execute All — полная прошивка Execute All — full flash
Возможности системы
GUI и удобство GUI and Usability
- Приложение на Go + Fyne — один .exe для Windows Go + Fyne app — single .exe for Windows
- Панель статуса: ST-LINK подключён / МК обнаружен Status panel: ST-LINK connected / MCU detected
- Execute All — полная прошивка одной кнопкой Execute All — full flash in one click
- Кнопки заблокированы до подключения программатора и МК Buttons locked until programmer and MCU are connected
- Real-time прогресс: операция, скорость, байты Real-time progress: operation, speed, bytes transferred
Операции прошивки Flash Operations
- Erase — полная очистка Flash Erase — full Flash erase
- Flash Bootloader — прошивка загрузчика Flash Bootloader — bootloader programming
- Flash Application — прошивка приложения Flash Application — application programming
- Flash Boot Info — метаданные загрузки Flash Boot Info — boot metadata
- Execute All — полный цикл одной командой Execute All — full cycle in one command
N32G45x и OpenOCD N32G45x and OpenOCD
- Кастомный OpenOCD Tcl-скрипт для N32G45x (нет в стандартных конфигах) Custom OpenOCD Tcl script for N32G45x (not in standard configs)
- Карта Flash: Bootloader / Application / Config / Boot Info Flash map: Bootloader / Application / Config / Boot Info
- Автопоиск OpenOCD: встроенный → PATH → стандартные пути Auto-discover OpenOCD: bundled → PATH → standard paths
- Верификация Flash после прошивки Flash verification after programming
Автоматизация и интеграция Automation and Integration
- Автоустановка зависимостей (OpenOCD, ST-LINK драйвер) Auto-install of dependencies (OpenOCD, ST-LINK driver)
- JWT-аутентификация сервис-инженеров JWT authentication for service engineers
- Логирование прошивок в ClickHouse (модель, версия, IMEI, результат) Firmware logging to ClickHouse (model, version, IMEI, result)
- Flash Layout API — карта памяти по модели устройства Flash Layout API — memory map per device model
- Структурированные логи в %APPDATA%/WhizzFlasher/logs/ Structured logs in %APPDATA%/WhizzFlasher/logs/
Описание
Проблема
Прошивка IoT-модулей e-bike (N32G452CC) в полевых условиях требовала J-LINK за $800 на каждую сервисную точку. При 12 точках — $9 600 только на программаторы.
Решение
GUI-приложение на Go (Fyne) для сервис-инженеров: подключил ST-LINK V2 за $6 → запустил приложение → нажал Execute All. Всё остальное система делает сама: автообнаружение программатора и МК, загрузка прошивки, прошивка, верификация, лог.
Прошивка
Три компонента в нужные адреса Flash: Bootloader (60 KB, 0x08000000), Application (188 KB, 0x0800F000), Config/Boot Info. OpenOCD + кастомный Tcl-скрипт для N32G45x — чип не поддерживается стандартными конфигами.
Автоматизация
Автоустановка зависимостей (OpenOCD), автообнаружение ST-LINK, real-time прогресс со скоростью и байтами, структурированное логирование. Кнопки Flash заблокированы до подключения программатора и МК — защита от ошибок.
Интеграция
JWT-аутентификация для сервис-инженеров. Логирование операций прошивки в ClickHouse (модель, версия, IMEI, результат). Flash Layout API — карта памяти по модели устройства.
Problem
Flashing e-bike IoT modules (N32G452CC) in the field required a J-LINK at $800 per service station. For 12 stations — $9,600 in programmers alone.
Solution
Go GUI app (Fyne) for service engineers: plug in ST-LINK V2 at $6 → launch app → press Execute All. The system handles the rest: auto-detects programmer and MCU, loads firmware, flashes, verifies, logs.
Flashing
Three components to correct Flash addresses: Bootloader (60 KB, 0x08000000), Application (188 KB, 0x0800F000), Config/Boot Info. OpenOCD + custom Tcl script for N32G45x — the chip is not supported by standard configs.
Automation
Auto-install of dependencies (OpenOCD), ST-LINK auto-detection, real-time progress with speed and byte count, structured logging. Flash buttons locked until programmer and MCU connected — error protection.
Integration
JWT auth for service engineers. Firmware operation logging to ClickHouse (model, version, IMEI, result). Flash Layout API — memory map per device model.