Hi,
As you are probably already aware, we have a few changes in review that add external components to Zephyr, especially the CMSIS headers needed for porting more Cortex-M MCUs and board.
Zephyr already has some external components. Some will need to move to the new proposed location outlined below.
Proposal:
create a top level directory for all external components and headers with the following structure (slightly modified):
ext/
hal/
cmsis
qmsi
ksdk
...
lib/
tinycrypt
matt-bar
lwm2m-foo
foo-tls
….
we should be able to add more 2nd level categories under ext/, we might consider having drivers for example for drivers from vendor SDKs that are well tested and verified.
The advantages of having all the code in one place:
- easy to update and maintain
- files of the same license and from the same source all in one location
- can be excluded from zephyr style checks easily (to make CI happy)
- no contamination with original zephyr code
disadvantages:
- the code will be in a location different from where it is being used and referenced
- need to create cross references across the tree
- …
We plan to make this final by next week. If you have any concerns or other suggestions please raise them now.
Anas