Closed stephanosio closed 5 years ago
FYI @galak @MaureenHelm We also have the option would be to pull-in CMSIS via west; have we ruled-out this possibility?
@ioannisg Is the long term plan to completely phase out ext/
? I see that all the SoC HALs have been recently moved out to separate repos.
There is a reason to keep CMSIS here @stephanosio ; that is to be able to run QEMU for ARM without external dependencies, but, i think we may well use the upstream code. We need to think seriously about this; there are certain consequences of moving CMSIS to external repo or using the upstream CMSIS directly
There is a reason to keep CMSIS here @stephanosio ; that is to be able to run QEMU for ARM without external dependencies
@ioannisg Since that means pulling CMSIS via west would be a problem, I will go ahead with implementing the changes described in this issue in ext/hal/cmsis
and make a PR.
I'm still working on CMSIS-Core(R), so the initial PR will only make the necessary changes to accommodate other CMSIS variants.
So can this issue be closed now?
So can this issue be closed now?
Yes, all proposed changes have been implemented in #19875.
At the time of writing, the Zephyr repository only includes CMSIS-Core(M) variant under
ext/hal/cmsis
and assumes that the only form of "CMSIS" available is CMSIS-Core(M).In order to facilitate the development of Cortex-A and Cortex-R ports, the CMSIS-to-Zephyr RTOS integration structure should be refactored to support multiple CMSIS-Core variants as well as other coprocessor and extension variants.
The planned implementation strategy is as follows (feel free to discuss and provide suggestions):
Create a dedicated directory for CMSIS-Core(M) at
ext/hal/cmsis/Core
and relocate the currentext/hal/cmsis/Include
to under it.ext/hal/cmsis
should make future merging easier and avoid confusion as to what's what.ext/hal/cmsis/
using their original CMSIS repository directory name in the future as necessary; for instance, CMSIS-Core(A) may be added toext/hal/cmsis/Core_A
.Change Kconfig
HAS_CMSIS
toHAS_CMSIS_CORE
.HAS_CMSIS
currently is that CMSIS-Core(M) is used.HAS_CMSIS_DSP
for CMSIS-DSP.Make
HAS_CMSIS_CORE
automatically select the appropriate CMSIS-Core variant based on the core type configuration (-M, -A, -R).HAS_CMSIS_CORE
should not be a problem.