Беспроводной отладчик SWD / JTAG · CMSIS-DAP

Отладка платы без кабеля.

USB-донгл у компьютера и маленький пробник на целевой плате, между ними зашифрованный радиоканал 2,4 ГГц. Среда разработки видит обычный адаптер CMSIS-DAP, а отлаживаемая плата гальванически отвязана от ноутбука.

ПК · IDE pyOCDOpenOCD USB Донгл CMSIS-DAP v1/v2 2,4 ГГц · AES-CCM команды → ← данные · SWO · UART кабель больше не нужен Пробник SWD · JTAG SWDIO SWCLK SWO UART TX/RX GND Цель STM32 · nRF Cortex-M
SWD/JTAG, трассировка SWO и UART целевой платы идут по одному сопряжённому радиоканалу.
Три канала, одна связь

Всё, что передаёт отладочный кабель

Пробник работает с отладочным портом цели на месте и передаёт результаты обратно. Пошаговое выполнение, точки останова, прошивка и трассировка работают так же, как с проводным отладчиком.

SWDIO · SWCLK · TMS · TCK · TDI · TDO

SWD и JTAG

Прошивка, стирание, проверка, пошаговая отладка и точки останова по SWD или по JTAG с автоматическим определением цепочки.

SWO · ITM

Трассировка SWO

printf через ITM и трассировка данных до 1 Мбод без потерь по радио. SWO доступен на компьютере как отдельный COM-порт донгла.

TX · RX

UART цели

Последовательная консоль платы появляется на компьютере вторым COM-портом, от 9600 до 921600 бод. TX и RX можно поменять местами программно.

Без нового тулчейна

Работает с привычными инструментами

Донгл является стандартным адаптером CMSIS-DAP v1 и v2. Любой отладчик с поддержкой CMSIS-DAP находит его без установки драйверов.

  • pyOCDgdbserver, прошивка, SWO
  • OpenOCDSWD и JTAG, cmsis-dap
  • VS Code + Cortex-Debugвключая Live Watch через OpenOCD
  • Phantom Studioпрошивка, память, SWO, радио, обновления
# phantom.cfg — OpenOCD
adapter driver cmsis-dap
cmsis-dap vid_pid 0x1209 0x0007
cmsis-dap backend usb_bulk
transport select swd
source [find target/stm32h7x.cfg]
adapter speed 4000

# или через pyOCD
pyocd gdbserver --target stm32h750vbtx
Из коробки

Вставил донгл и отлаживаешь

Сопряжены на заводе

Донгл и пробник из одного комплекта уже знают друг друга. Если пара потеряется, положите платы рядом, и Phantom Studio сопряжёт их заново по шестизначному коду.

Шифрованный канал

Каждый пакет шифруется и подписывается AES-CCM со счётчиком против повтора. Донгл из другого комплекта не сможет работать с вашим пробником.

Обновление по радио

Phantom Studio обновляет донгл по USB, а пробник по радио. Прошивки пробника подписаны, неудачное обновление откатывается само.

Сам ищет свободный канал

При включении донгл выбирает тихий канал и переходит на другой, если растут потери. Если что-то зависнет, сторожевой таймер перезапустит пробник.

Даташит

Характеристики

Измерено на текущем прототипе на nRF52840 с целью STM32H750. Для серийной платы цифры будут уточнены.

Интерфейс с ПКUSB, CMSIS-DAP v1 (HID) и v2 (bulk), плюс 2 последовательных порта CDC
Протоколы отладкиSWD, JTAG (автоопределение цепочки)
Чтение памяти≈ 54 КБ/с · быстрое чтение в Studio ≈ 77 КБ/с
Запись памяти≈ 78 КБ/с
Один шаг≈ 7 мс
Трассировка SWOUART (NRZ) до 1 Мбод, ≈ 80 КБ/с, без потерь
UART цели9600 – 921600 бод
Радио2,4 ГГц, собственный протокол, AES-CCM, автоматический выбор канала
Уровни на линиях3,3 В · планируется версия с преобразователями уровней 1,2 – 5,5 В
Целевые МКARM Cortex-M: STM32, Nordic nRF и другие МК, поддерживаемые CMSIS-DAP
Программа

Phantom Studio

Программа для прошивки, чтения памяти, приёма SWO, диагностики радиоканала и обновления прошивок. Умеет и серийную прошивку небольших партий плат.

Скоро

Phantom Studio для Windows

Windows 10 / 11 · 64 бит

Первая публичная версия появится здесь. Studio сама проверяет на этом сайте новые версии программы и прошивок донгла и пробника.

Обновление прошивок

  1. Подключите донгл и запустите Phantom Studio.
  2. Откройте страницу «Обновление». Studio покажет установленные и доступные версии.
  3. Нажмите «Обновить». Донгл обновится по USB, пробник по радио.