软件架构
蛋炒饭1989
多传感器数据融合 组合导航与定位
展开
-
研究基于PX4平台的Ardupilot代码工程的makefile结构
最近有空,于是想花时间好好研究下ardupilot的软件架构,经过对ardupilot一段时间的熟悉和使用后,对其软件架构已经有了一定的理解,但还称不上特别完备,所以想把每一部分的细节都弄清楚。makefile定义了一个软件工程的编译规则,以便于其实现自动化编译,这也就是为什么我们在命令行中输入指令:make px4-v2就可以自动完成整个工程的编译。 看似简单的一条命令,其中makefile完成原创 2017-02-06 11:18:05 · 1117 阅读 · 0 评论 -
研究基于PX4平台的Ardupilot代码工程的makefile结构(2)
在px4_targets.mk中,有“px4-v2”的规则:px4-v2: $(BUILDROOT)/make.flags CHECK_MODULES $(PX4_ROOT)/Archives/px4fmu-v2.export $(SKETCHCPP) module_mk px4-io-v2 $(RULEHDR) $(v) rm -f $(PX4_ROOT)/makefil原创 2017-02-07 16:03:28 · 517 阅读 · 0 评论 -
Ardupilot编译和运行libraries下面的example例程代码
在Ardupilot的通用库文件夹libraries中包含了工程代码的通用库文件,而在这些子文件夹中有的还提供了example代码,方便我们更加快速地理解一个代码的功能和逻辑。但是怎样让这些代码编译并在板子上运行却是困扰新手的一个问题。其实方法很简单,直接在console里面跳转到example代码所在的文件夹并且输入常规的make指令,例如make px4-v2就可以编译实例代码了。想看运行结果就原创 2017-03-01 12:06:58 · 854 阅读 · 1 评论 -
Px4固件升级流程。
PX4飞控的固件升级可以简单的分为6步,具体如下: 1. 重启飞控 重启飞控,APP发送指令mavlink飞控重启指令, 等待0.5s后进入下一步; 2. 识别bootloader APP发送“0x21 0x20”,等待飞控反馈“0x12 0x10”,然后进入下一步 3. 擦除原有程序 发送erase指令“0x23 0x20”,等待擦除完成,擦除完成后飞控会返回“0x12 0x1原创 2017-02-22 14:10:03 · 4265 阅读 · 1 评论 -
使用px4编译代码时出现“no module names site”错误的解决办法
这个错误出现的概率很少,PX4的编译工具toolchain是集成了python2.7的,出现这个错误的原因是用户在安装别的程序是也装了python然后又在某个时间把那个程序卸载了,结果环境变量里的PYTHONPATH和PYTHONHOME依然存在,而其所指向的路径却已经不存在了,就会误导编译器在调用python工具时在错误的路径中去寻找module。我们需要做的就是把这两个环境变量删掉即可。原创 2017-02-14 09:18:26 · 482 阅读 · 0 评论