概述
1. 在git上clone代码,必须是clone,因为编译时需要有.git文件夹。如果你看Makefile就会发现有这么一行:
# Enforce the presence of the GIT repository
#
# We depend on our submodules, so we have to prevent attempts to
# compile without it being present.
ifeq ($(wildcard .git),)
$(error YOU HAVE TO USE GIT TO DOWNLOAD THIS REPOSITORY. ABORTING.)
endif
就是检查是不是存在.git文件夹的
2. Firmware中不包括Nuttx,Nuttx是单独的一个仓库。因此在build Firmware之前,需要:
cd Firmware
git submodule update --init --recursive
3. 如果要做仿真,也需要下载一些相应的库。下载这个文件:
https://raw.githubusercontent.com/PX4/Devguide/master/build_scripts/ubuntu_sim.sh
然后执行,source ubuntu_sim.sh
4. 现在可以执行make posix jmavsim了,就是在PC中跑一下PX4的仿真,并且可以看到jmavsim启动,可以敲入commander takeoff了。最好再去把QGroundcontrol下载下来,配合着一起使用。
5.如果你想仔细了解make的过程,可以去看makefile。执行make的过程就是先执行cmake-build的过程,即先用cmake进行configure,然后执行make进行build。可以参考:https://blog.csdn.net/xiaoshuai537/article/details/79346448
具体怎样configure要去看CMakeLists.txt。比如哪些.cmake文件都是干嘛的。
6.如果想了解启动过程,建议你看这两篇文章:
https://blog.csdn.net/czyv587/article/details/51445308
大体分这么三个阶段:bootloader -> nuttx -> rcS。分别搞懂即可。
7.如果你想改改PX4,比如加入自己的驱动,建议去看:
http://nutshellking.com/articles/xue-xi-zong-jie/customize_Pixhawk/
当然看PX4的develop guide也是可以的。
感觉PX4真的是很好的开源的嵌入式架构,在解耦做的很好,扩展和修改都很方便,值得好好学习。当然除了PX4外,robot类还有很多的开源架构:
https://en.wikipedia.org/wiki/Open-source_robotics
以后再慢慢学。
最后
以上就是瘦瘦奇迹为你收集整理的在编译PX4之前,你需要知道的几件事的全部内容,希望文章能够帮你解决在编译PX4之前,你需要知道的几件事所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复