马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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 Cygwin下载,下载X8664 还是32 看你自己的电脑 在安装Cywin时候要选下面这些选项 Devel/git Devel/git-completion (可选) Devel/make Devel/binutils Editors/vim Editors/vim-common(可选) Shells/mintty (默认选了) 默认安装到C:\cygwin64 C:\cygwin64\home\windows用户名 目录下就是相当于linux的home目录 所有git下载过来和编译的文件都在里面
接下来下载安装 ARMtool chain 下载zip包就行
下载完要添加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 这样编译环境就设置完成了
接下来git下载源文件 和编译
点开桌面的 cygwin64terminal 整个BF的源码就下载到你的C:\cygwin64\home\windows用户名 目录下 接下来进入betaflight 目录 输入cdbetaflight 接下来输入makeTARGET=BETAFLIGHTF3 就开始编译了 里以BETAFLIGHTF3 作为目标硬件(target)来编译 所有的支持目标硬件都罗列在 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 SRAM,F303只有256Kb的ROM。这点可以在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还是不够用 接下来看看那些头文件怎么定义的,其实好多万年不用的功能都可以删掉,例如PWM, LED灯,各种数传协议等等。但是我还是想保留软串口功能。有一台穿越图传支持类似smartaudio配置功能那要留给图传配置用。 上面这3个图是C:\cygwin64\home\windows 用户名\betaflight\src\main\target\common_fc_pre.h的头文件 这张图是来自于C:\cygwin64\home\windows 用户名\betaflight\src\main\target\BETAFLIGHTF3\target.h , 可以把ESC 回传RPM这些功能去掉。
把各种协议都干掉终于ROM空间够了,也编译成功。 接下来直接去Chrome把hex文件手动刷进去就行
下面是编译时候2个头文件的配置
这定制版本的固件我只有时间在家里试飞,GPS是保证能用的,硬件只支持betaflight f3这飞控。 这飞控和那些其他淘宝版本的硬件F3不太一样。
|