PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky
来源:互联网 发布:著名 淘宝店主 90后 编辑:程序博客网 时间:2024/06/07 21:40
前提
- 用UART1连接PX4FMU和计算机
- 安装PX4Toolchain
- 注册Github账户
Step 1: 准备源码文件
为了方便管理代码,可以使用Git版本控制系统,在 GitHub上 fork和更新源码。
不注册GitHub的话,可以在PX4 console中输入下面的命令:
- git clone https://github.com/PX4/Firmware
更新the git submodules,在 PX4 console上输入:
- cd Firmware
- git submodule init
- git submodule update
文件准本完成,编译操作系统,输入:
- make archives
当submodules或者NuttX 配置改变,重新编译。
在Firmware/src/examples/
新建目录px4_simple_app
,在目录中新建文件module.mk
并添加如下内容:
- MODULE_COMMAND = px4_simple_app
- SRCS = px4_simple_app.c
Step 2: 最小程序
在px4_simple_app
目录下创建px4_simple_app.c
文件。
遵循PX4 CodingStyle 编辑如下代码:
- /**
- * @file px4_simple_app.c
- * Minimal application example for PX4 autopilot.
- */
- #include <nuttx/config.h>
- #include <stdio.h>
- #include <errno.h>
- __EXPORT int px4_simple_app_main(int argc, char *argv[]);
- int px4_simple_app_main(int argc, char *argv[])
- {
- printf("Hello Sky!\n");
- return OK;
- }
Step 3: 在NuttShell中注册应用并build
完成了应用并可以运行,但是没有在NuttShell 命令中注册。为将应用编译到固件当中,将其填加到需要build的模块中。该配置位于:
Firmware/makefiles/nuttx/config_px4fmu-v2_default.mk
在上面的文件中的任意位置,为应用创建一行:
- MODULES += examples/px4_simple_app
然后编译,并清除已经build的应用:
- make clean
- make px4fmu-v2_default -j4
如果没有注册新的app,只需要对新增的builds执行下述命令:
- make px4fmu-v2_default -j4
Step 4:加载应用并测试
使能uploader 然后重置电路板:
- make upload px4fmu-v2_default -j4
在重置电路板之前显示如下一系列信息:
- Generating /Users/user/src/Firmware/Images/px4fmu.px4
- Loaded firmware for 5,0, waiting for the bootloader...
电路板充值并上载后,打印:
- Found board 5,0 on /dev/tty.usbmodem1
- erase...
- program...
- verify...
- done, rebooting.
运行px4 Toolchain 下的TeraTerm,运行File/New connection,选择飞控所在的串口,点击OK。按回车,出现nsh>.
在NSH连接的情况下,切换到shell.如果没有看到输出,敲击Enter键,会得到NSH提示;
或者也可以,使用QGroundControl进行NuttShell (NSH),使用Mini-USB连接Pixhawk,按照下图进行。点击QGroundControl上的终端输出,并敲击Enter键。
- nsh>
输入 help,并
敲击Enter键:
- nsh> help
- help usage: help [-v] [<cmd>]
- [ df kill mkfifo ps sleep
- ? echo losetup mkrd pwd test
- cat exec ls mh rm umount
- cd exit mb mount rmdir unset
- cp free mkdir mv set usleep
- dd help mkfatfs mw sh xd
- Builtin Apps:
- reboot
- perf
- top
- ..
- px4_simple_app
- ..
- sercon
- serdis
px4_simple_app
现在成为可用的指令。输入px4_simple_app并
敲击Enter键:
- nsh> px4_simple_app
- Hello Sky!
版权声明:本文为博主[翻译]文章,未经博主允许可以转载,注明博客出处:[http://blog.csdn.net/lkk05]
- PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky(续)
- PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky
- PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky
- PX4(PIXHAWK)源码开发人员文档(三)——进程间通讯的开发者指南
- PX4(PIXHAWK)源码开发人员文档(三)——进程间通讯的开发者指南
- PIXHAWK源码分析之二—Hello Sky(PIXHAWK读取姿态数据并且显示)
- PX4源码开发人员文档(一)——软件架构
- PX4源码开发人员文档(一)——软件架构
- PX4源码开发人员文档(四)——创建后台程序(应用)
- PX4源码开发人员文档(四)——创建后台程序(应用)
- PX4/Pixhawk---快速成为开发者(Windows)
- PX4/Pixhawk---快速成为开发者(Windows)
- PX4/Pixhawk---快速成为开发者(Windows)
- 为hixhawk/px4创建一个应用程序--Hello Sky
- px4源码编译(Ubuntu)
- # Pixhawk开发(文档小结)
- PX4源码学习二--PX4环境搭建
- Pixhawk(PX4)之驱动详解篇(0)_前期准备(招贤令)
- Vector的用法
- KD树详解及KD树最近邻算法
- cf Star sky
- Hypersizer Pro 5.3 (复合材料分析与结构优化)\
- 单调队列
- PX4(PIXHAWK)源码开发人员文档(二)——Hello Sky
- nao机器人之void ALMotionProxy::moveTo()
- 解决Java连接MongoDB数据库"Authentication failed"问题
- Java 并发编程:核心理论
- image object detection
- JavaScript 使用
- 红黑树讲解(逻辑思路透彻清晰)
- linux常用命令
- 重绘和回流(重排)