Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

4.4.1: Adding support for building by config #12376

Merged
merged 1 commit into from Feb 18, 2023

Conversation

blckmn
Copy link
Member

@blckmn blckmn commented Feb 16, 2023

This is to help solve the build issues associated with SPRACINGF7EXTREME etc.

@github-actions
Copy link

Do you want to test this code? Here you have an automated build:
Assets
WARNING: It may be unstable. Use only for testing! See: https://www.youtube.com/watch?v=I1uN9CN30gw for instructions for unified targets!

@blckmn
Copy link
Member Author

blckmn commented Feb 16, 2023

@haslinghuis you have this hard ware are you able to test?

@haslinghuis
Copy link
Member

Guess I can't just enter the PR in the commit field:

https://build.betaflight.com/api/builds/5f69aa249c6a60201fd8c8ad52e17a6a/log

@blckmn
Copy link
Member Author

blckmn commented Feb 16, 2023

Guess I can't just enter the PR in the commit field:

https://build.betaflight.com/api/builds/5f69aa249c6a60201fd8c8ad52e17a6a/log

You won't be able to cloud build this one yet. More can you test the local build. i.e. make SPRACINGF7EXTREME

@haslinghuis
Copy link
Member

mark@pc:~/dev/betaflight/betaflight$ git branch -D 12376
git fetch upstream pull/12376/head:12376
git checkout 12376
error: branch '12376' not found.
remote: Enumerating objects: 70, done.
remote: Counting objects: 100% (53/53), done.
remote: Compressing objects: 100% (5/5), done.
remote: Total 70 (delta 48), reused 51 (delta 48), pack-reused 17
Unpacking objects: 100% (70/70), 70.38 KiB | 1.60 MiB/s, done.
From https://github.com/betaflight/betaflight
 * [new ref]             refs/pull/12376/head -> 12376
