pixhawk debug

来源:互联网 发布:openwrt 网络重启命令 编辑:程序博客网 时间:2024/06/07 00:40
 在用pixhawk飞控时,不可避免遇到debug的需求,一种方法是采用log的形式,还有一种便是利用Jtag来实现on-board debug,在Pixhawk官网上,提供了三种方法:http://www.pixhawk.com/dev/jtag/start一种是用Black Magic Probe,从这个网站:https://1bitsquared.de/products/black-magic-probe能看出来价格敢不敢再贵点

太tm贵了好吗

第二种是使用OpenOCD Adapters,和上一种方法一样,也是麻烦且花费高。

怎么能好吃不贵的搞定60欧元能干的事情呢?
看第三种方法:SEGGER J-Link Adapters,其实就是大家熟悉的j-link,这个某宝上一搜一大堆好吗?
笔者用手头的st-link(意法半导体的一款jtag,和j-link其实没什么区别)结合Linux中的GDB工具尝试着实现了on-board debug.
一、硬件连接
如下图所示,我们使用的是FMU SWD的10pin接口,但原板子上并没有焊,所需接插件为SAMTEC申泰连接器,型号为:FTSH-105-01-F-DV-K,某宝链接:https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53fbNRx3l&id=532978869499&_u=p1lq9d2n7ead
这里写图片描述
焊接时,接插件上有豁口一侧指向上图中IO SWD点的方向。ST-link是20Pin的jtag,而板子上是10pin的mini Jtag接口,所以需要20-10pin的转接板。某宝链接:
https://item.taobao.com/item.htm?spm=a1z09.2.0.0.1f30a53fbNRx3l&id=552375541393&_u=p1lq9d2n161a
st-link TB上一大堆,也就20元左右,在连接时,将转接板20pin一端插入ST-link 20pin接口,接口有凸出的部分,方便定位,将10pin端插入pixhawk电路板,硬件连接完成。
二、 软件使用
测试环境:Ubuntu16.04LTS &VMwareWorkstation12
需要搭建一个GDBsever环境,从github下载stlink驱动,链接为stlink,解压文件,安装是可能会出现却依赖文件,automake dh-autoreconf libsub-1.0.0-dev,没安装的话sudo apt-get install autmake libusb-1.0.0-dev dh-autoreconf.或者去http://pan.baidu.com/s/1c13dZ5e
拷贝并解压缩在某文件夹下X,在X/stlink下有一个README.md,里面有对stlink使用方法介绍:
在终端,CD到该文件夹下:x/stlink/build/Release/src/gdbserver,在一个终端中敲入./st-until运行gdbserver,此时应保证stlink已通过USB连接电脑
这里写图片描述
运行成功时,会显示server在监听端口4242.
在第二个终端,进入Firmware ,make之,但需要加入编译条件,整句命令行如下:make px4fmu-v2_default PX4_CMAKE_BUILD_TYPE=RelWithDebInfo
此时大概率出现flash overload错误,解决方法:将nuttx_px4fmu-v2_default.cmake文件中的配置中的一部分modules注释掉,在firmware中的路径为/Firmware/cmake/configs/nuttx_px4fmu-v2_default.cmake。
打开第三个终端,cd到文件夹以下文件夹,X表示固件库文件放置位置。
X/Firmware/build_px4fmu-v2_default/src/firmware/nuttx
在终端中敲入arm-none-eabi-gdb firmware_nuttx即可进入gdb
这里写图片描述
此时回车即可。
在gdb中写tar ext:4242 即可连接server(此部分内容可在上文提到的README.md文件中有详细说明)

这里写图片描述
这里写图片描述
利用 b +函数名即可设置断点
Info b 查看所有断点
delete + 断点序号 删除断点
delete 删除所有断点
load 通过gdb刷新固件中的程序
run 运行程序
continue 继续运行中断了的程序
next 运行到断点后 使用

1

1
1

1
1

1
1

1

1

1

1
1

1

1
1

1
1

1
1

1
1
1

1

1

1
1

1
1
1

1

1

原创粉丝点击