2019-05-06 09:11 AM
I have searched, but I cannot find any information how to get the newer STM32CubeMX 5+ or the STM32CubeIDE to include the DSP header files arm_math.h, arm_const_structs.h, and arm_common_tables.h. They were copied on the older versions. How do I tell CubeMX that I want these files included? They exist in the Repository under Drivers/CMSIS/DSP/Include, but they no longer get added to the project when files are generated.
2019-05-13 06:52 AM
Nesrine,
The checkbox "Generate Under Root" is grayed out so that I cannot uncheck it to select "Copy all used libraries into the project folder", therefore I cannot test to see if your suggestion works.
I think there needs to be a checkbox that clearly indicates to the user that copies over the DSP header files.
2019-05-14 04:22 AM
Hi @Stephen28
It's a CubeIDE limitation and it has no impact on the generated code.
Best regards,
Nesrine
2019-05-14 04:58 AM
Nesrine,
I feel like we are going in circles now. I opened the project file in CubeMX and the box is still grayed out, and what is the reason that you suggested these settings if "it has not impact on the generated code"?
It appears to me that this is an issue with version 5+ of CubeMX/CubeIDE where it does not include the DSP files, but it did work in version 4 and earlier. I have discovered that if I copy over the CMSIS/DSP/Include directory that CubeMX/CubeIDE leaves it in place when it regenerates the code.
Please pass this issue over to the development team so that they can fix it in the next release.
2019-05-15 01:15 AM
Stephen,
That's not a bug, CubeIDE works like that and it has no impact on the generated code: if you need the DSP header files arm_math.h, arm_const_structs.h, and arm_common_tables.h. CubeIDE will get information from firmware in reference (STM32Cube\Repository\STM32Cube_FW_F4_V1.24.1\Drivers\CMSIS\DSP\Include) without generating it in the project file.
Best regards,
Nesrine
2019-05-15 05:52 AM
2019-05-16 02:02 AM
Hi @Stephen28
In CubeIDE you must copy the DSP Include files to Drivers/CMSIS/DSP/Include as soon as you add another include (#include "arm_math.h", #include "const_structs.h", and #include "arm_common_tables.h").
It's not like CubeMX mode.
Best regards,
Nesrine
2019-05-16 05:02 AM
2019-05-27 11:35 PM
Hi I need some help,
I am having the same problem using CubeIDE v1.0. I have copied the arm_math.h, const_structs.h and arm_common_tables.h into Drivers/CMSIS/DSP/Include.
I was not able to find arm_math.h until I went to Project > Properties > C/C++ General > Paths and Symbols > Includes and added in Drivers/CMSIS/DSP/Include.
After which I get a whole bunch of errors:
__uint32_t
../Drivers/CMSIS/DSP/Include/arm_math.h:6612:3: error: unknown type name 'uint32_t'; did you mean '__uint32_t'?
uint32_t blockSize);
../Drivers/CMSIS/DSP/Include/arm_math.h:6873:16: error: unknown type name '__STATIC_INLINE'
CMSIS_INLINE __STATIC_INLINE q15_t arm_bilinear_interp_q15(
^~~~~~~~~~~~~~~
../Drivers/CMSIS/DSP/Include/arm_math.h:6873:38: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'arm_bilinear_interp_q15'
CMSIS_INLINE __STATIC_INLINE q15_t arm_bilinear_interp_q15(
^~~~~~~~~~~~~~~~~~~~~~~
../Drivers/CMSIS/DSP/Include/arm_math.h:6951:16: error: unknown type name '__STATIC_INLINE'
CMSIS_INLINE __STATIC_INLINE q7_t arm_bilinear_interp_q7(
^~~~~~~~~~~~~~~
Thanks!
2019-06-01 08:36 AM
I'm having the same problem. Had to manually copy over / link the DSP library to get cube IDE to build the project.
Now I'm trying to get a project with FreeRTOS working and it's proving to be a massive headache.
2019-11-19 02:11 AM
Hi all together
I had a similar problem recently and asked ST directly with STM32CubeIDE V1.1.0, I use a STM32F303.
The following was the Answer:
"... The package feature for third party pack is not yet fully implemented in CubeMX. This is reason why it is partially working.
Also currently is no possible to select this in CubeMX. But is possible to add this library manually.
You can find it in you HAL package in
STM32Cube_FW_F3_V1.11.0\Drivers\CMSIS\Lib\GCC\
And you must add it into your project on disc.
And then in project properties -> C/C++ Build -> Settings -> Tool Settings -> Libraries
Sect path where is your library and select name of this library.
"
This worked.
I copied the library and the headerfiles to my project and added the library as in the picture below.
further did I had to define the symbol(this is MCU dependend) also as in the picture below.