cancel
Showing results for 
Search instead for 
Did you mean: 

Which CMSIS Version is used with CubeMX? I've updated the CMSIS Version in Cube, but there are still the old CMSIS files copied to the newly generated project files

LHase.1
Associate II

Is it possibile to choose the CMSIS Version in Cube? What's a good way to manage CMSIS updates? Copy/Paste manually?

I'am using Keil µVision 5.29 (Keil Project manually generated -> Reference to copied STM32CubeMX Files).

STM32CubeMX 5.6.1

Cube MCU Package 1.16 for STM32F7

Updated CMSIS in Cube to 5.6.0, files copied in the path STCubeGenerated\Drivers\CMSIS are from CMSIS 5.1.0.

Thank you and kind regards

Lasse

6 REPLIES 6
TDK
Guru

> What's a good way to manage CMSIS updates?

Personally, I use the latest available when I start the project, then never update unless there is a compelling reason.

Copying files over manually works, just be sure you get them all. That's what I do. Not sure how CubeMX does this.

If you feel a post has answered your question, please click "Accept as Solution".
Piranha
Chief II

> Updated CMSIS in Cube to 5.6.0, files copied in the path STCubeGenerated\Drivers\CMSIS are from CMSIS 5.1.0.

So this is what you see? In the Cube repository it is 5.6.0, but copied into generated project is 5.1.0? Where could CubeMX copy that from?

-- pa

My point is - just take the latest release from ARM and don't wait what and when ST will repack.

LHase.1
Associate II

Hello,

I've found my problem. I was thinking that the defines __CM_CMSIS_VERSION_MAIN and __CM_CMSIS_VERSION_SUB reflect the CMSIS Version 5.3.0, 5.4.0 etc. but they are useless in my opinion. The both defines have the following values.

CMSIS 5.3.0 _MAIN: 5 _SUB: 1

CMSIS 5.4.0 _MAIN: 5 _SUB: 1

CMSIS 5.5.0 _MAIN: 5 _SUB: 1

CMSIS 5.5.1 _MAIN: 5 _SUB: 1

CMSIS 5.6.0 _MAIN: 5 _SUB: 3

CMSIS 5.7.0 _MAIN: 5 _SUB: 4

With the new versions (since 5.6.0) the defines get an update. They are distinguishable, but I think it's easier with defines referenced to the "Main" CMSIS Version.

Are there other defines which I can use?

Thank you for your answers. To get the source from github is the best idea 🙂

LHase.1
Associate II

But if I push the button "GENERATE CODE" in STM32CubeMX (5.6.1) with STM32F7 Package 1.16 and only CMSIS 5.6.0 and 5.7.0 in the repository:

The newer versions are not used. There is another CMSIS Driver folder which Cube copies to the project files under /RTE/

and this CMSIS Version is very old. But because of the useless VERSION Defines it's not easy to find out which version of CMSIS is in the package Cube package. After a little research I only know the version in the newest Cube package for STM32F7 controllers is equal or older than CMSIS 5.4.0.

The new question is:

For what you can download CMSIS Packages from ARM in STM32Cube?

Best regards

Lasse