快捷导航

如何自己编译定制betaflight + 给F3硬件 BF321软件加上GPS功能

[复制链接]
发表于 2017-10-10 08:05:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册成为模友吧会员

x
本帖最后由 ezk 于 2017-10-10 09:13 编辑

编译环境设置
参考https://github.com/martinbudden/betaflight/blob/master/docs/development/Building%20in%20Windows.md
需要软件:Cygwin GNU ARM Toolchain

我自己测试用Cygwin 2.881 gcc-arm-none-eabi-6-2017-q2-update-win32 成功编译BF3.2.1
cygwin1.PNG
Cygwin下载,下载X8664 还是32 看你自己的电脑
在安装Cywin时候要选下面这些选项
    Devel/git
   Devel/git-completion (可选)
    Devel/make
    Devel/binutils
    Editors/vim
    Editors/vim-common(可选)
    Shells/mintty (默认选了)
cygwin2.PNG
默认安装到C:\cygwin64
C:\cygwin64\home\windows用户名 目录下就是相当于linuxhome目录 所有git下载过来和编译的文件都在里面


接下来下载安装 ARMtool chain
下载zip包就行

armdownload.PNG
下载完要添加windows 环境目录
添加一个path 里面填下面的东西 C:\gcc-arm-none-eabi-6-2017-q2-update-win32\bin是这个tool chain的解压目录里面的bin 文件夹
%PATH%;C:\gcc-arm-none-eabi-6-2017-q2-update-win32\bin
path.PNG
这样编译环境就设置完成了

接下来git下载源文件 和编译
点开桌面的 cygwin64terminal
整个BF的源码就下载到你的C:\cygwin64\home\windows用户名 目录下
接下来进入betaflight 目录 输入cdbetaflight
接下来输入makeTARGET=BETAFLIGHTF3 就开始编译了 里以BETAFLIGHTF3 作为目标硬件(target)来编译
makef3.PNG
所有的支持目标硬件都罗列在
C:\cygwin64\home\windows 用户名\betaflight\src\main\target
编译好的hex文件在
C:\cygwin64\home\ windows 用户名\betaflight\obj
如果编译出错基本上是英文tool chain 那环境变量设置不对

F3 BF3.2.1 瘦身或者添加GPS或者其他功能
我要GPS不是要回家功能,而是x9d支持数传GPS坐标的功能。这样在齐腰身的草上空随意飞行都不怕丢。飞控可以把实时的坐标传到遥控器上,这样省去大量找飞机的时间。飞机也再也没有丢过。重新编译的固件并不能带来任何性能上的提高。
接下来最大的问题来了 BF3.2.1 F3 MCU GPS支持完全给移除了因为Flash/ROM不够用了,好多空间给动态滤波用了。 STM32F303  256 Kb Flash/ROM 40Kb SRAMF303只有256KbROM。这点可以在C:\cygwin64\home\windows用户名\betaflight\src\main\target\common_fc_pre.h里面最后几行看到。

下面我一BETAFLIGHT F3 飞控为例 厦门的FPVmodel造的
我先试试强制添加GPS功能 找到
C:\cygwin64\home\windows 用户名\betaflight\src\main\target\BETAFLIGHTF3\target.h
随便找个地方添加这几行
#define GPS
#define USE_NAV
#define USE_UNCOMMON_MIXERS
最终结果编译出错ROM还是不够用
full_smallflash.PNG
接下来看看那些头文件怎么定义的,其实好多万年不用的功能都可以删掉,例如PWM LED灯,各种数传协议等等。但是我还是想保留软串口功能。有一台穿越图传支持类似smartaudio配置功能那要留给图传配置用。
preF1F3F7.PNG preF1F3F72.PNG preF1F3F73.PNG
上面这3个图是C:\cygwin64\home\windows 用户名\betaflight\src\main\target\common_fc_pre.h的头文件
targethfile.PNG
这张图是来自于C:\cygwin64\home\windows 用户名\betaflight\src\main\target\BETAFLIGHTF3\target.h , 可以把ESC 回传RPM这些功能去掉。
把各种协议都干掉终于ROM空间够了,也编译成功。
good.PNG
接下来直接去Chromehex文件手动刷进去就行