Switched to branch '12376'
mark@pc:~/dev/betaflight/betaflight$ rm -rf obj/
mark@pc:~/dev/betaflight/betaflight$ make SPRACINGH7EXTREME
Building config SPRACINGH7EXTREME
make[1]: Entering directory '/home/mark/dev/betaflight/betaflight'
make -j ./obj/betaflight_4.4.1_STM32H750_SPRACINGH7EXTREME.hex
make[2]: Entering directory '/home/mark/dev/betaflight/betaflight'
rm -f ./obj/main/STM32H750_SPRACINGH7EXTREME/.efhash_*
EF HASH -> ./obj/main/STM32H750_SPRACINGH7EXTREME/.efhash_d41d8cd98f00b204e9800998ecf8427e
%% startup_stm32h743xx.s 
%% (optimised) ./src/main/startup/system_stm32h7xx.c 
%% (optimised) ./src/main/drivers/system_stm32h7xx.c 
%% (optimised) ./src/main/drivers/timer_hal.c 
%% (optimised) ./src/main/drivers/timer_stm32h7xx.c 
%% (optimised) ./src/main/drivers/serial_uart_hal.c 
%% (optimised) ./src/main/drivers/serial_uart_stm32h7xx.c 
%% (optimised) ./src/main/drivers/bus_quadspi_hal.c 
%% (optimised) ./src/main/drivers/bus_octospi_stm32h7xx.c 
%% (speed optimised) ./src/main/drivers/bus_spi_ll.c 
%% (optimised) ./src/main/drivers/dma_stm32h7xx.c 
%% (optimised) ./src/main/drivers/dshot_bitbang.c 
%% (optimised) ./src/main/drivers/dshot_bitbang_decode.c 
%% (optimised) ./src/main/drivers/dshot_bitbang_ll.c 
%% (size optimised) ./src/main/drivers/light_ws2811strip_hal.c 
%% (optimised) ./src/main/drivers/adc_stm32h7xx.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 
%% (speed optimised) ./src/main/drivers/pwm_output_dshot_hal.c 
%% (speed optimised) ./src/main/drivers/pwm_output_dshot_shared.c 
%% (optimised) ./src/main/drivers/persistent.c 
%% (size optimised) ./src/main/drivers/transponder_ir_io_hal.c 
%% (optimised) ./src/main/drivers/audio_stm32h7xx.c 
%% (optimised) ./src/main/drivers/memprot_hal.c 
%% (optimised) ./src/main/drivers/memprot_stm32h7xx.c 
%% (optimised) ./src/main/drivers/sdio_h7xx.c 
%% (optimised) ./src/main/msc/usbd_storage_sd_spi.c 
%% (optimised) ./src/main/drivers/sdcard_spi.c 
%% (speed optimised) ./src/main/drivers/bus_quadspi.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_fake.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu3050.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6050.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6500.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi160.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi270.c 
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20649.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20689.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm426xx.c 
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_l3gd20.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso_init.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6000.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6500.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu9250.c 
%% (optimised) ./src/main/drivers/accgyro/gyro_sync.c 
%% (optimised) lib/main/BoschSensortec/BMI270-Sensor-API/bmi270_maximum_fifo.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_2smpb_02b.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp085.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp280.c 
%% (optimised) ./src/main/drivers/barometer/barometer_bmp388.c 
%% (optimised) ./src/main/drivers/barometer/barometer_dps310.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_fake.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_lps.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_ms5611.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_qmp6988.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_fake.c 
%% (size optimised) ./src/main/drivers/compass/compass_hmc5883l.c 
%% (size optimised) ./src/main/drivers/compass/compass_lis3mdl.c 
%% (optimised) ./src/main/drivers/compass/compass_mpu925x_ak8963.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_h7xx.c 
%% (optimised) ./src/main/msc/usbd_storage.c 
%% (optimised) ./src/main/msc/usbd_storage_sdio.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/STM32H750/target.c 
%% (size optimised) ./src/main/main.c 
%% (optimised) ./src/main/pg/adc.c 
%% (optimised) ./src/main/pg/beeper.c 
%% (optimised) ./src/main/pg/beeper_dev.c 
%% (optimised) ./src/main/pg/board.c 
%% (optimised) ./src/main/pg/bus_i2c.c 
%% (optimised) ./src/main/pg/bus_quadspi.c 
%% (optimised) ./src/main/pg/bus_spi.c 
%% (optimised) ./src/main/pg/dashboard.c 
%% (optimised) ./src/main/pg/displayport_profiles.c 
%% (optimised) ./src/main/pg/dyn_notch.c 
%% (optimised) ./src/main/pg/flash.c 
%% (optimised) ./src/main/pg/gps.c 
%% (optimised) ./src/main/pg/gps_rescue.c 
%% (optimised) ./src/main/pg/gyrodev.c 
%% (optimised) ./src/main/pg/max7456.c 
%% (optimised) ./src/main/pg/mco.c 
%% (optimised) ./src/main/pg/motor.c 
%% (optimised) ./src/main/pg/msp.c 
%% (optimised) ./src/main/pg/pg.c 
%% (optimised) ./src/main/pg/piniobox.c 
%% (optimised) ./src/main/pg/pinio.c 
%% (optimised) ./src/main/pg/pin_pull_up_down.c 
%% (optimised) ./src/main/pg/rpm_filter.c 
%% (optimised) ./src/main/pg/rcdevice.c 
%% (optimised) ./src/main/pg/rx.c 
%% (optimised) ./src/main/pg/rx_pwm.c 
%% (optimised) ./src/main/pg/rx_spi.c 
%% (optimised) ./src/main/pg/rx_spi_cc2500.c 
%% (optimised) ./src/main/pg/rx_spi_expresslrs.c 
%% (optimised) ./src/main/pg/scheduler.c 
%% (optimised) ./src/main/pg/sdcard.c 
%% (optimised) ./src/main/pg/sdio.c 
%% (optimised) ./src/main/pg/serial_uart.c 
%% (optimised) ./src/main/pg/stats.c 
%% (optimised) ./src/main/pg/timerup.c 
%% (optimised) ./src/main/pg/usb.c 
%% (optimised) ./src/main/pg/vcd.c 
%% (optimised) ./src/main/pg/timerio.c 
%% (optimised) ./src/main/pg/vtx_io.c 
%% (optimised) ./src/main/pg/vtx_table.c 
%% (optimised) ./src/main/common/bitarray.c 
%% (optimised) ./src/main/common/colorconversion.c 
%% (optimised) ./src/main/common/crc.c 
%% (speed optimised) ./src/main/common/encoding.c 
%% (optimised) ./src/main/common/explog_approx.c 
%% (speed optimised) ./src/main/common/filter.c 
%% (optimised) ./src/main/common/gps_conversion.c 
%% (optimised) ./src/main/common/huffman.c 
%% (optimised) ./src/main/common/huffman_table.c 
%% (speed optimised) ./src/main/common/maths.c 
%% (optimised) ./src/main/common/printf.c 
%% (optimised) ./src/main/common/printf_serial.c 
%% (speed optimised) ./src/main/common/sdft.c 
%% (optimised) ./src/main/common/sensor_alignment.c 
%% (optimised) ./src/main/common/streambuf.c 
%% (optimised) ./src/main/common/string_light.c 
%% (optimised) ./src/main/common/strtol.c 
%% (optimised) ./src/main/common/time.c 
%% (speed optimised) ./src/main/common/typeconversion.c 
%% (optimised) ./src/main/common/uvarint.c 
%% (optimised) ./src/main/config/config.c 
%% (size optimised) ./src/main/config/config_eeprom.c 
%% (size optimised) ./src/main/config/config_streamer.c 
%% (size optimised) ./src/main/config/feature.c 
%% (size optimised) ./src/main/config/simplified_tuning.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 
%% (optimised) ./src/main/drivers/bus_octospi.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_tramp.c 
%% (size optimised) ./src/main/io/vtx_control.c 
%% (size optimised) ./src/main/io/vtx_msp.c 
%% (size optimised) ./src/main/cms/cms_menu_vtx_msp.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cordic.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dts.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fmac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gfxmmu.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ospi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_otfdec.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pssi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_cordic.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_crs.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_dma.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_spi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_tim.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.c 
%% (optimised) ./src/main/drivers/sdcard.c 
%% (optimised) ./src/main/drivers/sdcard_sdio_baremetal.c 
%% (optimised) ./src/main/drivers/sdcard_standard.c 
%% (optimised) ./src/main/io/asyncfatfs/asyncfatfs.c 
%% (optimised) ./src/main/io/asyncfatfs/fat_standard.c 
%% (optimised) ./src/main/vcp_hal/usbd_desc.c 
%% (optimised) ./src/main/vcp_hal/usbd_conf_stm32h7xx.c 
%% (optimised) ./src/main/vcp_hal/usbd_cdc_hid.c 
%% (optimised) ./src/main/vcp_hal/usbd_cdc_interface.c 
%% (size optimised) ./src/main/drivers/serial_usb_vcp.c 
%% (optimised) ./src/main/drivers/usb_io.c 
%% (size optimised) lib/main/google/olc/olc.c 
Linking STM32H750_SPRACINGH7EXTREME 
Memory region         Used Size  Region Size  %age Used
        ITCM_RAM:        9888 B        64 KB     15.09%
        DTCM_RAM:       81868 B       128 KB     62.46%
             RAM:       28020 B        64 KB     42.76%
        CODE_RAM:      382959 B     458688 B     83.49%
       EXST_HASH:          64 B         64 B    100.00%
          D2_RAM:          0 GB       256 KB      0.00%
       MEMORY_B1:          0 GB         0 GB
         QUADSPI:          0 GB         0 GB
   text	   data	    bss	    dec	    hex	filename
 375079	   7944	 102004	 485027	  766a3	./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf
