Skip to content

Conversation

@JohnK1987
Copy link
Member

Summary of changes

The PR brings update of CMSIS 6 Core and RTX 5.9. This is now done using submodules, which will allow easy update in future because the implementation is done cleanly via CMake without modifying submodules.
RTX_config.h and rtx_def.h have to be overriden so their copies are placed outside of submodule and integrated back via CMake.
Like before it supports both profiles, bare‑metal and full RTOS, with shared RTOS2 API headers for both, and kernel sources are only linked for full profile.
Some parts were also prepared for future possibility to add FreeRTOS as alternative RTOS backend.

Impact of changes

  • CMSIS 6 supports Cortex-M85
  • Future update can be more easy

Migration actions required

Proper testing on different targets. Because there were done some changes like

  • Some names of NVIC_Type were unified across different cortex types
  • Some CMSIS core register names were unified across different cortex types

Documentation

The cmsis readme file was updated and simplified


Pull request type

[] Patch update (Bug fix / Target update / Docs update / Test update / Refactor)
[] Feature update (New feature / Functionality change / New API)
[x] Major update (Breaking change E.g. Return code change / API behaviour change)

Test results

[] No Tests required for this change (E.g docs only update)
[] Covered by existing mbed-os tests (Greentea or Unittest)
[] Tests / results supplied as part of this PR

I did GT test with Nucleo-H743ZI2 before and after implementation if these changes and results were same.


Reviewers


JohnK1987 and others added 4 commits December 8, 2025 07:50
Refactor CMSIS path references in cmake file
Message call for debug was removed
${CMAKE_CURRENT_LIST_DIR}/device/rtos/source/RTX/mbed_rtx_handlers.c
${CMAKE_CURRENT_LIST_DIR}/device/rtos/source/RTX/mbed_rtx_idle.cpp
# Old CMSIS-RTOS v1 compatibility layer
${CMAKE_CURRENT_LIST_DIR}/device/rtos/source/cmsis_os1.c
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm... At some future date I'd like to investigate removing this, I am curious if there's anything in Mbed still using the OS 1 API calls, and if so, I'd like to update it

Copy link
Member Author

@JohnK1987 JohnK1987 Dec 9, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, it is still using, it is not working without this.
I was thinking about create an issue about we have to remove all deprecated features/functions and also use/include everything only over CMSIS-RTOS2 API and not directly from RTX.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah let's create an issue to remove use of the deprecated API. IIRC though, Mbed does require a few RTX features that aren't in the CMSIS RTOS API, so fixing that would be a much bigger project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants