px4代码jlink调试

  之前看了许多介绍px4环境搭建的文章有介绍windows下eclipse和ubuntu下eclipse阅读px4源码的文章,但是没有看到对px4进行代码调试的文章,后来查看px官网发现可以通过visual code进行jlink调试代码,突然觉得这个不错,打算搭建这个环境。(写的少不太会文章排版,将就看,求谅解)

开始之前先介绍一下我的基本环境,Jlink,px4fmu-v2的裸板(焊接了SWD线),VMware15下Ubuntu16.04,大致如此,其他软件需要了在下载。

步骤一,下载源码

     这个不用多说,直接按照官方文档进行源码下载,完事之后记得更新子模块。如果你网速比较好可能一遍就成功,如果网速不好,比如像我,公司网速特别差,下载最好就3,4百kb,往往下载这就断了,子模块下载了好几遍,直到20来个子模块全部ok,我才输了口气。

步骤二 ,ubuntu环境依赖下载

    官网支持JMAVSim Simulation  Gazebo Simulation  ROS, 我暂时没想着进行simulation所以只想这能编译代码并且在线调试,看看代码就行,至于Gazebo仿真,需要了在整,所以我没有按照官网的推荐去做。 

   更改用户组,删除不必要的模块管理。这两个命令记得输入。

  

    官网推荐  下载完源码后 一键脚本即可   bash   ./PX4-Autopilot/Tools/setup/ubuntu.sh

 说实话这样做也行,但是肯定脚本中做了许多我不清楚的事情,我不太想这么做,打算看看脚本,需要什么我自己安装呗。

这个是px4的通用依赖,说实话我没有全部安装,也可能我以前安装过许多现在并不知道,所以我没有挨个敲,想着需要了在安装。

python的依赖和INSTALL_NUTTX的依赖还是需要的,最好全部安装。然后gcc的版本脚本写的是“7-2017-q4-major” 我的环境之前就是5的,所以我没有装,但是后来证明,5的版本在编译的时候会报错,所以还是要更新这个gcc-none-eabi的版本。SITL,和gazebo我直接跳过。

和ubuntul.是同一目录的requirement.txt这个目录有许多python的模块,这个我后来编译不过,报了许多有关python的模块无法解析的错误,我手敲挨个安装的,不太懂python,编译的时候需要啥,我就安装啥,后来发现需要挺多,就全部安装了requirement.txt的所有模块。

好了致此应该具备编译PX4代码的环境,具体如果编译的时候遇到什么错误,个人建议是认真把错误挨个看一遍,不要害怕报错,尝试理解报错,尝试自己想为啥,不行在百度,解决的多了,你知道的就多了。

直接输入编译命令  make px4_fmu-v2 ,编译结果如下图所示。

    

步骤三  vscode环境搭建

下载vscode安装,这个直接百度安装吧。然后按照官网的提示一步一步导入代码,选择调试项目。

这里有个问题可能没有px4-v2的选项,按照launch.json配置自己添加,我按照其他的json配置复制粘贴,然后修改了program项目,填入自己的编译px4-v2_default.elf 的目录。

完事之后就可以点击debug进行在线调试,查看内存变量,栈回调,单步执行等等。

总结:

      以上只是简单概述了我按照官网进行vscode对px4代码进行在线调试的环境搭建。具体源码阅读需要看看makefile,启动脚本了,等等,是怎么组织源文件的。在线调试起到一个辅助的作用。当然在这个环境的搭建过程中,并没有那么顺利,也遇到了一些坑,包括源码下载,下载后编译gcc的版本支持,cmake的版本过低,等等。遇到错误一定要认真分析,尽量抓住要点进行百度,这样慢慢就会知道的越来越多嘻嘻。

    这篇文章写得比较粗糙,其实也不是粗糙,事实上是,我想写得很详细,但是写起来发现除了附图,很难表达出自己真正的想法,我想着可能就是写得少外加不会写文章的原因吧。希望以后自己多多练习起来。

    总而言之,希望对看px4代码的朋友有所帮助。

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值