Creating BIN (without checksum) ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_UNPATCHED.bin 
Creating EXST ./obj/betaflight_4.4.1_STM32H750_SPRACINGH7EXTREME.bin 
448+0 records in
896+0 records out
458752 bytes (459 kB, 448 KiB) copied, 0,000789996 s, 581 MB/s
896+0 records in
896+0 records out
458752 bytes (459 kB, 448 KiB) copied, 0,000494222 s, 928 MB/s
Generating MD5 hash of binary 
Patching MD5 hash into binary 
0006fff0: 37ce e1d9 8de9 1049 cc3d 914a 446e bf0a  7......I.=.JDn..
Extracting HASH section from unpatched EXST elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf 
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf.tmp --dump-section .exst_hash=./obj/main/STM32H750_SPRACINGH7EXTREME/exst_hash_section.bin -j .exst_hash
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x20010000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x24010000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x2406ad60, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x20000000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x2000e484, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x24000000, is this intentional?
rm ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf.tmp
Patching MD5 hash into HASH section 
Patching updated HASH section into ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf 
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf --update-section .exst_hash=./obj/main/STM32H750_SPRACINGH7EXTREME/exst_hash_section.bin
There are 26 section headers, starting at offset 0xd773c:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .isr_vector       PROGBITS        24010000 010000 000298 00   A  0   0  1
  [ 2] .text             PROGBITS        24010298 010298 058428 00  AX  0   0  8
  [ 3] .tcm_code         PROGBITS        00000000 070000 0026a0 00  AX  0   0  8
  [ 4] .ARM              ARM_EXIDX       2406ad60 07ad60 000008 00  AL  2   0  4
  [ 5] .pg_registry      PROGBITS        2406ad68 07ad68 0009bc 00   A  0   0  4
  [ 6] .pg_resetdata     PROGBITS        2406b724 07b724 000203 00   A  0   0  4
  [ 7] .data             PROGBITS        20000000 080000 001b04 00  WA  0   0  4
  [ 8] .bss              NOBITS          20001b08 081b08 00c97c 00  WA  0   0  8
  [ 9] .sram2            PROGBITS        24000000 0a0000 000000 00   W  0   0  1
  [10] .fastram_data     PROGBITS        2000e484 08e484 000004 00  WA  0   0  4
  [11] .fastram_bss      NOBITS          2000e488 08e488 005344 00  WA  0   0  4
  [12] .dmaram_data      PROGBITS        24000000 090000 0003c0 00  WA  0   0 32
  [13] .dmaram_bss       NOBITS          240003c0 0903c0 001680 00  WA  0   0 32
  [14] .DMA_RAM          NOBITS          24001a40 091a40 0048c0 00  WA  0   0 32
  [15] .DMA_RW_D2        PROGBITS        30000000 0a0000 000000 00   W  0   0  1
  [16] .DMA_RW_AXI       NOBITS          24006300 006300 000a74 00  WA  0   0 32
  [17] .persistent_data  PROGBITS        24006d74 0a0000 000000 00   W  0   0  1
  [18] ._user_heap_stack NOBITS          200137cc 0037cc 000800 00  WA  0   0  1
  [19] .ARM.attributes   ARM_ATTRIBUTES  00000000 0a0000 000035 00      0   0  1
  [20] .exst_hash        PROGBITS        2407ffc0 09ffc0 000040 00  WA  0   0  1
  [21] .comment          PROGBITS        00000000 0a0035 000049 01  MS  0   0  1
  [22] .debug_frame      PROGBITS        00000000 0a0080 00075c 00      0   0  4
  [23] .symtab           SYMTAB          00000000 0a07dc 01f1d0 10     24 5517  4
  [24] .strtab           STRTAB          00000000 0bf9ac 017c7d 00      0   0  1
  [25] .shstrtab         STRTAB          00000000 0d7629 000111 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  y (purecode), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x24056b49
