cancel
Showing results for 
Search instead for 
Did you mean: 

How to use CMSIS-DSP now that there are no precompiled libs in the firmware packs

theRat
Associate

I am using STM32CubeIDE 1.13.0 with the latest firmware packs targeting a STM32H563 and need to include the CMSIS-DSP library.
All of the forum posts/youtube videos/howto's etc say to copy a precompiled library file from the firmware repository to your project and then reference it.  The problem is that the current firmware repositories no longer contain pre-compiled libraries, only source code.  So can someone provide an updated set of instructions describing how to use the DSP code.

Cheers
Simon

1 ACCEPTED SOLUTION

Accepted Solutions
Foued_KH
ST Employee

Hello @theRat , 

Thank you for bringing this to our attention.

Internal ticket number: 158545(This is an internal tracking number and is not accessible or usable by customers). 

Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

11 REPLIES 11
Robmar
Senior III

I seem to have the same issue, nothing links yet the CMSIS includes are in the settings:
Settings/Includes
../Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Include/
Error:
../Middlewares/Third_Party/ARM_CMSIS/CMSIS/DSP/Source/TransformFunctions/TransformFunctionsF16.c:29:10: fatal error: arm_cfft_f16.c: No such file or directory
29 | #include "arm_cfft_f16.c"

Back in the day we'd just use batch files, and the tools, and simply make the libraries we wanted..

One of the benefits of the library being you could throw the kitchen sink in there and let the linker resolve the pieces it did and didn't want to take, and do the dead-code elimination. I suppose the current issue is there are now so many MCU and build options that aligning the library with the project so the ABI bind properly is going to result in two dozen precompiled libraries.

Perhaps you can drop enough of the library source files into a sub-fork of the project until you get closure?

#57Varieties 

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

Isn't that like telling someone with a problem in the car's ECU (electronic ignition) that it was easier back in the day when we had carburettors? 

The whole point of technology is increasing leverage, we use C++ over C because it allows more structured and faster development, we use CubeIDE MX rather than coding each MCU´s varied internal registers by hand... the idea is to automate to be more productive, not to be able to boast that we're a "hard metal" programmer who knows the bits in every damned MCU´s DMA or UART register.
The objective here is to increase productivity, create ever more sophisticated machines, not go back to the horse.
I designed my first chip in 1982, assisted Motorola in getting their MC1378 video processor working, Intel their 82786 GPU working... their teams could build those chips, but no single engineer had a clear view how all the chip worked.
Focus, discipline and a lot of long hours, but today staff have gone soft IMHO, and I think that STM will underperform unless they get focused.  Lets face in, the IDE is a sloppy app, lots of hacks and bugs, someone needs to call it IMO.

theRat
Associate

After a bit more investigation it actually just looks like ST have forgotten to include the libraries is the relatively new H5 firmware (the first revision was March 2023). Hopefully they fix it soon as I desperately need to use the DSP in a project I am working on.

Foued_KH
ST Employee

Hello @theRat , 

Thank you for bringing this to our attention.

Internal ticket number: 158545(This is an internal tracking number and is not accessible or usable by customers). 

Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Simon
Associate II

@Foued_KH thanks so much for the response. In trying to get someone at ST's attention I also created a github issue against the firmware.
https://github.com/STMicroelectronics/STM32CubeH5/issues/2
Just letting you know to help avoid any duplicate effort.

Cheers
Simon

Hello all,
I will get back to you as soon as the request is analyzed.

Foued

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

Hi all,

   any advances on this topic?

Diego

Yes, it turned out that you just need to set the MX config to reference the CMSIS DSP pack rather than copy the files into each project.  It then compiles without errors.

Open MX ioc, click Project Manager, then Code Generator, then enable the check box "Add necessary library files as a reference....".

Before doing that, I found I needed to remove CMSIS from the Middleware panel, delete the DSP folder from the project and disk, then do the above.