下面是编译时候2个头文件的配置
F3target.PNG pretarget1.PNG

这定制版本的固件我只有时间在家里试飞,GPS是保证能用的,硬件只支持betaflight f3这飞控。 这飞控和那些其他淘宝版本的硬件F3不太一样。

betaflight_3.2.1_BETAFLIGHTF3.zip (235.14 KB, 下载次数: 5, 售价: 10 牛币)
发表于 2017-10-10 08:24:08 | 显示全部楼层 来自苹果客户端来自苹果客户端
高手在民间。
发表于 2017-10-10 09:34:28 | 显示全部楼层
占坑学习,能否用eclipse for c++

点评

ezk
编辑可以 编译不清楚 应该也可以 我不知道如何设置  详情 回复 发表于 2017-10-10 12:04
发表于 2017-10-10 09:47:52 | 显示全部楼层
好帖子帮顶了
 楼主| 发表于 2017-10-10 12:04:53 | 显示全部楼层
jkd_405 发表于 2017-10-10 09:34
占坑学习,能否用eclipse for c++

编辑可以
编译不清楚 应该也可以 我不知道如何设置
 楼主| 发表于 2017-10-10 12:14:45 | 显示全部楼层
下一帖讲解X9D的 数传功能
BF的数传和 pix的数传
发表于 2017-10-10 16:42:24 | 显示全部楼层 来自安卓客户端来自安卓客户端
专业玩法果然6
发表于 2017-10-10 17:28:01 | 显示全部楼层
高手在民间{:1_9:}
发表于 2017-10-10 19:51:01 | 显示全部楼层 来自苹果客户端来自苹果客户端
专业!那套中午注释,心血
发表于 2017-12-12 12:11:59 | 显示全部楼层
这个编译完后,怎么将修改的内容更新到gitHub上去呢?
发表于 2018-4-26 10:43:10 | 显示全部楼层
好牛的技术贴,我也搞了一个OMNIBUS的
回复 支持 反对

使用道具 举报

发表于 2018-4-26 14:47:47 | 显示全部楼层
能加上成自动返航就更好了,用F4空间大些
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-26 15:36:17 | 显示全部楼层
=爱好者= 发表于 2018-4-26 14:47
能加上成自动返航就更好了,用F4空间大些

要导航 出门转inav
回复 支持 反对

使用道具 举报

发表于 2018-4-27 11:56:02 | 显示全部楼层
楼主,麻烦问下,我也按你的方式编辑了刷到飞控里,在 GPS 界面里有显示 8 颗星,但始终无法 3DFix,并且右边的地图也无法显示。请问还有什么需要注意的么?我只是想在OSD中可以显示飞行的速度相关信息,也可以查询坐标!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-4-28 04:01:51 | 显示全部楼层
jcofee 发表于 2018-4-27 11:56
楼主,麻烦问下,我也按你的方式编辑了刷到飞控里,在 GPS 界面里有显示 8 颗星,但始终无法 3DFix,并且右 ...

没有用过地图 我只需要坐标
3Dfix 需要不少时间 同样用m8n 在pix一般30秒内 bf有的时候一颗电池飞完都没fix
OSD显示速度我没试过 应该没问题
尝试把那些不要的telemetry的define全部注解掉 留下越多define越好
现在github 最新版的又多了好多这类宏定义
回复 支持 反对

使用道具 举报

发表于 2018-4-28 07:22:09 | 显示全部楼层 来自微站
好技术支持
回复 支持 反对

使用道具 举报

学习了,好
回复 支持 反对

使用道具 举报

发表于 昨天 19:25 | 显示全部楼层
这源代码帖子谁有
回复 支持 反对

使用道具 举报

本版积分规则

模友之吧 中国唯一免费送模型网站

反馈建议:2376808768@qq.com

合作伙伴

扫码关注微信公众平台
本站由 承德红璐科技 提供技术支持  Powered by Discuz!©2011-2015 模友之吧 | 冀ICP备13020518号©
快速回复 返回顶部 返回列表