There are 11 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x20010000 0x20010000 0x00194 0x03fcc RW  0x10000
  LOAD           0x006300 0x24006300 0x24006300 0x00000 0x00a74 RW  0x10000
  LOAD           0x010000 0x24010000 0x24010000 0x586c0 0x586c0 R E 0x10000
  LOAD           0x070000 0x00000000 0x240686c0 0x026a0 0x026a0 R E 0x10000
  LOAD           0x07ad60 0x2406ad60 0x2406ad60 0x00bc7 0x00bc7 R   0x10000
  LOAD           0x080000 0x20000000 0x2406b927 0x01b04 0x01b04 RW  0x10000
  LOAD           0x001b08 0x20001b08 0x2406d42b 0x00000 0x0c97c RW  0x10000
  LOAD           0x08e484 0x2000e484 0x2406d42b 0x00004 0x05348 RW  0x10000
  LOAD           0x090000 0x24000000 0x2406d42f 0x003c0 0x01a40 RW  0x10000
  LOAD           0x001a40 0x24001a40 0x2406d7ef 0x00000 0x048c0 RW  0x10000
  LOAD           0x09ffc0 0x2407ffc0 0x2407ffc0 0x00040 0x00040 RW  0x10000

 Section to Segment mapping:
  Segment Sections...
   00     ._user_heap_stack 
   01     .DMA_RW_AXI 
   02     .isr_vector .text 
   03     .tcm_code 
   04     .ARM .pg_registry .pg_resetdata 
   05     .data 
   06     .bss 
   07     .fastram_data .fastram_bss 
   08     .dmaram_data .dmaram_bss 
   09     .DMA_RAM 
   10     .exst_hash 
Creating EXST HEX from patched EXST BIN ./obj/betaflight_4.4.1_STM32H750_SPRACINGH7EXTREME.bin, VMA Adjust 0x97CE0000 
make[2]: Leaving directory '/home/mark/dev/betaflight/betaflight'
make[1]: Leaving directory '/home/mark/dev/betaflight/betaflight'
Building config SPRACINGH7EXTREME succeeded.

@haslinghuis
Copy link
Member

Mostly same as master:

mark@pc:~/dev/betaflight/betaflight$ rm -rf obj/
mark@pc:~/dev/betaflight/betaflight$ git switch master 
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 2 commits.
  (use "git push" to publish your local commits)
