Re: Structure for external libraries, HAL


Nashif, Anas
 

hi,
A followup to this: I just submitted a patch to exclude ext/hal from checkpatch.
The primary reason was how CI works. CI aborts if it finds any style issues and it does not complete the unit testing and other checks, so to be able to get full coverage also on external code being submitted, checkpatch will not skip files that are part of this directory.

Anas

On 19 May 2016, at 12:48, Nashif, Anas <anas.nashif(a)intel.com> wrote:

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



Join devel@lists.zephyrproject.org to automatically receive all group messages.