JLink 调试探针
J-Link 调试探针 是一款闭源的商业硬件探针,几乎支持所有的 ARM Cortex-M 设备。 为了使该探针正常工作,你需要安装 J-Link 驱动程序:
sh
# Ubuntu 系统
wget --post-data "accept_license_agreement=accepted" https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb
sudo dpkg -i JLink_Linux_x86_64.deb
# macOS 系统
brew install segger-jlink
安装完成后,你可以使用以下命令启动服务器:
sh
JLinkGDBServer -if swd -device STM32F765II
然后它可能会提示你更新 JLink,建议进行更新,之后还会提示你指定与之通信的设备。 请查看你的自动驾驶仪文档以确定具体的设备型号。
完成上述操作后,GDB 服务器应该会开始监听 2331 端口,例如显示如下内容:
sh
Checking target voltage...
Target voltage: 3.28 V
Listening on TCP/IP port 2331
Connecting to target...
Connected to target
Waiting for GDB connection...
现在你可以在另一个终端中,使用当前已烧录到自动驾驶仪中的精确 ELF 文件来启动 GDB:
sh
arm-none-eabi-gdb build/px4_fmu-v5_default/px4_fmu-v5_default.elf -ex "target extended-remote :2331"
此时你应该就已经连接成功了。
如果你想使用集成开发环境(IDE)进行调试,请查看 Eclipse 或 VSCode 的相关说明。 有关更高级的调试选项,请参阅 嵌入式调试工具。
Segger JLink EDU Mini 调试探针
Segger JLink EDU Mini 是一款价格实惠且广受欢迎的 SWD 调试探针。 该探针的连接器引脚分配如下图所示(使用像 FTSH-105-01-F-DV-K 这样的 ARM 10 针迷你连接器进行连接)。
将 J-Link Edu Mini 连接到 Pixhawk 迷你调试端口 的引脚映射如下所示。
针脚 | 信号 | JLink 针脚 |
---|---|---|
1 | 参考电压(VREF) | 1 |
2 | 控制台发送(Console TX) | |
3 | 控制台接收(Console RX) | |
4 | 串行线调试数据引脚(SWDIO) | 2 |
5 | 串行线调试时钟引脚(SWDCLK) | 4 |
6 | 接地(GND) | 3, 5 |
请注意,JLink 调试探针均未内置串行连接,所以你需要单独连接控制台。