mark@pc:~/dev/betaflight/betaflight$ make SPRACINGH7EXTREME
Building config SPRACINGH7EXTREME
make[1]: Entering directory '/home/mark/dev/betaflight/betaflight'
make -j ./obj/betaflight_4.5.0_STM32H750_SPRACINGH7EXTREME.hex
make[2]: Entering directory '/home/mark/dev/betaflight/betaflight'
rm -f ./obj/main/STM32H750_SPRACINGH7EXTREME/.efhash_*
EF HASH -> ./obj/main/STM32H750_SPRACINGH7EXTREME/.efhash_d41d8cd98f00b204e9800998ecf8427e
%% startup_stm32h743xx.s 
%% (size optimised) ./src/main/drivers/bus_i2c_timing.c 
%% (speed optimised) ./src/main/drivers/bus_quadspi.c 
%% (optimised) ./src/main/drivers/dshot_bitbang_decode.c 
%% (speed optimised) ./src/main/drivers/pwm_output_dshot_shared.c 
%% (optimised) ./src/main/drivers/stm32/adc_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/audio_stm32h7xx.c 
%% (size optimised) ./src/main/drivers/stm32/bus_i2c_hal_init.c 
%% (optimised) ./src/main/drivers/stm32/bus_i2c_hal.c 
%% (optimised) ./src/main/drivers/stm32/bus_spi_ll.c 
%% (optimised) ./src/main/drivers/stm32/bus_quadspi_hal.c 
%% (optimised) ./src/main/drivers/stm32/bus_octospi_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/debug.c 
%% (optimised) ./src/main/drivers/stm32/dma_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/dshot_bitbang_ll.c 
%% (optimised) ./src/main/drivers/stm32/dshot_bitbang.c 
%% (optimised) ./src/main/drivers/stm32/exti.c 
%% (optimised) ./src/main/drivers/stm32/io_stm32.c 
%% (optimised) ./src/main/drivers/stm32/light_ws2811strip_hal.c 
%% (optimised) ./src/main/drivers/stm32/memprot_hal.c 
%% (optimised) ./src/main/drivers/stm32/memprot_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/persistent.c 
%% (optimised) ./src/main/drivers/stm32/pwm_output.c 
%% (optimised) ./src/main/drivers/stm32/pwm_output_dshot_hal.c 
%% (optimised) ./src/main/drivers/stm32/rcc_stm32.c 
%% (optimised) ./src/main/drivers/stm32/sdio_h7xx.c 
%% (optimised) ./src/main/drivers/stm32/serial_uart_hal.c 
%% (optimised) ./src/main/drivers/stm32/serial_uart_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/system_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/timer_hal.c 
%% (optimised) ./src/main/drivers/stm32/timer_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/transponder_ir_io_hal.c 
%% (optimised) ./src/main/startup/system_stm32h7xx.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/stm32/usb_msc_h7xx.c 
%% (optimised) ./src/main/drivers/usb_msc_common.c 
%% (optimised) ./src/main/msc/usbd_storage.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/msc/usbd_storage_sd_spi.c 
%% (optimised) ./src/main/msc/usbd_storage_sdio.c 
%% (optimised) ./src/main/drivers/sdcard.c 
%% (optimised) ./src/main/drivers/sdcard_spi.c 
%% (optimised) ./src/main/drivers/sdcard_sdio_baremetal.c 
%% (optimised) ./src/main/drivers/sdcard_standard.c 
%% (optimised) ./src/main/io/asyncfatfs/asyncfatfs.c 
%% (optimised) ./src/main/io/asyncfatfs/fat_standard.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 
%% (size optimised) ./src/main/main.c 
%% (optimised) ./src/main/pg/adc.c 
%% (optimised) ./src/main/pg/beeper.c 
%% (optimised) ./src/main/pg/beeper_dev.c 
%% (optimised) ./src/main/pg/board.c 
%% (optimised) ./src/main/pg/bus_i2c.c 
%% (optimised) ./src/main/pg/bus_quadspi.c 
%% (optimised) ./src/main/pg/bus_spi.c 
%% (optimised) ./src/main/pg/dashboard.c 
%% (optimised) ./src/main/pg/displayport_profiles.c 
%% (optimised) ./src/main/pg/dyn_notch.c 
%% (optimised) ./src/main/pg/flash.c 
%% (optimised) ./src/main/pg/gps.c 
%% (optimised) ./src/main/pg/gps_rescue.c 
%% (optimised) ./src/main/pg/gyrodev.c 
%% (optimised) ./src/main/pg/max7456.c 
%% (optimised) ./src/main/pg/mco.c 
%% (optimised) ./src/main/pg/motor.c 
%% (optimised) ./src/main/pg/msp.c 
%% (optimised) ./src/main/pg/pg.c 
%% (optimised) ./src/main/pg/piniobox.c 
%% (optimised) ./src/main/pg/pinio.c 
%% (optimised) ./src/main/pg/pin_pull_up_down.c 
%% (optimised) ./src/main/pg/rcdevice.c 
%% (optimised) ./src/main/pg/rpm_filter.c 
%% (optimised) ./src/main/pg/rx.c 
%% (optimised) ./src/main/pg/rx_pwm.c 
%% (optimised) ./src/main/pg/rx_spi.c 
%% (optimised) ./src/main/pg/rx_spi_cc2500.c 
%% (optimised) ./src/main/pg/rx_spi_expresslrs.c 
%% (optimised) ./src/main/pg/scheduler.c 
%% (optimised) ./src/main/pg/sdcard.c 
%% (optimised) ./src/main/pg/sdio.c 
%% (optimised) ./src/main/pg/serial_uart.c 
%% (optimised) ./src/main/pg/stats.c 
%% (optimised) ./src/main/pg/timerio.c 
%% (optimised) ./src/main/pg/timerup.c 
%% (optimised) ./src/main/pg/usb.c 
%% (optimised) ./src/main/pg/vcd.c 
%% (optimised) ./src/main/pg/vtx_io.c 
%% (optimised) ./src/main/pg/vtx_table.c 
%% (optimised) ./src/main/common/bitarray.c 
%% (optimised) ./src/main/common/colorconversion.c 
%% (optimised) ./src/main/common/crc.c 
%% (speed optimised) ./src/main/common/encoding.c 
%% (optimised) ./src/main/common/explog_approx.c 
%% (speed optimised) ./src/main/common/filter.c 
%% (optimised) ./src/main/common/gps_conversion.c 
%% (optimised) ./src/main/common/huffman.c 
%% (optimised) ./src/main/common/huffman_table.c 
%% (speed optimised) ./src/main/common/maths.c 
%% (optimised) ./src/main/common/printf.c 
%% (optimised) ./src/main/common/printf_serial.c 
%% (speed optimised) ./src/main/common/sdft.c 
%% (optimised) ./src/main/common/sensor_alignment.c 
%% (optimised) ./src/main/common/streambuf.c 
%% (optimised) ./src/main/common/string_light.c 
%% (optimised) ./src/main/common/strtol.c 
%% (optimised) ./src/main/common/time.c 
%% (speed optimised) ./src/main/common/typeconversion.c 
%% (optimised) ./src/main/common/uvarint.c 
%% (optimised) ./src/main/config/config.c 
%% (size optimised) ./src/main/config/config_eeprom.c 
%% (size optimised) ./src/main/config/config_streamer.c 
%% (size optimised) ./src/main/config/feature.c 
%% (size optimised) ./src/main/config/simplified_tuning.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 
%% (optimised) ./src/main/drivers/bus_octospi.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/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/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/accgyro/gyro_sync.c 
%% (optimised) ./src/main/drivers/pwm_esc_detect.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_tramp.c 
%% (size optimised) ./src/main/io/vtx_control.c 
%% (size optimised) ./src/main/io/vtx_msp.c 
%% (size optimised) ./src/main/cms/cms_menu_vtx_msp.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_fake.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu3050.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6050.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_mpu6500.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_mpu.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi160.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_bmi270.c 
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20649.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm20689.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_icm426xx.c 
%% (optimised) ./src/main/drivers/accgyro/accgyro_spi_l3gd20.c 
%% (speed optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_lsm6dso_init.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6000.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu6500.c 
%% (size optimised) ./src/main/drivers/accgyro/accgyro_spi_mpu9250.c 
%% (optimised) lib/main/BoschSensortec/BMI270-Sensor-API/bmi270_maximum_fifo.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_2smpb_02b.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp085.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_bmp280.c 
%% (optimised) ./src/main/drivers/barometer/barometer_bmp388.c 
%% (optimised) ./src/main/drivers/barometer/barometer_dps310.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_fake.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_lps.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_ms5611.c 
%% (size optimised) ./src/main/drivers/barometer/barometer_qmp6988.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_fake.c 
%% (size optimised) ./src/main/drivers/compass/compass_hmc5883l.c 
%% (size optimised) ./src/main/drivers/compass/compass_lis3mdl.c 
%% (optimised) ./src/main/drivers/compass/compass_mpu925x_ak8963.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) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_adc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cordic.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_cortex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dac_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dfsdm_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dma_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_dts.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_exti.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_flash_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_fmac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gfxmmu.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_gpio.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_i2c_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_ospi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_otfdec.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pcd_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pssi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_pwr_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_qspi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rcc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rng_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_rtc_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_sd.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_spi_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_tim_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_hal_uart_ex.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_cordic.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_crs.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_dma.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_fmac.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_sdmmc.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_spi.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_tim.c 
%% (optimised) ./lib/main/STM32H7/Drivers/STM32H7xx_HAL_Driver/Src/stm32h7xx_ll_usb.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_core.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ctlreq.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Core/Src/usbd_ioreq.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/CDC/Src/usbd_cdc.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/HID/Src/usbd_hid.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_bot.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_data.c 
%% (optimised) ./lib/main/STM32H7/Middlewares/ST/STM32_USB_Device_Library/Class/MSC/Src/usbd_msc_scsi.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 
%% (optimised) ./src/main/drivers/stm32/vcp_hal/usbd_desc.c 
%% (optimised) ./src/main/drivers/stm32/vcp_hal/usbd_conf_stm32h7xx.c 
%% (optimised) ./src/main/drivers/stm32/vcp_hal/usbd_cdc_hid.c 
%% (optimised) ./src/main/drivers/stm32/vcp_hal/usbd_cdc_interface.c 
%% (optimised) ./src/main/drivers/stm32/serial_usb_vcp.c 
%% (optimised) ./src/main/drivers/usb_io.c 
%% (size optimised) lib/main/google/olc/olc.c 
Linking STM32H750_SPRACINGH7EXTREME 
Memory region         Used Size  Region Size  %age Used
        ITCM_RAM:        9848 B        64 KB     15.03%
        DTCM_RAM:       81876 B       128 KB     62.47%
             RAM:       28020 B        64 KB     42.76%
        CODE_RAM:      383513 B     458688 B     83.61%
       EXST_HASH:          64 B         64 B    100.00%
          D2_RAM:          0 GB       256 KB      0.00%
       MEMORY_B1:          0 GB         0 GB
         QUADSPI:          0 GB         0 GB
   text	   data	    bss	    dec	    hex	filename
 375629	   7948	 102012	 485589	  768d5	./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf
