查看: 92|回复: 1

Ardupilot VSCode断点调试

[复制链接]

43

主题

859

帖子

1721

积分

金牌飞友

Rank: 6Rank: 6

积分
1721
飞币
845
注册时间
2017-8-21
发表于 4 天前 | 显示全部楼层 |阅读模式
Ardupilot VSCode断点调试

42

主题

868

帖子

1726

积分

金牌飞友

Rank: 6Rank: 6

积分
1726
飞币
856
注册时间
2017-8-9
发表于 4 天前 | 显示全部楼层
项目提供了环境部署脚本,可以直接安装所有所需工具和包。

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飞控的编译+烧录+调试一体的终极开发环境。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表