CMSIS functions not working (what is the right compilation flag to give?)
I am currently using Linux and compiling my project using my own Makefile, with libraries generated via STM32CubeMX from my Windows machine. I am trying to use CMSIS's arm_mat_mult_f32() function but it is not working. I suspect I am passing the wrong compilation flag, but am not sure what I am doing wrong.
I am using STM32F7508-DISCO board. Below are my (what I think are relevant) compilation flags..
-mthumb -mfpu=fpv5-sp-d16 -mfloat-abi=softfp -mcpu=cortex-m7 -DSTM32F750xx -DUSE_HAL_DRIVER -DARM_MATH_CM7 -D__FPU_PRESENT=1 (-DARM_MATH_DSP)
I had to add -DARM_MATH_CM7 and -D__FPU_PRESENT=1 to make it compile, but maybe I am adding something I shouldn't be adding. I tried both with and without -DARM_MATH_DSP but it does not work.
Especally, I go into hardfault handler while running arm_mat_mult_f32(), especially when (I think) running this inst: vldr s14, [r4, #-12]
I am not sure if I am passing the wrong flags, and if so, what is the right flag for my board. (1) what is the right flag for my board? (2) where can I get this information (maybe from STM32CubeMX) ?
Any help will be highly appreciated.
Thank you!
