cancel
Showing results for 
Search instead for 
Did you mean: 

Where to find if specific STM32 MCU supports specific CMSIS-RTOS version?

_AdamNtrx
Associate III

Title edited to clarify this is about CMSIS-RTOS


Hello, everybody!

I don't know where to look for information on which CMSIS versions are supported by specific STM32 microcontrollers. I asked one of the ST employees and STM32 Sidekick about this, and I got no definitive answers.

STM software tools confuse me further. For example, STM32CubeMX (6.17.0) allows me to choose CMSISv2 the interface for FreeRTOS in my STM32F769I‑DISCO board project, but LwIP in the same project does not see the operating system used unless I change the CMSIS version to v1 (you can find more details about this specific issue in this thread). I couldn't find any document that would say which interfaces are supported by LwIP either.

That's why I would like to ask You, where should I look for information about which CMSIS versions are supported by specific STM MCUs and, ideally, middlewares and software packages?

1 ACCEPTED SOLUTION

Accepted Solutions
Andrew Neil
Super User

This is a question of compatibility between the various software components - it's not about the chips themselves.

 

In your specific case, it's that the LwIP provided by ST in CubeMX requires CMSIS V1.

 

Note that LwIP is an independent 3rd-party stack - so you might be able to find an alternative implementation, or even do your own port to work with CMSIS V2...

 

PS:

Here's a 3rd-party example using LwIP with CMSIS V2

https://mongoose.ws/documentation/tutorials/stm32/nucleo-f746zg-keil-cmsis2-lwip/

@MStackDev_376 is part of the Mongoose development team and posts here often - may be able to help ... ?

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

View solution in original post

5 REPLIES 5
Andrew Neil
Super User

This is a question of compatibility between the various software components - it's not about the chips themselves.

 

In your specific case, it's that the LwIP provided by ST in CubeMX requires CMSIS V1.

 

Note that LwIP is an independent 3rd-party stack - so you might be able to find an alternative implementation, or even do your own port to work with CMSIS V2...

 

PS:

Here's a 3rd-party example using LwIP with CMSIS V2

https://mongoose.ws/documentation/tutorials/stm32/nucleo-f746zg-keil-cmsis2-lwip/

@MStackDev_376 is part of the Mongoose development team and posts here often - may be able to help ... ?

 

 

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

So if I understand correctly, it's always the software component (like LwIP or FreeRTOS) that needs to support a specific interface and the chip used is not important at all, am I right?

 

Taking this opportunity, do You know where can report a correction to LwIP code provided by ST? I made a thread about it two months ago, but I don't know if I posted it in the right place.


@_AdamNtrx wrote:

So if I understand correctly, it's always the software component (like LwIP or FreeRTOS) that needs to support a specific interface and the chip used is not important at all, am I right?


Pretty much.

Of course, there are some basic hardware requirements - but not specific dependencies on particular chips.

 


@_AdamNtrx wrote:

I made a thread about it two months ago, but I don't know if I posted it in the right place.


Yes, that's in the Embedded Software forum - that's the place to raise issues with software.

If you want direct support from ST, you can also raise a support case: https://ols.st.com/s/

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.
Andrew Neil
Super User

I found this on the difference between CMSIS-RTOS v1 and v2:

https://github.com/STMicroelectronics/cmsis-core/issues/1

 

Also this on the difference between CMSIS and CMSIS-RTOS:

What is the difference between CMSIS and CMSIS-RTOS?

I think this thread is really about CMSIS-RTOS?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

Thank You. I think all my doubts are cleared up now.