SWD и JTAG
Прошивка, стирание, проверка, пошаговая отладка и точки останова по SWD или по JTAG с автоматическим определением цепочки.
USB-донгл у компьютера и маленький пробник на целевой плате, между ними зашифрованный радиоканал 2,4 ГГц. Среда разработки видит обычный адаптер CMSIS-DAP, а отлаживаемая плата гальванически отвязана от ноутбука.
Пробник работает с отладочным портом цели на месте и передаёт результаты обратно. Пошаговое выполнение, точки останова, прошивка и трассировка работают так же, как с проводным отладчиком.
Прошивка, стирание, проверка, пошаговая отладка и точки останова по SWD или по JTAG с автоматическим определением цепочки.
printf через ITM и трассировка данных до 1 Мбод без потерь по радио. SWO доступен на компьютере как отдельный COM-порт донгла.
Последовательная консоль платы появляется на компьютере вторым COM-портом, от 9600 до 921600 бод. TX и RX можно поменять местами программно.
Донгл является стандартным адаптером CMSIS-DAP v1 и v2. Любой отладчик с поддержкой CMSIS-DAP находит его без установки драйверов.
# 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 мс |
| Трассировка SWO | UART (NRZ) до 1 Мбод, ≈ 80 КБ/с, без потерь |
| UART цели | 9600 – 921600 бод |
| Радио | 2,4 ГГц, собственный протокол, AES-CCM, автоматический выбор канала |
| Уровни на линиях | 3,3 В · планируется версия с преобразователями уровней 1,2 – 5,5 В |
| Целевые МК | ARM Cortex-M: STM32, Nordic nRF и другие МК, поддерживаемые CMSIS-DAP |
Программа для прошивки, чтения памяти, приёма SWO, диагностики радиоканала и обновления прошивок. Умеет и серийную прошивку небольших партий плат.
Первая публичная версия появится здесь. Studio сама проверяет на этом сайте новые версии программы и прошивок донгла и пробника.