2024-12-08 4:27 AM
The STM32CubeG4 package comes with CMSIS v5.6 (https://github.com/STMicroelectronics/STM32CubeG4/tree/master/Drivers/CMSIS) which I think was released in July 2019.
Is it necessary to use this version or can I upgrade it to a later release? Currently v6.1 is the latest CMSIS release.
2024-12-08 8:18 AM
Following the latest CMSIS is not necessary. STM32G4 is a mature Cortex-M4, it does not require the latest developments in ARM Cortex-M. Updating one of components may (and usually does) break the whole package and causes loss of productivity and time.
2024-12-10 3:54 AM
OK thanks.
What about the STM32CubeH7? Is that also a 'mature' product? It also has CMSIS v5.6.
2024-12-10 4:20 AM - edited 2024-12-10 4:20 AM
Older STM32H7's are mature products. Not sure about new ones (H7R/S).
2025-01-17 1:12 PM
Is it really not possible to upgrade the CMSIS version for STM32G4? I would really like to use the arm_atan2_xxx() function in my code but it doesn't exist in the CMSIS included in the STM32G4 firmware.
Thanks
paul
2025-01-17 2:17 PM
Can't you back-port this function to the library included in the STM32G4 firmware?
2025-01-20 1:14 AM
I guess I'll have to attempt to do that. Although I don't understand why the CMSIS can't be upgraded - there are bound to be other useful features in the new versions. Do I have to "back-port" all the new stuff that I want to use? Makes no sense.
2025-10-29 9:09 AM
Have you had any progress? I am trying to accomplish the same thing. I also wanted to use the arm_atan2_f32() function but this was not included in the G4's default 1.6.X firmware versions. I read it was added in later DSP versions, such as 1.10.X.
From my research so far, it looks like we would need to download the CMSIS DSP source from Github.io, and integrate it from source ourselves? Here is the CMSIS DSP sources: https://github.com/ARM-software/CMSIS-DSP
Then we would need to cross compile the library for the M4/G4 processor ourselves, and copy over the correct folders (Include, Lib, PrivateInclude), and define the ARM_MATH_CM4 symbol for our project.
I found this video helpful https://youtu.be/lwsWaMeP1co but I'm still debating whether I want to do all of this.
2025-10-29 6:23 PM
I haven’t tried it specifically with the CMSIS-DSP pack but you should be able to download the pack from ARM and import it into CubeMx (Help->Manage Packs then select ‘From Local’). Then you can add it to your CubeMx project from the middleware section. I did this to update the CMSIS pack and it worked well. I think ST has an app note or post on this somewhere. 
https://www.keil.arm.com/packs/cmsis-dsp-arm/versions/
2025-10-30 2:53 AM
I found that in later CMSIS versions (than the version incorporated in the STM32CubeG4 package) CMSIS-DSP is a separate download from the main CMSIS package. I attempted to update the DSP element of the STM32CubeG4 package by downloading the source and compiling it to produce a library that could be linked in STM32CubeIDE.
It took a while for me to do this - I'd never used CMake or Ninja previously and it was a bit of a steep learning curve. I did manage to compile a library but it all feels a bit hacky and I'm not confident in using it.
I also tried to install the ARM DSP pack (specifically ARM.CMSIS-DSP.1.16.2.pack) into STM32CubeIDE using the Embedded Software Packages Manager but it fails with an error:
