BetaFlight飞控AOCODARC-F7MINI固件编译

Posted lida2003

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BetaFlight飞控AOCODARC-F7MINI固件编译相关的知识,希望对你有一定的参考价值。

BetaFlight飞控AOCODARC-F7MINI固件编译

BetaFlight是一款非常出色的飞控航模开源软件,而且是基于GPL V3协议,所以相应的代码修改,必须开源出来。与PX4的BSD协议不一样,通常商业角度更多倾向于BSD协议。

本次编译主要是针对AOCODARC-F7MINI飞控板,采用最新的代码分支进行编译,以便进行功能验证。

1. 编译目标(AOCODARC-F7MINI)

  • 控制器:STM32H722RET6
  • 陀螺仪:MPU6500
  • 气压计:BMP280
  • 黑匣子:16MB
  • PWM输出:8CH
  • 通用串口:5CH
  • 输入电源:3-6SLipo
  • 输出电源:5V/2.5A, 9V/3A
  • 重量:6g
  • 外形尺寸:29mm x 29mm
  • 安装孔位:20mm x 20mm

2. 编译步骤

Step 1 软件配置环境准备

这里基于Ubuntu准备相关的软件配置环境。

$ sudo apt-get update
$ sudo apt-get install git
$ sudo apt-get install gitk git-gui
$ uname -a
Linux daniel-ThinkPad-SL410 5.15.0-58-generic #64~20.04.1-Ubuntu SMP Fri Jan 6 16:42:31 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.5 LTS
Release:        20.04
Codename:       focal

Step 2 获取开源代码

$ git clone git@github.com:betaflight/betaflight.git
Cloning into 'betaflight'...
remote: Enumerating objects: 199408, done.
remote: Counting objects: 100% (59/59), done.
remote: Compressing objects: 100% (47/47), done.
remote: Total 199408 (delta 13), reused 52 (delta 12), pack-reused 199349
Receiving objects: 100% (199408/199408), 379.34 MiB | 530.00 KiB/s, done.
Resolving deltas: 100% (138812/138812), done.
Updating files: 100% (3662/3662), done.

$ cd betaflight

$ git branch -a //当前是master主干分支
* master
  remotes/origin/3.4.x-maintenance
  remotes/origin/3.5.x-akk_vtx_fix
  remotes/origin/3.5.x-maintenance
  remotes/origin/4.0.x-maintenance
  remotes/origin/4.1-maintenance
  remotes/origin/4.2-maintenance
  remotes/origin/4.3-maintenance
  remotes/origin/HEAD -> origin/master
  remotes/origin/akk_vtx_fix
  remotes/origin/at32-development
  remotes/origin/broken-usb-rescue
  remotes/origin/fix_pull_request_template
  remotes/origin/fix_timer_channel_count
  remotes/origin/master
  remotes/origin/v3.2.x-maintenance
  remotes/origin/v3.3.x-akk_vtx_fix
  remotes/origin/v3.3.x-maintenance
  remotes/origin/v3.4.x-akk_vtx_fix

Step 3 构建命令介绍

在betaflight目录下,直接敲make help,脚本会显示命令所支持的参数。

这个还是非常C的工程,应为他采用了Makefile。不过作为用户就不要去研究里面的东东了。而且也没必要耗费大量的时间去构建所有目标板的固件,我们只需要确认并编译自己硬件的固件即可。

$ make help

Makefile for the betaflight firmware

Usage:
        make [V=<verbosity>] [TARGET=<target>] [OPTIONS="<options>"]
Or:
        make <target> [V=<verbosity>] [OPTIONS="<options>"]

Valid TARGET values are: SITL STM32F405 STM32F411 STM32F745 STM32F7X2 STM32G47X STM32H723 STM32H730 STM32H743 STM32H750

V                 : Set verbosity level based on the V= parameter
                    V=0 Low
                    V=1 High
