debugers:fretsaw

Различия

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

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

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
debugers:fretsaw [2025/10/26 18:31] admindebugers:fretsaw [2025/10/26 19:25] (текущий) – [Настройка VSCode] admin
Строка 15: Строка 15:
 ===== Настройка VSCode ===== ===== Настройка VSCode =====
 Отладчик «Лобзик», полностью совместим с расширением Cortex-Debug для Visual Studio Code. Ниже приведено пошаговое руководство по настройке отладки. Отладчик «Лобзик», полностью совместим с расширением Cortex-Debug для Visual Studio Code. Ниже приведено пошаговое руководство по настройке отладки.
-🔧 Предварительные требования+=== 🔧 Предварительные требования ===
   - Установлено расширение Cortex-Debug в VS Code.   - Установлено расширение Cortex-Debug в VS Code.
   - Установлен GDB, соответствующий архитектуре вашей цели:   - Установлен GDB, соответствующий архитектуре вашей цели:
Строка 22: Строка 22:
   - Прошивка «Лобзика» обновлена до актуальной версии.   - Прошивка «Лобзика» обновлена до актуальной версии.
   - Целевая плата подключена к «Лобзику» через SWD или JTAG, и подано питание на цель,включая сигнал VTARGET (VCC).   - Целевая плата подключена к «Лобзику» через SWD или JTAG, и подано питание на цель,включая сигнал VTARGET (VCC).
-📄 Настройка launch.json +=== 📄 Настройка launch.json === 
-Откройте папку проекта в VS Code и создайте/отредактируйте файл .vscode/launch.json.+Откройте папку проекта в VS Code и создайте/отредактируйте файл ''.vscode/launch.json''. 
 + 
 +//Пример конфигурации для ARM Cortex-M (например, STM32):// 
 +<code c>
 { {
   "version": "0.2.0",   "version": "0.2.0",
Строка 38: Строка 41:
       "svdFile": "${workspaceFolder}/STM32F407.svd",       "svdFile": "${workspaceFolder}/STM32F407.svd",
       "interface": "swd",       "interface": "swd",
-      "targetId": 1, 
-      "overrideLaunchCommands": [ 
-        "load" 
-      ], 
-      "overrideResetCommands": [ 
-        "mon swdp_scan", 
-        "att 1", 
-        "mon reset" 
-      ] 
     }     }
   ]   ]
 } }
 +</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.1761492667.txt.gz
  • Последнее изменение: 2025/10/26 18:31
  • admin