完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
环境:
编译主机:Ubuntu 20.0.4 ( 官方推荐18.0.4)建议 尽量以官网文档为主:https://dev.px4.io/master/zh/步骤 1、下载PX4源码 新建一个pixhawk/source目录,cd进去git源码 cd pixhawk/sourcegit clone https://github.com/PX4/Firmware.git 下载完成后,该目录下会出现一个Firmware目录 2、更新子模块 到Firmware目录中更新子模块 cd Firmwaregit submodule update --init --recursive 中途可能因为网络原因卡住,直接ctrl+z退出,删除卡住的子目录,重新执行更新命令,反复几次直到成功,大概20分钟 3、修改权限 PX4官方警告:“永远不要使用sudo来修复权限问题,否则会带来更多的权限问题,需要重装系统来解决” 所以给普通用户一点权限来解决编译时使用sudo可能带来的危机 sudo usermod -a -G dialout $USER 4、下载依赖库 运行源码中的脚本来安装依赖 bash ./Firmware/Tools/setup/ubuntu.sh 运行完往上翻一翻,有没有失败的红色段,失败就重复操作几次,直到全部成功,一般是网络问题导致的 没问题则按照提示重启 5、卸载模式管理器 sudo apt-get remove modemmanager Ubuntu配备了一系列代理管理,这会严重干扰相关的串口(或u***串口),最明显的表现就是硬件连接到PC机后,无法读出硬件,无法烧录上传固件。 6.编译仿真工具 编译jmavsim make px4_sitl jmavsim 编译 gazebo,同理 make px4_sitl gazebo 编译成功,自动启动gazebo软件,画面里有一个小飞机 在命令行输入help可查看支持的命令 7、编译源码 在Firmware下编译PX4源码 输入make p,按下table键,会出现一系列可编译的px4固件,根据自己需求编译 这里选择v5 make px4_fmu-v5_default 中途会遇到很多缺少的文件,一般是git不完整,删除文件夹重新更新子模块即可,实在不行去git官网复制一下找不到的文件 编译成功 下载固件 make px4_fmu-v5_default upload 【BUG1】 但是发现有时候ninja会报错: ninja not work to do 这个时候我们只需在/Firmware 文件夹下执行:make clean 然后重新编译即可… 【BUG2】 waiting for the bootloader…… 决办法是去QGC地面站下载我们的.px4文件到pixhawk中,QGC会帮我们加载bootloader 8.修改源码重新编译验证 现在我们重新编译一下官方给的例子 在/src/example中已经编写好了 我们只需要打开/Firmware/boards/px4/fmu-v5/default.cmake 去掉px4_simple_app前的#,将此模块编译到固件中 打开地面站的MAVLink控制台,键入help,发现px4_simple_app已经被编译好了 运行一下 验证成功! |
|
|
|
只有小组成员才能发言,加入小组>>
3277 浏览 9 评论
2950 浏览 16 评论
3454 浏览 1 评论
8983 浏览 16 评论
4044 浏览 18 评论
1094浏览 3评论
567浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
564浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2298浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1855浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 01:46 , Processed in 1.035540 second(s), Total 50, Slave 41 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号