2017-09-20 13:03:22 +02:00
|
|
|
# CMSIS from Atmel Software Foundation (ASF)
|
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
The include files in this directory tree are copied from Atmel
|
|
|
|
sources. Most of the sam0 files are from ASF (Atmel Software Foundation,
|
2019-01-31 21:13:13 +01:00
|
|
|
version 3.35.1). The SAML10 and SAML11 files are from, so called, atpacks.
|
2017-09-20 13:03:22 +02:00
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
## The sam0 files
|
|
|
|
|
|
|
|
The directory tree was copied "as is" from ASF path `sam0/utils/cmsis/` and
|
|
|
|
its structure is as follows:
|
2017-09-20 13:03:22 +02:00
|
|
|
|
|
|
|
cmsis
|
|
|
|
├── samd21
|
|
|
|
│ ├── include
|
|
|
|
│ │ ├── component
|
|
|
|
│ │ ├── instance
|
|
|
|
│ │ └── pio
|
|
|
|
│ └── source
|
|
|
|
│ ├── gcc
|
|
|
|
│ └── iar
|
|
|
|
.
|
|
|
|
.
|
|
|
|
.
|
|
|
|
├── samr21
|
|
|
|
│ ├── include
|
|
|
|
│ │ ├── component
|
|
|
|
│ │ ├── instance
|
|
|
|
│ │ └── pio
|
|
|
|
. └── source
|
|
|
|
. ├── gcc
|
|
|
|
. └── iar
|
|
|
|
|
|
|
|
However, as only the header files in `include` and its subfolders are required,
|
|
|
|
all `source` folders are removed.
|
|
|
|
|
|
|
|
Be aware that if you want to make changes to any file in this tree that the
|
|
|
|
changes will be lost when a new ASF release is going to be used.
|
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
### sam0.h
|
|
|
|
|
|
|
|
A SAM based CPU should include `sam0.h` in this directory, which will
|
|
|
|
resolve any CPU family specific includes required.
|
|
|
|
|
2020-02-06 20:07:34 +01:00
|
|
|
## SAMD21 files
|
|
|
|
|
|
|
|
samd21: `Atmel.SAMD21_DFP.1.3.395.atpack`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT. The files are copied unmodified.
|
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
## SAML10/SAML11 files
|
|
|
|
|
|
|
|
Since 2019 the necessary variant files are available in atpacks at
|
|
|
|
|
|
|
|
http://packs.download.atmel.com/
|
|
|
|
|
|
|
|
saml10: `Atmel.SAML10_DFP.1.0.142.atpack`
|
|
|
|
saml11: `Atmel.SAML11_DFP.1.0.91.atpack`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT. The files are copied unmodified.
|
|
|
|
|
2020-02-12 11:46:36 +01:00
|
|
|
## SAML21 files
|
|
|
|
|
|
|
|
saml21: `Atmel.SAML21_DFP.1.2.125.atpack`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT. The files are copied unmodified.
|
|
|
|
|
2020-02-06 18:10:06 +01:00
|
|
|
## SAMR21 files
|
|
|
|
|
|
|
|
samr21: `Atmel.SAMR21_DFP.1.1.72.atpack`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT. The following replacements were done for compatibility with newlib:
|
|
|
|
|
|
|
|
find -name '*.h' -exec sed -ie 's/_U(/_U_(/g' {} \;
|
|
|
|
find -name '*.h' -exec sed -ie 's/_L(/_L_(/g' {} \;
|
|
|
|
|
2020-02-20 11:33:18 +01:00
|
|
|
## SAMR30 files
|
|
|
|
|
|
|
|
samr30: `Atmel.SAMR30_DFP.1.1.35.atpack`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT.
|
|
|
|
|
|
|
|
The PIN_($pin)_EIC_EXTINT_NUM macos and integer literal macros (_L_() etc)
|
|
|
|
were added manually.
|
|
|
|
It is expected for those to appear in the next atpack release by
|
|
|
|
Microchip.
|
|
|
|
|
|
|
|
If *_EIC_EXTINT_NUM macros are missing after an update, GPIO interrupts
|
|
|
|
not work. See 93d536f76 for how to generate them.
|
|
|
|
|
2019-03-23 22:10:54 +01:00
|
|
|
## SAMR34 files
|
|
|
|
|
|
|
|
samr34: `Atmel.SAMR34_DFP.1.0.11.atpacks`
|
|
|
|
|
|
|
|
Each atpack has an include subdirectory with the files we copy into
|
|
|
|
RIOT. The files are copied unmodified.
|
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
### sam23.h
|
|
|
|
|
|
|
|
A SAML1x based CPU should include `sam23.h` in this directory, which will
|
|
|
|
resolve any CPU family specific includes required.
|
2017-09-20 13:03:22 +02:00
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
## Usage and porting for SAM based CPUs
|
2017-09-20 13:03:22 +02:00
|
|
|
|
2019-01-31 21:03:30 +01:00
|
|
|
If other CPUs are needed, copy the include files from ASF or atpack for the
|
|
|
|
respective CPU family here and adapt `sam0.h` or `sam23.h` accordingly.
|