probe-rs и cargo-embed
probe-rs — удобный набор инструментов для отладки встраиваемых систем, похожий на OpenOCD, но лучше интегрированный.
- SWD (Serial Wire Debug) и JTAG через зонды CMSIS-DAP, ST-Link и J-Link
- Заглушка GDB и сервер Microsoft DAP (Debug Adapter Protocol)
- Интеграция с Cargo
cargo-embed — подкоманда cargo для сборки и прошивки бинарных файлов, вывода логов RTT (Real Time Transfers) и подключения GDB. Настраивается файлом Embed.toml в каталоге проекта.
- CMSIS-DAP — стандартный протокол Arm поверх USB, который позволяет внутрисхемному отладчику обращаться к CoreSight Debug Access Port различных процессоров Arm Cortex. Именно его использует встроенный отладчик BBC micro:bit.
- ST-Link — линейка внутрисхемных отладчиков от ST Microelectronics, J-Link — линейка от SEGGER.
- Debug Access Port обычно представляет собой 5-контактный интерфейс JTAG или 2-контактный Serial Wire Debug.
- probe-rs — библиотека, которую при желании можно интегрировать в собственные инструменты.
- Microsoft Debug Adapter Protocol позволяет VSCode и другим IDE отлаживать код, выполняющийся на любом поддерживаемом микроконтроллере.
- cargo-embed — бинарный файл, собранный с использованием библиотеки probe-rs.
- RTT (Real Time Transfers) — механизм передачи данных между хостом отладки и целевым устройством через несколько кольцевых буферов.