PX4IO的编译过程、代码构架以及与PX4FMU的通讯分析 | 您所在的位置:网站首页 › 飞控rc和pwm是什么意思区别在哪 › PX4IO的编译过程、代码构架以及与PX4FMU的通讯分析 |
看到很多教程中讲到PX4飞控的协处理器的作用,包括各类遥控器信号的输入、PWM信号输出、以及与FMU的通讯。但是究竟如何实现的,最近几天自己看代码总算搞懂了,在这里分享一下。 一,代码的组成和编译过程。 原始代码的主要代码位于 Firmware/src/modules/px4iofirmware文件夹中。打开CMakeList.txt文件,可以看到包含的文件还有位于其他文件夹中的部分源文件,以及apps、nuttx、nosys等等库文件。其实在编译的过程中,针对具体对象的make指令会新建一个build_XXX文件夹,然后将需要编译的源代码和产生的中间过程都放进去,而一些独立的模块会编译成库文件,比如libnuttx.a 就是针对nuttx系统生成的库文件,在CMakeList中在使用add_link_libraries实现功能块的链接。 以上截图来自Firmware/src/modules/px4iofirmwareCMakeList.txt文件 指定编译目标的指令是add_executable,最后再使用自定义的px4_nuttx_create_bin的CMake自定义function来生成px4io-v2.bin文件。整个编译过程结束之后果然可以在Firmware/build_px4fmu-v2_default/src/modules/px4iofirmware 文件夹中找到这两个文件。
|
CopyRight 2018-2019 实验室设备网 版权所有 |