Отладчик «Лобзик», полностью совместим с расширением Cortex-Debug для Visual Studio Code. Ниже приведено пошаговое руководство по настройке отладки.
Откройте папку проекта в 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 K1921VG015riscv-none-elf-gdbtar ext com2 - указать com-порт отладчикаmon jtagatt 1mon erase_mass
При успешном стирании должны получить Erasing device Flash: done