undefined reference to `arm_std_f32'

News, Setup, Compiling, Flashing, Development

undefined reference to `arm_std_f32'

Postby SW_SST » Thu Dec 04, 2014 5:32 pm

Hi all.
I'm still on my everlasting struggle to get the firmware compiled. We have several on our team working on this, and so far no one has been able to compile and link. If we don't succeed soon, we will be forced to stop using AutoQuad in our products and move to PixHawk (where the compilation is easy, and uses only free tools).

After a lot of messing around, and removing some files that were "XXXX.patched.c" that caused multiple definition errors,
I'm down to about 30 link errors. All are from the math library, and look like this :

undefined reference to `arm_std_f32'
undefined reference to `arm_mat_init_f32'
undefined reference to `arm_mat_trans_f32'
undefined reference to `arm_fill_f32'
undefined reference to `arm_mat_mult_f32'

Once again, this is becoming urgent and embarrassing. I have invested whole days , I've read all the forum posting and wiki pages I could find, and I'm still not able to compile. Something is missing, in the documentation or the files.
Please advise,

SW
SkySquirrel Technologies
SW_SST
 
Posts: 20
Joined: Thu Sep 18, 2014 2:39 pm

Re: undefined reference to `arm_std_f32'

Postby SW_SST » Thu Dec 04, 2014 5:58 pm

And here is my link command:

Code: Select all
"D:/Program Files (x86)/CrossWorks for ARM 2.3/gcc/arm-unknown-eabi/bin/ld" -X -ereset_handler --omagic -defsym=__do_debug_operation=__do_debug_operation_mempoll -u__do_debug_operation_mempoll -defsym=__vfprintf=__vfprintf_double_long_long -u__vfprintf_double_long_long -defsym=__vfscanf=__vfscanf_double_long_long -u__vfscanf_double_long_long --fatal-warnings -EL --gc-sections "-TD:/Code/SST/autoquad/onboard/THUMB Release/autoquad.ld" -Map "THUMB Release/autoquad.map" -u_vectors -o "THUMB Release/autoquad.elf" --start-group "THUMB Release/main_ctl.o" "THUMB Release/digital.o" "THUMB Release/util.o" "THUMB Release/rcc.o" "THUMB Release/serial.o" "THUMB Release/config.o" "THUMB Release/flash.o" "THUMB Release/motors.o" "THUMB Release/spektrum.o" "THUMB Release/analog.o" "THUMB Release/adc.o" "THUMB Release/control.o" "THUMB Release/comm.o" "THUMB Release/nav.o" "THUMB Release/telemetry.o" "THUMB Release/ublox.o" "THUMB Release/pid.o" "THUMB Release/aq_mavlink.o" "THUMB Release/compass.o" "THUMB Release/gps.o" "THUMB Release/command.o" "THUMB Release/aq_timer.o" "THUMB Release/aq_init.o" "THUMB Release/logger.o" "THUMB Release/rtc.o" "THUMB Release/sdio.o" "THUMB Release/imu.o" "THUMB Release/supervisor.o" "THUMB Release/fpu.o" "THUMB Release/nav_ukf.o" "THUMB Release/alt_ukf.o" "THUMB Release/run.o" "THUMB Release/radio.o" "THUMB Release/futaba.o" "THUMB Release/ppm.o" "THUMB Release/filer.o" "THUMB Release/pwm.o" "THUMB Release/gimbal.o" "THUMB Release/1wire.o" "THUMB Release/esc32.o" "THUMB Release/spi.o" "THUMB Release/signaling.o" "THUMB Release/ext_irq.o" "THUMB Release/can.o" "THUMB Release/canSensors.o" "THUMB Release/canCalib.o" "THUMB Release/canUart.o" "THUMB Release/canOSD.o" "THUMB Release/mpu6000.o" "THUMB Release/d_imu.o" "THUMB Release/hmc5983.o" "THUMB Release/ms5611.o" "THUMB Release/eeprom.o" "THUMB Release/max21100.o" "THUMB Release/usb_bsp.o" "THUMB Release/usbd_desc.o" "THUMB Release/usb.o" "THUMB Release/usbd_storage_msd.o" "THUMB Release/getbuildnum.o" "THUMB Release/grhott.o" "THUMB Release/mlinkrx.o" "THUMB Release/calib.o" "THUMB Release/cyrf6936.o" "THUMB Release/dsm.o" "THUMB Release/STM32_Startup.o" "THUMB Release/system_stm32f4xx.o" "THUMB Release/thumb_crt0.o" "THUMB Release/core.o" "THUMB Release/event.o" "THUMB Release/flag.o" "THUMB Release/kernelHeap.o" "THUMB Release/mbox.o" "THUMB Release/mm.o" "THUMB Release/mutex.o" "THUMB Release/queue.o" "THUMB Release/sem.o" "THUMB Release/serviceReq.o" "THUMB Release/task.o" "THUMB Release/time.o" "THUMB Release/timer.o" "THUMB Release/utility.o" "THUMB Release/arch.o" "THUMB Release/port.o" "THUMB Release/ff.o" "THUMB Release/srcdkf.o" "THUMB Release/algebra.o" "THUMB Release/rotations.o" "THUMB Release/usbd_core.o" "THUMB Release/usbd_ioreq.o" "THUMB Release/usbd_req.o" "THUMB Release/usbd_msc_bot.o" "THUMB Release/usbd_msc_data.o" "THUMB Release/usbd_msc_scsi.o" "THUMB Release/usbd_cdc_msc_core.o" "THUMB Release/usb_core.o" "THUMB Release/usb_dcd.o" "THUMB Release/usb_dcd_int.o" "THUMB Release/misc.o" "THUMB Release/stm32f4xx_adc.o" "THUMB Release/stm32f4xx_can.o" "THUMB Release/stm32f4xx_crc.o" "THUMB Release/stm32f4xx_cryp.o" "THUMB Release/stm32f4xx_cryp_aes.o" "THUMB Release/stm32f4xx_cryp_des.o" "THUMB Release/stm32f4xx_cryp_tdes.o" "THUMB Release/stm32f4xx_dac.o" "THUMB Release/stm32f4xx_dbgmcu.o" "THUMB Release/stm32f4xx_dcmi.o" "THUMB Release/stm32f4xx_dma.o" "THUMB Release/stm32f4xx_dma2d.o" "THUMB Release/stm32f4xx_exti.o" "THUMB Release/stm32f4xx_flash.o" "THUMB Release/stm32f4xx_fmc.patched.o" "THUMB Release/stm32f4xx_fsmc.patched.o" "THUMB Release/stm32f4xx_gpio.o" "THUMB Release/stm32f4xx_hash.o" "THUMB Release/stm32f4xx_hash_md5.o" "THUMB Release/stm32f4xx_hash_sha1.o" "THUMB Release/stm32f4xx_i2c.o" "THUMB Release/stm32f4xx_iwdg.o" "THUMB Release/stm32f4xx_ltdc.o" "THUMB Release/stm32f4xx_pwr.o" "THUMB Release/stm32f4xx_rcc.o" "THUMB Release/stm32f4xx_rng.o" "THUMB Release/stm32f4xx_rtc.o" "THUMB Release/stm32f4xx_sai.o" "THUMB Release/stm32f4xx_sdio.o" "THUMB Release/stm32f4xx_spi.o" "THUMB Release/stm32f4xx_syscfg.o" "THUMB Release/stm32f4xx_tim.o" "THUMB Release/stm32f4xx_usart.o" "THUMB Release/stm32f4xx_wwdg.o" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libcm_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libm_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libcpp_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libdebugio_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libc_targetio_impl_v7em_fpv4_sp_d16_hard_t_le_eabi.a" "D:/Program Files (x86)/CrossWorks for ARM 2.3/lib/libc_user_libc_v7em_fpv4_sp_d16_hard_t_le_eabi.a" --end-group
SW_SST
 
