第一章 PX4程序编译过程解析
PX4是一款软硬件开源的项目,目的在于学习和研究。其中也有比较好的编程习惯,大家不妨可以学习一下国外牛人的编程习惯。这个项目是苏黎世联邦理工大学的一个实验室搞出来的。该方案是基于NUTTX系统上开发的。开发系统上面最好使用Ubuntu系统进行开发(开发效率高),程序修改和读写可以用Source Insight 。后期的文章将会陆续将软硬件进行开源和分析。
PX4的固件下载地址:https://github.com/PX4/Firmware
PX4的硬件下载地址:https://github.com/3drobotics/Pixhawk_OS_Hardware
(注意:所有的编译过程都是从需要编译的根目录下的Makefile文件开始),打开该文件我们开始进行分析。
进入无人机的的编译配置选项,这个比较重要。主要选择你的硬件开发环境和类型。我们主要讲解的是编译px4fmu-v2_defalt,我们编译的语句是“make px4fmu-v2_defalt”,在这里就体现了。px4fmu-v1_defalt是适用于px4的v1硬件。这个可以从开源的硬件中找到。
。这个在构建整个架构的时候就包含了该文件目录。这里就进入文件的配置选项了哦。当然这个命名是
因为camke组建包含的就是nuttx_px4fmu-v2_defalt文件,注意到了没?
这里举一个例子,比如drivers/mup6000。因为包含的关系我们很容易就可以查到这个文件在该目录下
。这个路径找到的是src/Firmware/src路径,然后引导到drivers路径,找到mup6000路径下的cmake文件。注意哦这里有个module drivers __mpu6000。这里的名字是mpu6000,这里在后面说到启动文件的时候会说到哦。这里就是要包含的c++文件,如果要编译自己的也可以写一个cmake文件或者在某个包含的cmake文件中加入自己的程序就行了,不然就不会参与编译哦,至于编写规则你随便找一个cmake文件模仿就行了,然后在这个文件中包含路径就行了。从这些cmake文件中也可以查哪些文件是参与编译的哪些是不参与编译的哦。很多人在看代码的时候总会出现有的文件是相同的然后又不知道时哪个文件参与编译的,那么从这些cmake文件中就可以知道了哦。
在这个camke文件中就有很多的模块和相应的库文件,在这里都是可以找到的哦。那么编译过程就讲到这里,注意这里只是编译过程,真正哪些模块会用到就要到下一章节的启动文件分析去了。
有什么错误欢迎提出来,大家一起修正一起学习。