Эта страница только для чтения. Вы можете посмотреть её исходный текст, но не можете его изменить. Сообщите администратору, если считаете, что это неправильно. ====== Лобзик ====== {{ :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):// <code c> { "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", } ] } </code> //Пример конфигурации для RISC-V (K1921VG015):// <code c> { "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" ] } </code> === 💡 Примечания: === Порт ''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]] debugers/fretsaw.txt Последнее изменение: 2025/10/26 19:25 — admin