Posts: 20
Joined: Thu Sep 18, 2014 2:39 pm

Re: undefined reference to `arm_std_f32'

Postby bn999 » Thu Dec 04, 2014 8:31 pm

I pulled the most recent repo code, installed the needed libraries into a fresh directory. In Crossworks, open an existing project and navigate to the onboard directory and select autoquad.hzp. Hit the compile button and 1:37 later, it completes.

I zipped up the directory structure below. If this does not work for you, then you have Crossworks somehow setup incorrectly.

https://s3.amazonaws.com/s3.nesbitt.org/public/test_build.tar.gz
bn999
 
Posts: 1559
Joined: Thu Jun 21, 2012 11:40 pm

Re: undefined reference to `arm_std_f32'

Postby Max » Thu Dec 04, 2014 10:36 pm

Also I just uploaded STM32F4xx_DSP_StdPeriph_Lib_V1.3.0 to our FTP site, in case that makes a difference.

-Max
Max
 
Posts: 2814
Joined: Mon Aug 13, 2012 9:45 pm
Location: Near Ithaca, NY, USA

Re: undefined reference to `arm_std_f32'

Postby SW_SST » Fri Dec 05, 2014 2:41 pm

Wow ! it finally works.

Thanks for uploading v1.3 , I'm not sure if 1.4v works on not (I will test later), but 1.3 is impossible to find.

Also, there is a difference if you double-click the CrossStudio solution file (which I have been doing until now), or if you choose "Open-Solution" from the CrossStudio menu. The first does not compile and complains about missing folders/files, and the second does. Very lame.

Thanks everyone for you help.
SW_SST
 
Posts: 20
Joined: Thu Sep 18, 2014 2:39 pm

Re: undefined reference to `arm_std_f32'

Postby SW_SST » Fri Dec 05, 2014 4:05 pm

Has anyone tried compiling with CrossStudio 3.x ?
SW_SST
 
Posts: 20
Joined: Thu Sep 18, 2014 2:39 pm

Re: undefined reference to `arm_std_f32'

Postby aBUGSworstnightmare » Fri Dec 05, 2014 5:45 pm

Yes, with 3.1, 3.2 and 3.3.

Be sure to look at this too; might cause you some issues: viewtopic.php?f=31&t=3825&start=10#p26961

Joerg
aBUGSworstnightmare
 
Posts: 1460
Joined: Fri Jun 22, 2012 5:24 pm

Re: undefined reference to `arm_std_f32'

Postby aBUGSworstnightmare » Fri Dec 05, 2014 5:47 pm

SW_SST wrote:Wow ! it finally works.

Thanks for uploading v1.3 , I'm not sure if 1.4v works on not (I will test later), but 1.3 is impossible to find.

Also, there is a difference if you double-click the CrossStudio solution file (which I have been doing until now), or if you choose "Open-Solution" from the CrossStudio menu. The first does not compile and complains about missing folders/files, and the second does. Very lame.

Thanks everyone for you help.


Get rid of your Crosswords installation and do a new one from scratch. Both ways (double click on the .hzp-file and open solution) have the same result.
aBUGSworstnightmare
 
Posts: 1460
Joined: Fri Jun 22, 2012 5:24 pm


Return to AQ Firmware

Who is online

Users browsing this forum: No registered users and 2 guests

cron