博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PX4的CMake解析
阅读量:4101 次
发布时间:2019-05-25

本文共 1245 字,大约阅读时间需要 4 分钟。

/home/yanlei/src/Firmware/cmake/common 中定义了其他CMakeLists.txt中所使用的一些函数

使用最多的函数px4_add_module在px4_base.cmake中

//ekf2的CMakeLists.txt

px4_add_module(
    MODULE modules__ekf2
    MAIN ekf2
    COMPILE_FLAGS
    STACK_MAIN 2500        //任务堆栈大小
    STACK_MAX 4000
    SRCS
        ekf2_main.cpp  //模块函数的起点
    DEPENDS
        git_ecl
        ecl_EKF
        ecl_geo
        perf
    )

多旋翼姿态控制的CMakeLists.txt

px4_add_module(
    MODULE modules__mc_att_control
    MAIN mc_att_control
    STACK_MAIN 1200
    STACK_MAX 3500
    COMPILE_FLAGS
    SRCS
        mc_att_control_main.cpp
    DEPENDS
        circuit_breaker
        conversion
        mathlib
    )

最终会在/home/yanlei/src/Firmware/  build  /nuttx_px4fmu-v2_default/src/modules   build文件夹中每个模块对应的文件夹下生产.a静态库文件用于后期程序链接

px4_base.cmake函数说明:

px4_parse_function_args:解析函数的一些参数和flag,用于其他cmake函数调用。
px4_join:没看懂,函数结合在一起?
px4_add_common_flags 设置一些编译参数、编译对象(飞控板、软件仿真......)还有C C++的一些编译参数,最重要的是包含了include_directories
其他函数看字面意思就能理解

px4_git.cmake函数说明:

px4_add_git_submodule:添加git子模块,这应该就是为什么可以在编译的过程中会自动下载nuttx、mavlink相关模块的实现吧

px4_metadata.cmake函数说明:

px4_generate_airframes_xml:生成机型对应的XML文件,调用了python脚本px_process_airframes.py去处理xml文件,在px4_generate_airframes_xml函数中给python脚本传入了一些参数,px_process_airframes.py脚本中import了一些python库,应该是用于解析init.d文件夹下的机型参数用的,最终生成的airframe.xml文件在/home/yanlei/src/Firmware/build/nuttx_px4fmu-v2_default文件夹下,airframe.xml定义了机型的id,电机输出等等

转载地址:http://dswsi.baihongyu.com/

你可能感兴趣的文章
OpenFeign学习(三):OpenFeign配置生成代理对象
查看>>
OpenFeign学习(四):OpenFeign的方法同步请求执行
查看>>
OpenFeign学习(五):OpenFeign请求结果处理及重试控制
查看>>
OpenFeign学习(六):OpenFign进行表单提交参数或传输文件
查看>>
OpenFeign学习(七):Spring Cloud OpenFeign的使用
查看>>
Ribbon 学习(二):Spring Cloud Ribbon 加载配置原理
查看>>
Ribbon 学习(三):RestTemplate 请求负载流程解析
查看>>
深入理解HashMap
查看>>
XML生成(一):DOM生成XML
查看>>
XML生成(三):JDOM生成
查看>>
Ubuntu Could not open lock file /var/lib/dpkg/lock - open (13:Permission denied)
查看>>
collect2: ld returned 1 exit status
查看>>
C#入门
查看>>
查找最大值最小值
查看>>
杨辉三角
查看>>
冒泡排序法
查看>>
C#中ColorDialog需点两次确定才会退出的问题
查看>>
16、Memento 备忘录模式
查看>>
Java基础篇(一)
查看>>
数据库
查看>>