STMicroelectronics / cmsis-core

CMSIS Core module, fully aligned with ARM versions.
43 stars 18 forks source link

Branch organisation and relation to ARM's CMSIS v5 repo #4

Closed vincent-chtln closed 9 months ago

vincent-chtln commented 9 months ago

Hi ST team,

I was wondering about the relation between this repository and ARM's official CMSIS v5 repository (lets call it the base repository). As far as I understand it, this should be a copy of the CMSIS folder from base repository, but there are missing files and folders. How do you choose which files to copy here and which not to copy ?

Moreover, there are currently 6 branches in this repository: 1 master + 5 branches targetting a specific Cortex-M architecture. What is the difference between these dedicated branches, the master branch, and the develop branches in the base repository. Again, dedicated branches miss files that are present in the master branch. How to you choose which files to remove from dedicated branches ?

In the future, do you plan to switch to newer versions of CMSIS v5, or even switch to CMSIS v6 (maybe in cmsis_core_6 repo) ? It has been 5 years since the 5.6.0 release.

Finally, my team is starting a new project on STM32F4 chips and we would like to submodule git repositories for our components. HAL and CMSIS device will be taken from your git repositories, but should we target this repository over the base repository for CMSIS core ?

Thanks !

ALABSTM commented 9 months ago

Hi @vincent-chtln,

Thank you for these questions. Please find my answers below:

I hope this helps. Do not hesitate otherwise and best of luck for your project.

With regards,

ALABSTM commented 9 months ago

Hi @vincent-chtln,

Version 5.9.0 of the CMSIS Core provided by STMicroelectronics has just been published on this repository. Please allow me to close this thread.

With regards,

vincent-chtln commented 9 months ago

Hi @ALABSTM,

Thank you for the detailled information !

As you suggested we will target the m4 branch to reduce package size (precisely the v5.6.0_cm4 tag for easier version control).

Since we can obiously not place cmsis_device_f4 repository inside another git submodule, we created an ARM/CMSIS_v5 folder for cmsis-core module and a ST/Drivers/CMSIS/Device/ST/STM32F4xx folder for device specific implementation (this architecture mirrors the one in Cube packages), thus splitting submodules according to the external vendor.

We will keep track of the Cube packages' evolution and upgrade to another CMSIS version if needed.

Kind regards,