2020-04-20 06:51 PM
I tried to compile and run arm_rfft_q15(STM32F030R8) .
In STM32CubeIDE, I'm using libarm_cortexM0l_math.a, the file is in
STM32Cube_FW_F0_V1.11.0\Drivers\CMSIS\Lib\GCC, one of the functions
I'm using is arm_rfft_q15.
Build error: undefined reference to `arm_bitreversal_16'.The
function that it is referring to is an assembly function found in
the file arm_bitreversal2.s and I have made sure that file is in
the source file.
I have added .h files which are in STM32Cube_FW_F0_V1.11.0\Drivers
\CMSIS\DSP\Include and the source files which are in
STM32Cube_FW_F0_V1.11.0\Drivers\CMSIS\DSP\Source to my project .
Is there any solution?
2020-04-21 01:54 AM
I suppose you need to add the file arm_bitreversal2.S to your project.
It is usually found in ...\STM32Fxxx_DSP_StdPeriph_Lib_Vx.x.x\Libraries\CMSIS\DSP_Lib\Source\TransformFunctions\
Not sure about Cube, CubeIDE, and it's project management ...
2020-04-21 02:05 AM
I had added the file arm_bitreversal2.S to my project.
2020-04-21 02:55 AM
And ? Have you tried to translate it individually ?
Is your IDE picky with the file extension (*.s vs. *.S) ?
Have you checked the linker map, if symbols declared in arm_bitreversal2.S show up ?
I'm not a CubeIDE user.
2020-04-27 02:19 AM
Hi,
Yes ,you were right.I added a symbol , and it was OK. But now, there is still something wrong."region 'FLASH' overflowed by XXXX bytes".Maybe the arm_rfft_init_q15() took up a lot of flash .
arm_rfft_init_q15()
{
/* Initialize the Twiddle coefficientA pointer */
S->pTwiddleAReal = (q15_t *) realCoefAQ15;
/* Initialize the Twiddle coefficientB pointer */
S->pTwiddleBReal = (q15_t *) realCoefBQ15;
}
Will you give me any suggestion on this problem?