Creating BIN (without checksum) ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_UNPATCHED.bin 
Creating EXST ./obj/betaflight_4.5.0_STM32H750_SPRACINGH7EXTREME.bin 
448+0 records in
896+0 records out
458752 bytes (459 kB, 448 KiB) copied, 0,000793114 s, 578 MB/s
896+0 records in
896+0 records out
458752 bytes (459 kB, 448 KiB) copied, 0,000482595 s, 951 MB/s
Generating MD5 hash of binary 
Patching MD5 hash into binary 
0006fff0: f923 a20a fe07 a058 0f38 8c52 8208 ecde  .#.....X.8.R....
Extracting HASH section from unpatched EXST elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf 
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf.tmp --dump-section .exst_hash=./obj/main/STM32H750_SPRACINGH7EXTREME/exst_hash_section.bin -j .exst_hash
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x20010000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x24010000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x2406af84, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x20000000, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x2000e48c, is this intentional?
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy: ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf: warning: empty loadable segment detected at vaddr=0x24000000, is this intentional?
rm ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf.tmp
Patching MD5 hash into HASH section 
Patching updated HASH section into ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf 
./tools/gcc-arm-none-eabi-10.3-2021.10/bin/arm-none-eabi-objcopy ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME.elf ./obj/main/betaflight_STM32H750_SPRACINGH7EXTREME_EXST.elf --update-section .exst_hash=./obj/main/STM32H750_SPRACINGH7EXTREME/exst_hash_section.bin
There are 26 section headers, starting at offset 0xd7690:

