cancel
Showing results for 
Search instead for 
Did you mean: 

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

1 ACCEPTED SOLUTION

Accepted Solutions

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

View solution in original post

6 REPLIES 6
ChahinezC
Lead

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.

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

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

I summarized the results in a document(pdf).

evenlund
Associate III

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.

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.