cccvip 发表于 2024-12-15 11:57:42

Ardupilot VSCode断点调试

Ardupilot VSCode断点调试

zpshao 发表于 2024-12-15 12:09:27

项目提供了环境部署脚本,可以直接安装所有所需工具和包。

OpenOCD 是被 VSCode 的 Cortex-Debug 插件调用于烧录和调试 STM32 的软件。

Bootloader 只需烧录一次,飞控板出厂自带的 bootloader 未开启调试模式,若要调试飞控,需烧录开启调试模式的 bootloader(相关配置见 ./waf configure --board CUAVv5 --debug --bootloader)。

CMSIS-SVD 是 CMSIS 的一个组件,包含完整微控制器系统(含外设)的程序员视图的系统视图描述 XML 文件。VS Code 通过它来获取外设寄存器地址分布,从而在窗口中展示寄存器内容。

配置文件包括下载单片机 SVD 文件,该文件描述了微控制器系统视图。

在 launch.json 配置文件中开启飞控代码调试模式:将 ardupilot/libraries/AP_BoardConfig/AP_BoardConfig.cpp 288 行改为:AP_GROUPINFO("OPTIONS", 19, AP_BoardConfig, _options, BOARD_OPTION_DEBUG_ENABLE)。重新编译飞控固件后,VSCode 可进行中断点调试。

遇到问题时,需解决 USB 权限问题。解决方案包括配置 enable-jlink,参考 Debugging with GDB on STM32,debugging-with-gdb-using-vscode,以及 MicoAir:使用VSCode打造APM飞控的编译+烧录+调试一体的终极开发环境。
页: [1]
查看完整版本: Ardupilot VSCode断点调试