pixhawk新增编译选项、板级配置的方法
来源:互联网 发布:美工刀片生锈了怎么办 编辑:程序博客网 时间:2024/06/17 18:45
pixhawk本身的硬件资源有限,咱们可能需要将pixhawk移植到咱们自己的板子上,但是又想不影响原版pixhawk的使用,这就需要增加编译命令了。可是网上查不到如何增加编译命令的帖子,所以本人只有自己研究,经过几天的各种实验,终于成功的新增了新板子的编译命令。
以下讲解基于pixhawk1.0.1版本
先讲原理:
编译命令是否存在取决于makefiles文件夹中的config_*.mk文件是否存在:
例如我们编译pixhawk的命令是:px4fmu-v2_default ,之所以有这个命令是由于存在文件Firmware/makefiles/config_px4fmu-v2_default.mk,这个文件删了这个命令就无效了.
config_px4fmu-v2_default.mk中包含这句话:
ROMFS_OPTIONAL_FILES =$(PX4_BASE)/Images/px4io-v2_default.bin #这句话制定了所对应的IO处理器文件
makefile会根据.mk文件的名称寻找io芯片的mk文件:
例如:config_px4fmu-v2_default.mk对应的是config_px4io-v2_default.mk,就算将ROMFS_OPTIONAL_FILES的值设置为别的,也改变不了对应关系。
config_*.mk文件中包含应用层模块的裁剪信息,nuttx操作系统的配置是在board_*.mk中:
敲命令"makearchives",就会将每个board_*.mk编译出来,例如board_px4fmu-v2.mk就是v2版本硬件的fmu芯片的操作系统配置。
具体选择哪个board_*.mk文件是由config_*.mk文件的名字决定的:
例如config_px4fmu-v2_default.mk对应着board_px4fmu-v2.mk
makefile会根据board_*.mk文件的名字去寻找板子的配置两个文件夹:
1.Firmware/nuttx-configs/ #例如board_px4fmu-v2.mk对应其中的px4fmu-v2文件夹
2.Firmware/src/drivers/boards/ #例如board_px4fmu-v2.mk对应其中的px4fmu-v2文件夹
Firmware/Image文件夹中的*.prototype与board_*.mk文件名称对应:
例如,board_px4fmu-v2.mk与px4fmu-v2.prototype对应
再讲步骤:
1.例如新增命令,make px4fmu-makekam_default
2.在Firmware/makefiles文件夹中新增config_px4fmu-makekam_default.mk与config_px4io-makekam_default.mk,修改其中的bin文件名称,和drivers/boards/模块的包含。
3.在Firmware/makefile文件夹中新增board_px4fmu-makekam.mk与board_px4io-makekam.mk
4.在Firmware/Image文件夹中新增px4fmu-makekam.prototype与px4io-makekam.prototype
5.在Firmware/src/drivers/boards/中增加px4fmu-makekam与px4io-makekam文件夹
6.同理在Firmware/nuttx-configs中增加两个文件夹
- pixhawk新增编译选项、板级配置的方法
- pixhawk新增编译选项、板级配置的方法
- 关于pixhawk在ubuntu配置编译环境的步骤
- VS2008静态编译配置选项的位置
- Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
- Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
- Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
- Windows / Ubuntu操作系统下Pixhawk原生固件PX4的编译方法
- Pixhawk交叉编译开发环境的搭建
- win7下 pixhawk (ardupilot) 的编译
- Pixhawk交叉编译开发环境的搭建
- ffmpeg 编译配置选项
- linux下pixhawk的开发环境配置
- apache下单独新增编译模块的方法
- apache下单独新增编译模块的方法
- 内核编译配置选项含义
- Qt交叉编译配置选项
- 内核编译配置选项简介
- 运营小游戏分类或角度
- SQL注入学习笔记之SQL盲注
- cookie 存菜单的展开状态
- .netcore开发
- log4j.properties打印mybatis 日志
- pixhawk新增编译选项、板级配置的方法
- 酷睿cpu 计算速度
- python2.7 各种姿势
- C++:如何把一个int转成4个字节?
- SQLite数据库对数据的基本操作(二)
- 不小心删除了数据库,是什么样的体验 ?
- 欢迎使用CSDN-markdown编辑器
- 记录一下项目中Mybatis实现批量插入数据的操作
- MYSQL数据库超大级别数据读