Skip to main content
seppeltronics_v
Associate III
July 14, 2021
Solved

STMCubeIDE 1.6.1 and ARM CMSIS 5.7.0 (DSP)

Hello,

at the moment I try to make the DSP-Lib work, I’d like to switch to 5.6.0, but the IDE doesn’t let me “erase�? the package because it claims it is used. Ok, so tries to continue with it:

Step1: I activated it:

0693W00000BdfDwQAJ.png 

Step2: I set the Symbols:

__FPU_Present=1

ARM_MATH_CM4

CORE_CM4

0693W00000BdfEBQAZ.png 

Step3: Checking the Includes:

Here it starts getting interesting, I do not know why the CubeIDE added Core_A? Is that correct.

0693W00000BdfE6QAJ.png

Step4: Copying all the files that are missing:

Not sure why ARM includes *.c-Files, anyway, I added all the *.c and *.h filed from the package I downloaded.

0693W00000BdfE1QAJ.png 

Step5: I include “arm_math.h�? in main.c and try to compile the project:

Here is the issue, I get ton’s of error-messages like this one:

c:\st\stm32cubeide_1.6.1\stm32cubeide\plugins\com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.9-2020-q2-update.win32_1.5.0.202011040924\tools\arm-none-eabi\bin\ld.exe: Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/CommonTables/arm_common_tables.o:(.rodata.twiddleCoef_4096_q15+0x0): multiple definition of `twiddleCoef_4096_q15'; Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/CommonTables/CommonTables.o:(.rodata.twiddleCoef_4096_q15+0x0): first defined here

What am I doing wrong, did I miss a flag, or add files that should not have been added?

Thanks a lot.

Best Regards, Seppel

This topic has been closed for replies.
seppeltronics_v
seppeltronics_vBest answer
Associate III
July 14, 2021

Hello,

the issue was trivial to fix, all that was required was to exclude the folder from the build, but I did not notice it needed to be excluded. Thanks a lot for the support :thumbs_up: to everybody involved :

0693W00000CzbySQAR.png 

There are Bugs in the STM32CubeIDE regarding the ARM-CMSIS configuration. It is sad, because in general the STM32CubeIDE is very powerful, very useful and I like the fact it is eclipse where I integrate SVN, Git etc. . I hope these Bugs get fixed soon, ARM got a much better DSP-Lib than Infineon(the last time I looked at it) and that benefits ST a lot, because the applications can use the maximum performance of the controller.

0693W00000Czc2tQAB.pngAs far as I know Tilen has opened a Ticket: https://stackoverflow.com/questions/66409852/strange-error-message-when-using-cmsis-5-7-with-stm-cubeide-during-code-generati#

Thanks a lot for the good support at ST.

Best Regards, Seppel

6 replies

ChahinezC
Associate II
July 14, 2021

Hello @seppeltronics_v​,

I recommend you following Configuring DSP libraries on SM32CubeIDE article, it would help you.

When your question is answered, please close this topic by choosing Select as Best. This will help other users find that answer faster.

Chahinez.

seppeltronics_v
Associate III
July 15, 2021

Hello @ChahinezC​ ,

what I noticed, the Flag "ARM_MATH_CM4" is not in the code of Version 5.7.0 . Do you know why that is, and what should be used instead? Isn't the Code that you can compile matching the Lib?

Thanks a lot.

Best Regards, Seppel

seppeltronics_v
seppeltronics_vAuthorBest answer
Associate III
July 14, 2021

Hello,

the issue was trivial to fix, all that was required was to exclude the folder from the build, but I did not notice it needed to be excluded. Thanks a lot for the support :thumbs_up: to everybody involved :

0693W00000CzbySQAR.png 

There are Bugs in the STM32CubeIDE regarding the ARM-CMSIS configuration. It is sad, because in general the STM32CubeIDE is very powerful, very useful and I like the fact it is eclipse where I integrate SVN, Git etc. . I hope these Bugs get fixed soon, ARM got a much better DSP-Lib than Infineon(the last time I looked at it) and that benefits ST a lot, because the applications can use the maximum performance of the controller.

0693W00000Czc2tQAB.pngAs far as I know Tilen has opened a Ticket: https://stackoverflow.com/questions/66409852/strange-error-message-when-using-cmsis-5-7-with-stm-cubeide-during-code-generati#

Thanks a lot for the good support at ST.

Best Regards, Seppel

seppeltronics_v
Associate III
July 22, 2021

I summarized the results in a document(pdf).

evenlund
Associate III
September 13, 2021

Nice to hear that you managed to set up CMSIS 5. I have failed miserably trying the same with different attempts, but ended up following this howto (https://community.st.com/s/article/configuring-dsp-libraries-on-stm32cubeide) using a really old and deprecated CMSIS 4 version that is included in the latest 1.26.2 Cube package for STM32F4.

Can you elaborate a little of how you got the libraries built or where I can find prebuilt CMSIS 5 DSP libraries?

I tried following the "Building only the CMSIS-DSP library" section for the CMSIS 5 instructions (https://github.com/ARM-software/CMSIS_5/tree/develop/CMSIS/DSP) on a Ubuntu 18.04 computer with both the gcc found in the path and the gcc used in STM32CubeIDE (using a symlink). They both built fine, but I always get errors that they are libraries that are unreadable when linking in CubeIDE. "nm -D" is able to read the libraries fine.

I also agree that CubeIDE is a really nice and powerful software and it would have been a dream if the CMSIS DSP libraries where just a button click away, like they are in Keil.

seppeltronics_v
Associate III
September 13, 2021

Hello,

to get that article up to date with the current compileflags I wrote an mail to the ST-Support that I have been intouch to, hopefully it will be updated/improved soon.

Currently I have not compiled the DSP-Lib as a library, I use the source. There have been compiled versions from ARM, but I could not find the latest release as a compiled lib anywhere. I’m not using Ubuntu nor Linux, I use the STM32CubeIDE on a Win10 machine. At the moment I’m very busy, I’m really sorry, I wish I had more time, because I like helping others, being stuck is a bad feeling. I highly recommend getting in touch with the ST-Support. If you have been successful, it would be awesome if you write a little “how to�? document and post it

In general, getting the latest Lib via the STM32CubeIDE could work, ST just needs to contact ARM why the latest build is not available and bringing there IDE up to date.

Thanks a lot.

Best Regards, Seppel

P.S. @ChahinezC​  Please update your article it's misleading as it contains no information about the changes in the ARM-Library version since 2019. People use the wrong compile-Flags based on that article, leading to unnecessary support-cases at ST. Thanks a lot.