Section Headers:
  [Nr] Name              Type            Addr     Off    Size   ES Flg Lk Inf Al
  [ 0]                   NULL            00000000 000000 000000 00      0   0  0
  [ 1] .isr_vector       PROGBITS        24010000 010000 000298 00   A  0   0  1
  [ 2] .text             PROGBITS        24010298 010298 058674 00  AX  0   0  8
  [ 3] .tcm_code         PROGBITS        00000000 070000 002678 00  AX  0   0  8
  [ 4] .ARM              ARM_EXIDX       2406af84 07af84 000008 00  AL  2   0  4
  [ 5] .pg_registry      PROGBITS        2406af8c 07af8c 0009bc 00   A  0   0  4
  [ 6] .pg_resetdata     PROGBITS        2406b948 07b948 000205 00   A  0   0  4
  [ 7] .data             PROGBITS        20000000 080000 001b08 00  WA  0   0  4
  [ 8] .bss              NOBITS          20001b08 081b08 00c984 00  WA  0   0  8
  [ 9] .sram2            PROGBITS        24000000 0a0000 000000 00   W  0   0  1
  [10] .fastram_data     PROGBITS        2000e48c 08e48c 000004 00  WA  0   0  4
  [11] .fastram_bss      NOBITS          2000e490 08e490 005344 00  WA  0   0  4
  [12] .dmaram_data      PROGBITS        24000000 090000 0003c0 00  WA  0   0 32
  [13] .dmaram_bss       NOBITS          240003c0 0903c0 001680 00  WA  0   0 32
  [14] .DMA_RAM          NOBITS          24001a40 091a40 0048c0 00  WA  0   0 32
  [15] .DMA_RW_D2        PROGBITS        30000000 0a0000 000000 00   W  0   0  1
  [16] .DMA_RW_AXI       NOBITS          24006300 006300 000a74 00  WA  0   0 32
  [17] .persistent_data  PROGBITS        24006d74 0a0000 000000 00   W  0   0  1
  [18] ._user_heap_stack NOBITS          200137d4 0037d4 000800 00  WA  0   0  1
  [19] .ARM.attributes   ARM_ATTRIBUTES  00000000 0a0000 000035 00      0   0  1
  [20] .exst_hash        PROGBITS        2407ffc0 09ffc0 000040 00  WA  0   0  1
  [21] .comment          PROGBITS        00000000 0a0035 000049 01  MS  0   0  1
  [22] .debug_frame      PROGBITS        00000000 0a0080 00075c 00      0   0  4
  [23] .symtab           SYMTAB          00000000 0a07dc 01f160 10     24 5516  4
  [24] .strtab           STRTAB          00000000 0bf93c 017c42 00      0   0  1
  [25] .shstrtab         STRTAB          00000000 0d757e 000111 00      0   0  1
