- 1、本文档共75页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PX4 Pixhawk程序研究笔记
编译环境建立
参考链接: HYPERLINK /dev/toolchain_installation_win /dev/toolchain_installation_win
1、首先确保电脑安装了Java运行环境。
2、下载并安装PX4 Toolchain,链接: HYPERLINK /firmware/downloads%23px4_arm_toolchain /firmware/downloads#px4_arm_toolchain
3、在开始菜单中选择:PX4 Toolchain - PX4 Software download来获取一个初始软件设置。它会在安装路径下(默认为C:\px4)下载如下文件夹:
px4
Firmware – PX4 firmware (for all modules), includes MAVLink
NuttX – The NuttX Real Time Operating System (RTOS)
libopencm3 – Optional: Open Source Cortex Mx library, used only in the bootloaders
Bootloader – Optional: Bootloaders, does normally not need to be touched
4、配置Eclipse,开始菜单 - 所有程序 – PX4 Toolchain - PX4 Eclipse
默认的workspace路径是刚好正确的:
New → Makefile Project with Existing Code:
选择Cross GCC,并指定文件夹位置为:“c:\px4\Firmware”。
打开右边的 “Make Target” 并点击 “New Make Target”:
你应当创建如下Targets:
archives?– builds the NuttX?OS
all?– builds the autopilot software (depends on archives)
distclean?– cleans everything, including the NuttX build
clean?– cleans only the application (autopilot) part
upload px4fmu-v1_default?– uploads to PX4FMU v1.x boards
upload px4fmu-v2_default?– uploads to PX4FMU v2.x boards
编译方法:
参考链接: HYPERLINK /dev/flash_px4fmu_win /dev/flash_px4fmu_win
1、双击distclean;
2、双击archives;
3、双击all;
4、双击upload px4fmu-v1_default(PX4)或upload px4fmu-v2_default(Pixhawk)来上传固件。
注意:只有在Nuttx更新或者改变时才需要进行”distclean“和”archives“。如果你只是编辑了PX4的程序,最便捷的办法是直接运行upload px4fmu-v1_default(PX4)或upload px4fmu-v2_default(Pixhawk)来编译并上传固件。
Eclipse使用技巧
1、选中一个函数,鼠标不动,0.5秒后会弹出一个悬浮框显示该函数的定义,双击该框,会出现滑动条,这时可以使用这个框看此函数的全部定义。以上操作可以由“F2”键代替。
2、选中一个函数,按“F3”直接跳转到???函数的定义处,而不是通过一个悬浮框显示。
板载软件结构
PX4自动驾驶仪软件可分为三大部分:实时操作系统、中间件和飞行控制栈。
1. HYPERLINK /dev/nuttx/start NuttX实时操作系统
提供POSIX-style的用户操作环境(如printf(), pthreads,/dev/ttyS1,open(),write(),poll(),ioctl()),进行底层的任务调度。
2. PX4中间件
PX4中间件运行于操作系统之上,提供设备驱动和一个微对象请求代理(micro object request broker,uORB)用于驾驶仪上运行的单个任务之间的异步通信。
3.PX4飞行控制栈
飞行控制栈可以使用PX4的控制软件栈,也可以使用其他的控制软件,如 HYPERLINK /firmware/apm APM:Plane、APM:Copter,但必须运行于PX4中间件之上。
PX4飞行控制栈
文档评论(0)