compile_file takes two arguments: (1) optimisation description string and (2) optimisation compiler flag
all               : Build all currently built targets
all_all : Build all targets (including legacy / unsupported)
clean             : clean up temporary / machine-generated files
test_clean        : clean up temporary / machine-generated files (tests)
<TARGET>_clean    : clean up one specific target (alias for above)
clean_all         : clean all valid targets
<TARGET>_flash    : build and flash a target
tty_flash         : flash firmware (.hex) onto flight controller via a serial port
dfu_flash         : flash firmware (.bin) onto flight controller via a DFU mode
st-flash          : flash firmware (.bin) onto flight controller
<TARGET>_zip    : build target and zip it (useful for posting to GitHub)
<TARGET>_rev    : build target and add revision to filename
unbrick           : unbrick flight controller
cppcheck          : run static analysis on C source code
version           : print firmware version
help              : print this help message and exit
targets           : print a list of all valid target platforms (for consumption by scripts)
target-mcu        : print the MCU type of the target
targets-by-mcu    : make all targets that have a MCU_TYPE mcu
targets-f4        : make all F4 targets
targets-f7        : make all F7 targets
test              : run the Betaflight test suite
junittest         : run the Betaflight test suite, producing Junit XML result files.
test-representative: run a representative subset of the Betaflight test suite (i.e. run all tests, but run each expanded test only for one target)
test-all: run the Betaflight test suite including all per-target expanded tests
test_help         : print the help message for the test suite (including a list of the available tests)
test_versions         : print the compiler versions used for the test suite
test_%            : run test 'test_%' from the test suite
arm_sdk_install   : Install Arm SDK
arm_sdk_clean     : Uninstall Arm SDK

Step 4 构建命令准备

编译之前首先需要安装编译工具。各地的网络情况不一样,所以下载会遇到失败,请耐性尝试。

$ make arm_sdk_install
mkdir -p tools
mkdir -p downloads
Warning: Illegal date format for -z, --time-cond (and not a file name).
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   252  100   252    0     0    205      0  0:00:01  0:00:01 --:--:--   205
 40  149M   40 60.4M    0     0  60132      0  0:43:32  0:17:34  0:25:58     0raspistill -o a.jpg -t 1000
curl: (56) OpenSSL SSL_read: Connection timed out, errno 110
make: *** [make/tools.mk:67: downloads/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2] Error 56
$ rm downloads/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2
$ make arm_sdk_install
Warning: Illegal date format for -z, --time-cond (and not a file name). 
Warning: Disabling time condition. See curl_getdate(3) for valid date syntax.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   252  100   252    0     0     43      0  0:00:05  0:00:05 --:--:--    63
100  149M  100  149M    0     0   215k      0  0:11:51  0:11:51 --:--:--  298k

注:有的时候会出现本地编译器版本太低的情况,需要执行上面的arm_sdk_install进行工具升级安装。

$ make targets
make/tools.mk:270: *** **ERROR** your arm-none-eabi-gcc is '10.2.1', but '10.3.1' is expected. Override with 'GCC_REQUIRED_VERSION' in make/local.mk or run 'make arm_sdk_install' to install the right version automatically in the tools folder of this repo.  Stop.

Step 5 厂家目标板查询

当前手头硬件板子是否在BetaFlight的支持列表中,查询方式如下:

$ make targets
Valid targets:       SITL STM32F405 STM32F411 STM32F745 STM32F7X2 STM32G47X STM32H723 STM32H730 STM32H743 STM32H750
Built targets:       SITL STM32F405 STM32F411 STM32F745 STM32F7X2 STM32G47X STM32H723 STM32H730 STM32H743 STM32H750
Default target:      STM32F405

鉴于产品规格:“控制器:STM32H722RET6”,所以在编译时需要选择“STM32F7X2”

Step 6 目标固件编译

BetaFlight在飞控代码上是基于MCU选型来区分目标代码,而相应的硬件配置通过unified-targets进行配置。

注:这是一种系统角度的软件代码设计思想,是非常好的设计思路,值得学习和借鉴!

