Skip to content

CMSIS to CMSIS_6 migration for Cortex-M #93725

@wearyzen

Description

@wearyzen

Summary

CMSIS 5 is deprecated upstream for a long time now and so CMSIS_6 modules was added to Zephyr main as its successor.
It is also part of 4.2 release and as part of the migration guide a request was made to module owners who are still using the older CMSIS to migrate to CMSIS_6. This issue is created to list all the modules we identified so far using the older CMSIS and to track the progress of their migration.

As per this job, below are the number of failures with platforms:

Describe the solution you'd like

We would like all module owners to use CMSIS_6 for Cortex-M targets.
This can be started simply by just replacing cmsis macros reported in the above ci job with the suggested cmsis_6's macros for now but the module owners should also check if all their use cases are satisfied with cmsis_6 and report here if somethings is missing.

Alternatives

To use a new config something like USE_CMSIS_5_MODULE for modules that want to continue using the older cmsis but for this the specific modules would have to answer the question "why cmsis and not cmsis_6?" first.

Additional Context

The main issue with having both cmsis and cmsis_6 is that they both get included in the build with older cmsis taking priority and it has resulted in issues like #93689 and PRs like #93707 being used to revert commits that passed in ci but failed externally.

This PR #93715 tried to fix the inclusion of the 2 modules but failed because of the modules listed above still using it.

Some more info is also provided in #93699

Metadata

Metadata

Assignees

Labels

EnhancementChanges/Updates/Additions to existing featuresarea: ARMARM (32-bit) Architecture

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions