CMSIS Version 5 will focus on improvements and further industry adoption. The license will be changed to the permissive Apache 2.0 license, to enable contributions from interested third parties.
Support for the new ARMv8-M architecture will be added as well as improvements for ARM Cortex-A/Cortex-M based hybrid devices (with a clear focus on Cortex-M interaction).
The CMSIS-RTOS API and RTX reference implementation with get several enhancements:
CMSIS-Pack will get additions for generic example projects, project templates, and multiple download portals. It will also adopt the Flash loader technology from IAR Systems.
As announced on embedded world, the development repository of CMSIS Version 5 is now available on GitHub: https://github.com/ARM-software/CMSIS_5
ARM invites all interested parties to contribute and/or to provide feedback for the CMSIS project using GitHub.
Embedded
> I really cannot see why this should be a real mess.
you will.
Hello Liviu,
I really cannot see why this should be a real mess. Up until now, CMSIS was released by ARM and there was no public repo at all (however most of the source code was available within the Pack itself).
Now, the development work is done on CMSIS_5 and all upcoming releases will be done from this repo.
> we do have reasons to distinguish between CMSIS and CMSIS_5. ... In the end it's just names and does not really matter.
this means you will abandon CMSIS and all further releases will go to CMSIS_5, even if they'll be in fact for CMSIS 6, 7 etc?
do you realise that this will be a real mess? whatever reasons you have (probably some outdated internal procedures and a poor understanding of the Git workflow), they should be re-evaluated.
thanks for pointing this out, but we do have reasons to distinguish between CMSIS (up until the current version 4.x) and CMSIS_5 (which in our case means 5 and above). You do not need to worry about version 6, 7, and so on as they will all be under the current working repo CMSIS_5. In the end it's just names and does not really matter.
The idea to create a new repository for each version is very unfortunate and breaks the Git workflow and the main purpose of a version control system, i.e. to manage the changes.
What do you plan to do when CMSIS 5 will be released? Create a new repository CMSIS 6? Then CMSIS 7 and so on? Will CMSIS 5 be preserved, or it will be removed as unnecessary?
If I contribute issues and commits to these separate repositories, how will you be able to tell after several versions who contributed what to CMSIS, if issues and commits are not centralised into a single project?
The well established Git workflow uses separate branches for development, releases and bug fixes, in a single repository (CMSIS in our case), and you should adapt your internal procedures to use them if you want to join the collaborative world of software development.