Hello,
I followed the steps outlined here to build the stm32 firmware on Manjaro.
However, when I run make, I get the errors in the attached screenshot. I have not modified the source code yet.
Any help would be greatly appreciated!
Unable to compile STM32 Firmware on Manjaro
Re: Unable to compile STM32 Firmware on Manjaro
Hi comathi!
Some questions!
Some questions!
- Could you perhaps paste or update the full output of the make command?
- Could you tell us the output of $ arm-none-eabi-gcc --version
Re: Unable to compile STM32 Firmware on Manjaro
Hello Jonas,
For some reason, I have been unable to post this reply as it was triggering the spam detection, hopefully it works now.
runnning arm-none-eabi-gcc --version outputs the following:
And the following is the full output of the make command:
Thank you,
comathi
For some reason, I have been unable to post this reply as it was triggering the spam detection, hopefully it works now.
runnning arm-none-eabi-gcc --version outputs the following:
Code: Select all
arm-none-eabi-gcc (Arch Repository) 11.2.0
Code: Select all
CLEAN_VERSION
CC list.o
CC tasks.o
CC queue.o
CC timers.o
CC heap_4.o
CC port.o
CC stm32f4xx_adc.o
CC stm32f4xx_dbgmcu.o
CC stm32f4xx_dma.o
CC stm32f4xx_exti.o
CC stm32f4xx_flash.o
CC stm32f4xx_gpio.o
CC stm32f4xx_i2c.o
CC stm32f4xx_iwdg.o
CC stm32f4xx_rcc.o
CC stm32f4xx_spi.o
CC stm32f4xx_tim.o
CC stm32f4xx_usart.o
CC stm32f4xx_misc.o
CC stm32f4xx_syscfg.o
CC usb_core.o
CC usb_dcd_int.o
CC usb_dcd.o
CC usbd_ioreq.o
CC usbd_req.o
CC usbd_core.o
CC sensors_mpu9250_lps25h.o
CC sensors_bmi088_bmp388.o
CC sensors_bmi088_i2c.o
CC sensors_bmi088_spi.o
CC ff.o
CC ffunicode.o
CC fatfs_sd.o
CC main.o
CC platform.o
CC platform_utils.o
CC platform_cf2.o
CC platform_stm32f4.o
CC exti.o
CC nvic.o
CC motors.o
CC led.o
CC mpu6500.o
CC i2cdev.o
CC ws2812_cf2.o
CC lps25h.o
CC i2c_drv.o
CC ak8963.o
CC eeprom.o
CC maxsonar.o
CC piezo.o
CC uart_syslink.o
CC swd.o
CC uart1.o
CC uart2.o
CC watchdog.o
CC cppm.o
CC bmi055_accel.o
CC bmi055_gyro.o
CC bmi160.o
CC bmp280.o
CC bstdr_comm_support.o
CC bmm150.o
CC bmi088_accel.o
CC bmi088_gyro.o
CC bmi088_fifo.o
CC bmp3.o
CC pca9685.o
CC vl53l0x.o
CC pca95x4.o
CC pca9555.o
CC vl53l1x.o
CC pmw3901.o
CC amg8833.o
CC lh_bootloader.o
CC usb_bsp.o
CC usblink.o
CC usbd_desc.o
CC usb.o
CC crtp.o
CC ledseq.o
CC freeRTOSdebug.o
CC buzzer.o
CC pm_stm32f4.o
CC syslink.o
CC radiolink.o
CC ow_syslink.o
CC proximity.o
CC ow_common.o
CC usec_time.o
CC sensors.o
CC storage.o
CC libdw1000.o
CC libdw1000Spi.o
CC vl53l1_api_core.o
CC vl53l1_api.o
CC vl53l1_core.o
CC vl53l1_silicon_core.o
CC vl53l1_api_strings.o
CC vl53l1_api_calibration.o
CC vl53l1_api_debug.o
CC vl53l1_api_preset_modes.o
CC vl53l1_error_strings.o
CC vl53l1_register_funcs.o
CC vl53l1_wait.o
CC vl53l1_core_support.o
CC system.o
CC comm.o
CC console.o
CC pid.o
CC crtpservice.o
CC param.o
CC log.o
CC worker.o
CC queuemonitor.o
CC msp.o
CC platformservice.o
CC sound_cf2.o
CC extrx.o
CC sysload.o
CC mem.o
CC range.o
CC app_handler.o
CC static_mem.o
CC app_channel.o
CC eventtrigger.o
CC supervisor.o
CC commander.o
CC crtp_commander.o
CC crtp_commander_rpyt.o
CC crtp_commander_generic.o
CC crtp_localization_service.o
CC peer_localization.o
CC attitude_pid_controller.o
CC sensfusion6.o
CC stabilizer.o
CC position_estimator_altitude.o
CC position_controller_pid.o
CC position_controller_indi.o
CC estimator.o
CC estimator_complementary.o
CC controller.o
CC controller_pid.o
CC controller_mellinger.o
CC controller_indi.o
CC power_distribution_stock.o
CC collision_avoidance.o
CC health.o
CC estimator_kalman.o
CC kalman_core.o
CC kalman_supervisor.o
CC mm_distance.o
CC mm_absolute_height.o
CC mm_position.o
CC mm_pose.o
CC mm_tdoa.o
CC mm_flow.o
CC mm_tof.o
CC mm_yaw_error.o
CC mm_sweep_angles.o
CC mm_tdoa_robust.o
CC mm_distance_robust.o
CC crtp_commander_high_level.o
CC planner.o
CC pptraj.o
CC pptraj_compressed.o
CC deck.o
CC deck_info.o
CC deck_drivers.o
CC deck_test.o
CC deck_memory.o
CC deck_constants.o
.//src/deck/core/deck_test.c: In function 'decktestSaveGPIOStatesABC':
.//src/deck/core/deck_test.c:61:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
61 | memcpy(&gpioRegBuf->gpioBuffA, GPIOA, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.//src/deck/core/deck_test.c:62:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
62 | memcpy(&gpioRegBuf->gpioBuffB, GPIOB, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.//src/deck/core/deck_test.c:63:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
63 | memcpy(&gpioRegBuf->gpioBuffC, GPIOC, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.//src/deck/core/deck_test.c: In function 'decktestRestoreGPIOStatesABC':
.//src/deck/core/deck_test.c:69:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
69 | memcpy(GPIOA, &gpioRegBuf->gpioBuffA, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.//src/deck/core/deck_test.c:70:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
70 | memcpy(GPIOB, &gpioRegBuf->gpioBuffB, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.//src/deck/core/deck_test.c:71:3: error: 'memcpy' offset [0, 39] is out of the bounds [0, 0] [-Werror=array-bounds]
71 | memcpy(GPIOC, &gpioRegBuf->gpioBuffC, sizeof(GPIO_TypeDef));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
CC deck_digital.o
cc1: all warnings being treated as errors
CC deck_analog.o
make[1]: *** [tools/make/targets.mk:27: deck_test.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make: *** [Makefile:393: build] Error 2
comathi
Re: Unable to compile STM32 Firmware on Manjaro
Hi comathi!
I think the issue is that you have a quite new GCC version, that has added a new warning. (-Werror=array-bounds).
You could try to add the following line to the Makefile:
You can look for similar lines!
I think the issue is that you have a quite new GCC version, that has added a new warning. (-Werror=array-bounds).
You could try to add the following line to the Makefile:
Code: Select all
CFLAGS += -Wno-array-bounds