====== Лобзик ======
{{ :debugers:fr.png?direct&200|}}
===== SWD/JTAG отладчик на базе Black Magic Debug =====
* Полная поддержка Black Magic Debug: отладка «из коробки» без необходимости в дополнительном ПО вроде OpenOCD.
* Два режима подключения: SWD (Serial Wire Debug) и JTAG — для максимальной гибкости.
* Встроенная GDB-серверная функциональность: подключайтесь напрямую через GDB — никаких промежуточных утилит.
* Открытая прошивка и схемотехника: вы можете изучать, модифицировать и адаптировать под свои задачи.
* Поддержка целей RISC-V: идеален для работы с современными микроконтроллерами.
* Поддержка **К1921ВГ015**
[[https://kitslab.ru/debugers/sch.pdf|Схема отладчика]]
{{ :debugers:pinout_1.png?direct&400 |}}
===== Настройка VSCode =====
Отладчик «Лобзик», полностью совместим с расширением Cortex-Debug для Visual Studio Code. Ниже приведено пошаговое руководство по настройке отладки.
=== 🔧 Предварительные требования ===
- Установлено расширение Cortex-Debug в VS Code.
- Установлен GDB, соответствующий архитектуре вашей цели:
- Для ARM Cortex-M: arm-none-eabi-gdb
- Для RISC-V: riscv32-unknown-elf-gdb или riscv64-unknown-elf-gdb (в зависимости от ядра)
- Прошивка «Лобзика» обновлена до актуальной версии.
- Целевая плата подключена к «Лобзику» через SWD или JTAG, и подано питание на цель,включая сигнал VTARGET (VCC).
=== 📄 Настройка launch.json ===
Откройте папку проекта в VS Code и создайте/отредактируйте файл ''.vscode/launch.json''.
//Пример конфигурации для ARM Cortex-M (например, STM32)://
{
"version": "0.2.0",
"configurations": [
{
"name": "Debug via Лобзик (BMP)",
"type": "cortex-debug",
"request": "launch",
"servertype": "bmp",
"BMPGDBSerialPort": "COM4", // ← замените на ваш порт (Windows)
// "BMPGDBSerialPort": "/dev/ttyACM0", // ← Linux/macOS
"gdbPath": "arm-none-eabi-gdb",
"executable": "${workspaceFolder}/build/firmware.elf",
"svdFile": "${workspaceFolder}/STM32F407.svd",
"interface": "swd",
}
]
}
//Пример конфигурации для RISC-V (K1921VG015)://
{
"name": "Debug RISC-V via Лобзик",
"type": "cortex-debug",
"request": "launch",
"servertype": "bmp",
"BMPGDBSerialPort": "COM7", // ← ваш COM-порт
"gdbPath": "riscv-none-elf-gdb",
"executable": "${workspaceFolder}/build/app.elf",
"svdFile": "${workspaceFolder}/K1921VG015.svd",
"interface": "jtag",
// "powerOverBMP": "enable", // ← Питание целевого устройства от отладчика (3.3V)
"overrideLaunchCommands": [
//"mon freq 1000000", // ← Частота JTAG
"load"
],
"overrideResetCommands": [
"mon swreset"
],
"overrideRestartCommands": [
"mon swreset",
"load"
]
}
=== 💡 Примечания: ===
Порт ''BMPGDBSerialPort'' можно найти в диспетчере устройств (Windows) или через ls /dev/tty* (Linux/macOS). «Лобзик» создаёт два COM-порта: первый — для GDB, второй — для UART.
Команда ''mon swdp_scan'' (для SWD) или ''mon jtag_scan'' (для JTAG) необходима для обнаружения целевого ядра.
''att 1'' — подключается к первому обнаруженному ядру (часто ''targetId: 1'').
Для ''K1921VG015'' добавлены кастомные команды сброса ''mon swreset'' и ''mon hwreset'' и команда стирания flash-памяти ''mon erase_mass''. Лобзик сам считывает состояние сервисного режима ''K1921VG015'' и сам выбирает метод стирания.
Для стирания flash ''K1921VG015'' в сервисном режиме:
* Подключить вывод ''SERVEN'' к питанию 3.3V
* Подключить питание ''K1921VG015''
* Открыть в терминале ''riscv-none-elf-gdb''
* Выполнить команды:
* ''tar ext com2'' - указать com-порт отладчика
* ''mon jtag''
* ''att 1''
* ''mon erase_mass''
При успешном стирании должны получить ''Erasing device Flash: done''
=== ▶️ Запуск отладки ===
- Соберите проект и убедитесь, что .elf-файл содержит отладочную информацию (-g в флагах компиляции).
- Нажмите F5 или выберите конфигурацию в панели отладки и нажмите «Start Debugging».
- Cortex-Debug автоматически:
* Подключится к «Лобзику» через указанный COM-порт,
* Выполнит команды инициализации,
* Загрузит прошивку (load)
=== 📚 Полезные ссылки ===
* [[https://github.com/Marus/cortex-debug?spm=a2ty_o01.29997173.0.0.5784c9218ENmxG|Официальная документация Cortex-Debug]]
* [[https://github.com/blackmagic-debug/blackmagic/blob/main/README.md?spm=a2ty_o01.29997173.0.0.5784c9218ENmxG&file=README.md|Black Magic Debug — User Guide]]