为PX4建立J-Link GDB交叉调试环境

版本说明

1. 自驾仪:Holybro的Pixhawk 4。

2. PX4版本:1.13

3. 宿主机:Thinkpad笔记本+Ubuntu 20.04.2 LTS

4. J-Link软件:V760

5. J-Link硬件:J-Link EDU mini。可在淘宝上购买,170元左右,买到的东西如下图:

一. 硬件接口部分

1.1 J-Link EDU mini接口和Pixhawk 4 Debug口的定义

参考px4官网:

SWD (JTAG) Hardware Debugging Interface | PX4 User Guide

1.1.1 J-Link EDU mini的10针接口定义

1.1.2 J-Link EDU mini与SWD连接示意

SWD是ARM定义的一种通过串口进行调试的接口,Serial Wire Debug (SWD)

1.1.3 Pixhawk 4对FMU Debug接口和IO Debug接口的定义

PIXHAWK 4有两个Debug Port,一个是FMU Debug Port,另一个是IO Debug Port。两个口都提供了Pixhawk 标准6-Pin SH Debug Port。(6针) 调试PX4使用FMU Debug Port,这块板子的芯片型号是STM32F765II。

1.2 Pixhawk 4的FMU Debug Port与J-Link EDU mini口连接

1.2.1 连线顺序描述

参考官网:

SWD (JTAG) Hardware Debugging Interface | PX4 User Guide

对照上述1.1节的描述,J-Link EDU mini 10针口定义和PIXHAWK 4 FMU Debug口6针的连接如下:

FMU Debug Port

J-Link Mini

1 Vtref

1

2 TX

-

3 NC

-

4 SWDIO

2

5 SWDCLK

4

6 GND

3 或者 5

可见只需要连接4根线。

1.2.2 电缆描述

Pixhawk 4的Debug Port具有6针插座如下图:

需要采用6针电缆与之相连,Pixhawk 4线材包中有这根线,可以做两个,一个用于JLink调试,一个用于系统终端。另外也可以从得捷购买,网址:得捷电子

A06SR06SR30K152A JST Sales America Inc. | Cable Assemblies | DigiKey

一头接pixhawk,另一头需要接J-Link

J-Link端的10针插座如下:

接出的排线由J-Link厂家提供。需要将J-Link EDU mini接出的10 Pin排线按上述线序与Pixhawk 4提供的6针电缆焊接起来(只需要连接4根线),由于间距很小,所以焊接是个细活。 焊接完的样子如图,焊点用绿色电工胶布包起来了。

二. 软件部分

2.1 安装SEGGER JLink软件

打开如下网页

SEGGER - The Embedded Experts - Downloads - J-Link / J-Trace

在Linux选项中选择下载64-bit DEB Installer软件包,软件包将下载到Downloads目录中,

下载的文件名如下为JLink_Linux_V760h_x86_64.deb,安装这个.deb软件包:

sudo dpkg -i ~/Downloads/JLink_Linux_V760h_x86_64.deb

执行此命令后,软件包中的内容将存放在/usr/bin目录中。这是一种全局安装,也就是说可以在任何地方都可以执行JLink提供的安装在/usr/bin中的二进制程序。

2.2 运行JLink GDB Server

确认JLink一端的usb口已经与宿主机的USB口连接,JLink另一端的SWD口已经与Pixhawk 4的FMU Debug Port连接好。

执行命令:JLinkGDBServerExe,将弹出图形界面:

在这个界面中需要填写,

Connection to J-Link:USB(Pixhawk是通过USB与宿主机连接的)

Target device:STM32F765II(这是你的Pixhawk板中FMU使用的CPU型号)

Target interface:SWD(Pixhawk与宿主机的连接方式是SWD)

speed:Auto Selection

然后点击OK按钮。

接受版权说明的要求,别忘了,这是一个非常便宜的用于教育用的调试工具。

这个界面就是GDB Server界面,可见:

GDB: Waiting for connection(说明GDB Server正在等待GDB客户端的连接)

J-Link:Connected(说明J-Link已经建立了宿主机与目标机之间的硬件连接)

2.3 运行GDB,调试PX4软件

打开一个新的窗口,进入到PX4-Autopilot目录,运行下面命令:

arm-none-eabi-gdb build/px4_fmu-v5_default/px4_fmu-v5_default.elf
在gdb提示符下,执行命令:
gdb>target remote localhost:2331

此时可在JLink GDB Server界面中看到GDB Server与GDB客户端已经建立了连接。在gdb客户端界面,gdb将PX4程序停在某个地方,等待执行gdb命令,你可以执行continue命令让PX4运行起来,用CTRL-C中断程序的运行,PX4的运行状态可在JLink GDB Server界面中观察。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值