$ make STM32F7X2
Building STM32F7X2
make[1]: Entering directory '/home/daniel/Work/betaflight'
make -j ./obj/betaflight_4.4.0_STM32F7X2.hex
make[2]: Entering directory '/home/daniel/Work/betaflight'
rm -f ./obj/main/STM32F7X2/.efhash_*
EF HASH -> ./obj/main/STM32F7X2/.efhash_d41d8cd98f00b204e9800998ecf8427e
%% startup_stm32f722xx.s
%% (optimised) ./src/main/startup/system_stm32f7xx.c
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu.c
%% (optimised) ./src/main/drivers/adc_stm32f7xx.c
%% (optimised) ./src/main/drivers/audio_stm32f7xx.c
%% (speed optimised) ./src/main/drivers/bus_i2c_hal.c
%% (size optimised) ./src/main/drivers/bus_i2c_hal_init.c
%% (size optimised) ./src/main/drivers/bus_i2c_timing.c
%% (optimised) ./src/main/drivers/dma_stm32f7xx.c
%% (size optimised) ./src/main/drivers/light_ws2811strip_hal.c
%% (size optimised) ./src/main/drivers/transponder_ir_io_hal.c
%% (speed optimised) ./src/main/drivers/bus_spi_ll.c
%% (optimised) ./src/main/drivers/persistent.c
%% (optimised) ./src/main/drivers/dshot_bitbang.c
%% (optimised) ./src/main/drivers/dshot_bitbang_decode.c
%% (optimised) ./src/main/drivers/dshot_bitbang_ll.c
%% (speed optimised) ./src/main/drivers/pwm_output_dshot_hal.c
%% (speed optimised) ./src/main/drivers/pwm_output_dshot_shared.c
%% (optimised) ./src/main/drivers/timer_stm32f7xx.c
%% (optimised) ./src/main/drivers/timer_hal.c
%% (optimised) ./src/main/drivers/system_stm32f7xx.c
%% (optimised) ./src/main/drivers/serial_uart_hal.c
%% (optimised) ./src/main/drivers/serial_uart_stm32f7xx.c
%% (optimised) ./src/main/drivers/sdio_f7xx.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso_init.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20689.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6050.c
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso.c
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu3050.c
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_l3gd20.c
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20649.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_fake.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm426xx.c
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi270.c
%% (optimised) ./src/main/drivers/accgyro/gyro_sync.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6500.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu9250.c
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi160.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6000.c
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6500.c
%% (optimised) lib/main/BoschSensortec/BMI270-Sensor-API/bmi270_maximum_fifo.c
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp085.c
%% (size optimised) ./src/main/drivers/barometer/barometer_ms5611.c
%% (size optimised) ./src/main/drivers/barometer/barometer_qmp6988.c
%% (size optimised) ./src/main/drivers/barometer/barometer_2smpb_02b.c
%% (size optimised) ./src/main/drivers/barometer/barometer_lps.c
%% (optimised) ./src/main/drivers/barometer/barometer_dps310.c
%% (size optimised) ./src/main/drivers/barometer/barometer_fake.c
%% (optimised) ./src/main/drivers/barometer/barometer_bmp388.c
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp280.c
%% (optimised) ./src/main/drivers/compass/compass_mpu925x_ak8963.c
%% (size optimised) ./src/main/drivers/compass/compass_lis3mdl.c
%% (size optimised) ./src/main/drivers/compass/compass_ak8963.c
%% (size optimised) ./src/main/drivers/compass/compass_ak8975.c
%% (size optimised) ./src/main/drivers/compass/compass_hmc5883l.c
%% (size optimised) ./src/main/drivers/compass/compass_fake.c
%% (size optimised) ./src/main/drivers/compass/compass_qmc5883l.c
%% (speed optimised) ./src/main/drivers/max7456.c
%% (size optimised) ./src/main/drivers/vtx_rtc6705.c
%% (size optimised) ./src/main/drivers/vtx_rtc6705_soft_spi.c
%% (optimised) ./src/main/rx/cc2500_common.c
%% (optimised) ./src/main/rx/cc2500_frsky_shared.c
%% (optimised) ./src/main/rx/cc2500_frsky_d.c
%% (optimised) ./src/main/rx/cc2500_frsky_x.c
%% (optimised) ./src/main/rx/cc2500_sfhss.c
%% (optimised) ./src/main/rx/cc2500_redpine.c
%% (optimised) ./src/main/rx/a7105_flysky.c
%% (optimised) ./src/main/rx/cyrf6936_spektrum.c
%% (optimised) ./src/main/drivers/rx/expresslrs_driver.c
%% (optimised) ./src/main/rx/expresslrs.c
%% (optimised) ./src/main/rx/expresslrs_common.c
%% (optimised) ./src/main/rx/expresslrs_telemetry.c
%% (optimised) ./src/main/drivers/rx/rx_cc2500.c
%% (optimised) ./src/main/drivers/rx/rx_a7105.c
%% (optimised) ./src/main/drivers/rx/rx_cyrf6936.c
%% (optimised) ./src/main/drivers/rx/rx_sx127x.c
%% (optimised) ./src/main/drivers/rx/rx_sx1280.c
%% arm_bitreversal2.S
%% (optimised) ./src/main/drivers/flash.c
%% (optimised) ./src/main/drivers/flash_m25p16.c
%% (optimised) ./src/main/drivers/flash_w25n01g.c
%% (optimised) ./src/main/drivers/flash_w25q128fv.c
%% (optimised) ./src/main/drivers/flash_w25m.c
%% (optimised) ./src/main/io/flashfs.c
%% (optimised) ./src/main/drivers/usb_msc_common.c
%% (optimised) ./src/main/drivers/usb_msc_f7xx.c
%% (optimised) ./src/main/msc/usbd_storage.c
%% (optimised) ./src/main/msc/usbd_storage_sdio.c
%% (optimised) ./src/main/msc/usbd_storage_sd_spi.c
%% (optimised) ./src/main/msc/usbd_storage_emfat.c
%% (optimised) ./src/main/msc/emfat.c
%% (optimised) ./src/main/msc/emfat_file.c
%% (optimised) ./src/main/build/build_config.c
%% (optimised) ./src/main/build/debug.c
%% (optimised) ./src/main/build/debug_pin.c
%% (optimised) ./src/main/build/version.c
%% (optimised) ./src/main/target/STM32F7X2/target.c
%% (size optimised) ./src/main/main.c
%% (optimised) ./src/main/pg/rx_spi_cc2500.c
%% (optimised) ./src/main/pg/motor.c
%% (optimised) ./src/main/pg/rcdevice.c
%% (optimised) ./src/main/pg/pg.c
%% (optimised) ./src/main/pg/pin_pull_up_down.c
%% (optimised) ./src/main/pg/bus_i2c.c
%% (optimised) ./src/main/pg/bus_spi.c
%% (optimised) ./src/main/pg/vcd.c
%% (optimised) ./src/main/pg/dyn_notch.c
%% (optimised) ./src/main/pg/pinio.c
%% (optimised) ./src/main/pg/beeper_dev.c
%% (optimised) ./src/main/pg/rpm_filter.c
%% (optimised) ./src/main/pg/vtx_io.c
%% (optimised) ./src/main/pg/board.c
%% (optimised) ./src/main/pg/rx.c
%% (optimised) ./src/main/pg/scheduler.c
%% (optimised) ./src/main/pg/adc.c
%% (optimised) ./src/main/pg/dashboard.c
%% (optimised) ./src/main/pg/displayport_profiles.c
%% (optimised) ./src/main/pg/rx_spi.c
%% (optimised) ./src/main/pg/timerup.c
%% (optimised) ./src/main/pg/gps.c
%% (optimised) ./src/main/pg/vtx_table.c
%% (optimised) ./src/main/pg/gps_rescue.c
%% (optimised) ./src/main/pg/flash.c
%% (optimised) ./src/main/pg/rx_pwm.c
%% (optimised) ./src/main/pg/mco.c
%% (optimised) ./src/main/pg/beeper.c
%% (optimised) ./src/main/pg/usb.c
%% (optimised) ./src/main/pg/bus_quadspi.c
%% (optimised) ./src/main/pg/timerio.c
%% (optimised) ./src/main/pg/max7456.c
%% (optimised) ./src/main/pg/stats.c
%% (optimised) ./src/main/pg/rx_spi_expresslrs.c
%% (optimised) ./src/main/pg/piniobox.c
%% (optimised) ./src/main/pg/sdcard.c
%% (optimised) ./src/main/pg/serial_uart.c
%% (optimised) ./src/main/pg/gyrodev.c
%% (optimised) ./src/main/pg/msp.c
%% (optimised) ./src/main/pg/sdio.c
%% (speed optimised) ./src/main/common/maths.c
%% (optimised) ./src/main/common/bitarray.c
%% (optimised) ./src/main/common/strtol.c
%% (optimised) ./src/main/common/crc.c
%% (optimised) ./src/main/common/huffman.c
%% (optimised) ./src/main/common/uvarint.c
%% (optimised) ./src/main/common/time.c
%% (speed optimised) ./src/main/common/sdft.c
%% (speed optimised) ./src/main/common/typeconversion.c
%% (optimised) ./src/main/common/string_light.c
%% (optimised) ./src/main/common/huffman_table.c
%% (speed optimised) ./src/main/common/encoding.c
%% (optimised) ./src/main/common/printf_serial.c
%% (speed optimised) ./src/main/common/filter.c
%% (optimised) ./src/main/common/sensor_alignment.c
%% (optimised) ./src/main/common/explog_approx.c
%% (optimised) ./src/main/common/gps_conversion.c
%% (optimised) ./src/main/common/streambuf.c
%% (optimised) ./src/main/common/printf.c
%% (optimised) ./src/main/common/colorconversion.c
%% (size optimised) ./src/main/config/config_eeprom.c
%% (size optimised) ./src/main/config/simplified_tuning.c
%% (optimised) ./src/main/config/config.c
%% (size optimised) ./src/main/config/config_streamer.c
%% (size optimised) ./src/main/config/feature.c
%% (size optimised) ./src/main/cli/cli.c
%% (size optimised) ./src/main/cli/settings.c
%% (speed optimised) ./src/main/drivers/adc.c
%% (optimised) ./src/main/drivers/dshot.c
%% (optimised) ./src/main/drivers/dshot_dpwm.c
%% (optimised) ./src/main/drivers/dshot_command.c
%% (speed optimised) ./src/main/drivers/buf_writer.c
%% (speed optimised) ./src/main/drivers/bus.c
%% (size optimised) ./src/main/drivers/bus_i2c_config.c
%% (optimised) ./src/main/drivers/bus_i2c_busdev.c
%% (optimised) ./src/main/drivers/bus_i2c_soft.c
%% (speed optimised) ./src/main/drivers/bus_quadspi.c
%% (speed optimised) ./src/main/drivers/bus_spi.c
%% (size optimised) ./src/main/drivers/bus_spi_config.c
%% (size optimised) ./src/main/drivers/bus_spi_pinconfig.c
%% (optimised) ./src/main/drivers/buttons.c
%% (optimised) ./src/main/drivers/display.c
%% (optimised) ./src/main/drivers/display_canvas.c
%% (optimised) ./src/main/drivers/dma_common.c
%% (optimised) ./src/main/drivers/dma_reqmap.c
%% (speed optimised) ./src/main/drivers/exti.c
%% (speed optimised) ./src/main/drivers/io.c
%% (optimised) ./src/main/drivers/light_led.c
%% (optimised) ./src/main/drivers/mco.c
%% (optimised) ./src/main/drivers/motor.c
%% (optimised) ./src/main/drivers/pinio.c
%% (optimised) ./src/main/drivers/pin_pull_up_down.c
%% (optimised) ./src/main/drivers/resource.c
%% (speed optimised) ./src/main/drivers/rcc.c
%% (speed optimised) ./src/main/drivers/serial.c
%% (size optimised) ./src/main/drivers/serial_pinconfig.c
%% (speed optimised) ./src/main/drivers/serial_uart.c
%% (size optimised) ./src/main/drivers/serial_uart_pinconfig.c
%% (optimised) ./src/main/drivers/sound_beeper.c
%% (optimised) ./src/main/drivers/stack_check.c
%% (speed optimised) ./src/main/drivers/system.c
%% (optimised) ./src/main/drivers/timer_common.c
%% (optimised) ./src/main/drivers/transponder_ir_arcitimer.c
%% (optimised) ./src/main/drivers/transponder_ir_ilap.c
%% (optimised) ./src/main/drivers/transponder_ir_erlt.c
%% (size optimised) ./src/main/fc/board_info.c
%% (optimised) ./src/main/fc/dispatch.c
%% (optimised) ./src/main/fc/hardfaults.c
%% (speed optimised) ./src/main/fc/tasks.c
%% (speed optimised) ./src/main/fc/runtime_config.c
%% (optimised) ./src/main/fc/stats.c
%% (optimised) ./src/main/io/beeper.c
%% (optimised) ./src/main/io/piniobox.c
%% (size optimised) ./src/main/io/serial.c
%% (optimised) ./src/main/io/smartaudio_protocol.c
%% (optimised) ./src/main/io/statusindicator.c
%% (optimised) ./src/main/io/tramp_protocol.c
%% (size optimised) ./src/main/io/transponder_ir.c
%% (size optimised) ./src/main/io/usb_cdc_hid.c
%% (optimised) ./src/main/io/usb_msc.c
%% (optimised) ./src/main/msp/msp.c
%% (optimised) ./src/main/msp/msp_box.c
%% (size optimised) ./src/main/msp/msp_serial.c
%% (speed optimised) ./src/main/scheduler/scheduler.c
%% (optimised) ./src/main/sensors/adcinternal.c
%% (optimised) ./src/main/sensors/battery.c
%% (optimised) ./src/main/sensors/current.c
%% (optimised) ./src/main/sensors/voltage.c
%% (optimised) ./src/main/target/config_helper.c
%% (size optimised) ./src/main/fc/init.c
%% (optimised) ./src/main/fc/controlrate_profile.c
%% (optimised) ./src/main/drivers/camera_control.c
%% (optimised) ./src/main/drivers/pwm_esc_detect.c
%% (speed optimised) ./src/main/drivers/pwm_output.c
%% (optimised) ./src/main/drivers/rx/rx_spi.c
%% (optimised) ./src/main/drivers/rx/rx_xn297.c
%% (optimised) ./src/main/drivers/rx/rx_pwm.c
%% (optimised) ./src/main/drivers/serial_softserial.c
%% (speed optimised) ./src/main/fc/core.c
%% (speed optimised) ./src/main/fc/rc.c
%% (optimised) ./src/main/fc/rc_adjustments.c
%% (speed optimised) ./src/main/fc/rc_controls.c
%% (optimised) ./src/main/fc/rc_modes.c
%% (optimised) ./src/main/flight/position.c
%% (optimised) ./src/main/flight/failsafe.c
%% (optimised) ./src/main/flight/gps_rescue.c
%% (speed optimised) ./src/main/flight/dyn_notch_filter.c
%% (speed optimised) ./src/main/flight/imu.c
%% (optimised) ./src/main/flight/feedforward.c
%% (speed optimised) ./src/main/flight/mixer.c
%% (size optimised) ./src/main/flight/mixer_init.c
%% (optimised) ./src/main/flight/mixer_tricopter.c
%% (speed optimised) ./src/main/flight/pid.c
%% (size optimised) ./src/main/flight/pid_init.c
%% (speed optimised) ./src/main/flight/rpm_filter.c
%% (optimised) ./src/main/flight/servos.c
%% (optimised) ./src/main/flight/servos_tricopter.c
%% (size optimised) ./src/main/io/serial_4way.c
%% (size optimised) ./src/main/io/serial_4way_avrootloader.c
%% (size optimised) ./src/main/io/serial_4way_stk500v2.c
%% (speed optimised) ./src/main/rx/ibus.c
%% (optimised) ./src/main/rx/jetiexbus.c
%% (optimised) ./src/main/rx/msp.c
%% (optimised) ./src/main/rx/pwm.c
%% (speed optimised) ./src/main/rx/frsky_crc.c
%% (speed optimised) ./src/main/rx/rx.c
%% (size optimised) ./src/main/rx/rx_bind.c
%% (speed optimised) ./src/main/rx/rx_spi.c
%% (optimised) ./src/main/rx/rx_spi_common.c
%% (speed optimised) ./src/main/rx/crsf.c
%% (optimised) ./src/main/rx/ghst.c
%% (speed optimised) ./src/main/rx/sbus.c
%% (speed optimised) ./src/main/rx/sbus_channels.c
%% (speed optimised) ./src/main/rx/spektrum.c
%% (speed optimised) ./src/main/rx/srxl2.c
%% (size optimised) ./src/main/io/spektrum_vtx_control.c
%% (optimised) ./src/main/io/spektrum_rssi.c
%% (speed optimised) ./src/main/rx/sumd.c
%% (optimised) ./src/main/rx/sumh.c
%% (speed optimised) ./src/main/rx/xbus.c
%% (speed optimised) ./src/main/rx/fport.c
%% (optimised) ./src/main/rx/msp_override.c
%% (speed optimised) ./src/main/sensors/acceleration.c
%% (size optimised) ./src/main/sensors/acceleration_init.c
%% (speed optimised) ./src/main/sensors/boardalignment.c
%% (optimised) ./src/main/sensors/compass.c
%% (speed optimised) ./src/main/sensors/gyro.c
%% (size optimised) ./src/main/sensors/gyro_init.c
%% (optimised) ./src/main/sensors/initialisation.c
%% (optimised) ./src/main/blackbox/blackbox.c
%% (optimised) ./src/main/blackbox/blackbox_encoding.c
%% (optimised) ./src/main/blackbox/blackbox_io.c
%% (size optimised) ./src/main/cms/cms.c
%% (size optimised) ./src/main/cms/cms_menu_blackbox.c
%% (size optimised) ./src/main/cms/cms_menu_failsafe.c
%% (size optimised) ./src/main/cms/cms_menu_firmware.c
%% (size optimised) ./src/main/cms/cms_menu_gps_rescue.c
%% (size optimised) ./src/main/cms/cms_menu_imu.c
%% (size optimised) ./src/main/cms/cms_menu_ledstrip.c
%% (size optimised) ./src/main/cms/cms_menu_main.c
%% (size optimised) ./src/main/cms/cms_menu_misc.c
%% (size optimised) ./src/main/cms/cms_menu_osd.c
%% (size optimised) ./src/main/cms/cms_menu_power.c
%% (size optimised) ./src/main/cms/cms_menu_saveexit.c
%% (size optimised) ./src/main/cms/cms_menu_vtx_common.c
%% (size optimised) ./src/main/cms/cms_menu_vtx_rtc6705.c
%% (size optimised) ./src/main/cms/cms_menu_vtx_smartaudio.c
%% (size optimised) ./src/main/cms/cms_menu_vtx_tramp.c
%% (size optimised) ./src/main/cms/cms_menu_persistent_stats.c
%% (size optimised) ./src/main/drivers/display_ug2864hsweg01.c
%% (size optimised) ./src/main/drivers/light_ws2811strip.c
%% (optimised) ./src/main/drivers/rangefinder/rangefinder_hcsr04.c
%% (optimised) ./src/main/drivers/rangefinder/rangefinder_lidartf.c
%% (size optimised) ./src/main/drivers/serial_escserial.c
%% (size optimised) ./src/main/drivers/vtx_common.c
%% (optimised) ./src/main/drivers/vtx_table.c
%% (size optimised) ./src/main/io/dashboard.c
%% (optimised) ./src/main/io/displayport_frsky_osd.c
%% (optimised) ./src/main/io/displayport_max7456.c
%% (optimised) ./src/main/io/displayport_msp.c
%% (optimised) ./src/main/io/displayport_oled.c
%% (optimised) ./src/main/io/displayport_srxl.c
%% (optimised) ./src/main/io/displayport_crsf.c
%% (optimised) ./src/main/io/displayport_hott.c
%% (optimised) ./src/main/io/frsky_osd.c
%% (optimised) ./src/main/io/rcdevice_cam.c
%% (optimised) ./src/main/io/rcdevice.c
%% (optimised) ./src/main/io/gps.c
%% (optimised) ./src/main/io/ledstrip.c
%% (optimised) ./src/main/io/pidaudio.c
%% (size optimised) ./src/main/osd/osd.c
%% (size optimised) ./src/main/osd/osd_elements.c
%% (size optimised) ./src/main/osd/osd_warnings.c
%% (optimised) ./src/main/sensors/barometer.c
%% (optimised) ./src/main/sensors/rangefinder.c
%% (optimised) ./src/main/telemetry/telemetry.c
%% (optimised) ./src/main/telemetry/crsf.c
%% (optimised) ./src/main/telemetry/ghst.c
%% (optimised) ./src/main/telemetry/srxl.c
%% (optimised) ./src/main/telemetry/frsky_hub.c
%% (optimised) ./src/main/telemetry/hott.c
%% (optimised) ./src/main/telemetry/jetiexbus.c
%% (optimised) ./src/main/telemetry/smartport.c
%% (optimised) ./src/main/telemetry/ltm.c
%% (optimised) ./src/main/telemetry/mavlink.c
%% (optimised) ./src/main/telemetry/msp_shared.c
%% (optimised) ./src/main/telemetry/ibus.c
%% (optimised) ./src/main/telemetry/ibus_shared.c
%% (optimised) ./src/main/sensors/esc_sensor.c
%% (size optimised) ./src/main/io/vtx.c
%% (size optimised) ./src/main/io/vtx_rtc6705.c
%% (size optimised) ./src/main/io/vtx_smartaudio.c
%% (size optimised) ./src/main/io/vtx

以上是关于BetaFlight飞控AOCODARC-F7MINI固件编译的主要内容,如果未能解决你的问题,请参考以下文章

iNav飞控AOCODARC-F7MINI固件编译

iNav飞控AOCODARC-F7MINI固件编译

betaflight油门和横滚反了

使用Betaflight Configurator飞控刷写固件时各步骤的含义

使用Betaflight Configurator飞控刷写固件时各步骤的含义

betaflight固件保存设置