debugers:fretsaw

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
debugers:fretsaw [2025/10/26 16:19] admindebugers:fretsaw [2025/10/26 19:25] (текущий) – [Настройка VSCode] admin
Строка 1: Строка 1:
 ====== Лобзик ====== ====== Лобзик ======
 {{ :debugers:fr.png?direct&200|}} {{ :debugers:fr.png?direct&200|}}
-=== SWD/JTAG отладчик на базе Black Magic Debug ===+===== 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.1761484794.txt.gz
  • Последнее изменение: 2025/10/26 16:19
  • admin