Key to Flags:
  W (write), A (alloc), X (execute), M (merge), S (strings), I (info),
  L (link order), O (extra OS processing required), G (group), T (TLS),
  C (compressed), x (unknown), o (OS specific), E (exclude),
  y (purecode), p (processor specific)

Elf file type is EXEC (Executable file)
Entry point 0x24056c81
There are 10 program headers, starting at offset 52

Program Headers:
  Type           Offset   VirtAddr   PhysAddr   FileSiz MemSiz  Flg Align
  LOAD           0x000000 0x20010000 0x20010000 0x00174 0x03fd4 RW  0x10000
  LOAD           0x006300 0x24006300 0x24006300 0x00000 0x00a74 RW  0x10000
  LOAD           0x010000 0x24010000 0x24010000 0x5890c 0x5890c R E 0x10000
  LOAD           0x070000 0x00000000 0x2406890c 0x02678 0x02678 R E 0x10000
  LOAD           0x07af84 0x2406af84 0x2406af84 0x00bc9 0x00bc9 R   0x10000
  LOAD           0x080000 0x20000000 0x2406bb4d 0x01b08 0x0e48c RW  0x10000
  LOAD           0x08e48c 0x2000e48c 0x2406d655 0x00004 0x05348 RW  0x10000
  LOAD           0x090000 0x24000000 0x2406d659 0x003c0 0x01a40 RW  0x10000
  LOAD           0x001a40 0x24001a40 0x2406da19 0x00000 0x048c0 RW  0x10000
  LOAD           0x09ffc0 0x2407ffc0 0x2407ffc0 0x00040 0x00040 RW  0x10000

 Section to Segment mapping:
  Segment Sections...
   00     ._user_heap_stack 
   01     .DMA_RW_AXI 
   02     .isr_vector .text 
   03     .tcm_code 
   04     .ARM .pg_registry .pg_resetdata 
   05     .data .bss 
   06     .fastram_data .fastram_bss 
   07     .dmaram_data .dmaram_bss 
   08     .DMA_RAM 
   09     .exst_hash 
Creating EXST HEX from patched EXST BIN ./obj/betaflight_4.5.0_STM32H750_SPRACINGH7EXTREME.bin, VMA Adjust 0x97CE0000 
make[2]: Leaving directory '/home/mark/dev/betaflight/betaflight'
make[1]: Leaving directory '/home/mark/dev/betaflight/betaflight'
Building config SPRACINGH7EXTREME succeeded.

@haslinghuis haslinghuis added this to the 4.4.1 milestone Feb 17, 2023
@blckmn blckmn self-assigned this Feb 17, 2023
@blckmn blckmn changed the title Maintenance Branch - patch (support for config.h) 4.4.1: Adding support for building by config Feb 17, 2023
@blckmn blckmn merged commit 1e7b786 into betaflight:4.4-maintenance Feb 18, 2023
@blckmn blckmn deleted the backport-patch branch February 18, 2023 00:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants