Pixhawk固件Firmware源码结构分析
Pixhawk源码Firmware是一个内容庞大的文件夹,里面有许多的子文夹,代表着不同的功能模块。文件夹结构如下图所示:
图1 Firmware源码结构
图中列出了需要经常修改或查看的文件,其实还有部分文件夹使用较少,未画出。 此外还有以下几点需要强调:
build
文件夹是第一次编译的时候自动生成的,里面有可下载到飞控板的xxx.Pixhawk
和xxx.bin
文件;之后编译只会编译修改过的部分,因而第一次编译会很慢,后面再编译就快了。如果将源码文件拷贝到其它路径下的时候,需要删除 build
文件夹,重新编译,不然原有的build
文件夹会找不到路径,或编译的还是拷贝前的源码。src
文件夹中: drivers
主要收录传感器驱动文件;examples
是一些demo文件;include,lib
是一些函数库文件,或者是其它模块调用的子功能模块文件;modules
主要是控制层相关文件,也是我们开发的主要对象;其余的子文夹涉及较少,后文若有需要再做详细说明;rcS
是系统的启动文件,里面有许多功能模块的启动指令;系统具体启动过程可参考下图(图源自阿木实验室):
图2-1 系统启动流程1
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200830233350677.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NzU0NjM5MA==,size_16,color_FFFFFF,t_70#pic_center)
图2-2 系统启动流程2
- 大多情况下程序修改在
src
文件夹下中进行, 然后在 cmake
文件夹下的xxx.cmake
文件中添加需要参与编译的文件夹,在 ROMFS
文件夹下的 rcS
文件中添加需要开机自启动的进程。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)