1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
RIOT/cpu/sam0_common/include/vendor
Benjamin Valentin 7b65398ae1 cpu/sam0_common: add samd20 vendor files
Files from Atmel.SAMD20_DFP.1.3.165.atpack
2021-01-12 15:48:39 +01:00
..
samd10/include cpu/sam0_common: add samd10 vendor files 2020-12-11 18:25:36 +01:00
samd20 cpu/sam0_common: add samd20 vendor files 2021-01-12 15:48:39 +01:00
samd21 cpu/sam0_common: update samd21 vendor files to version 1.3.395 2020-02-08 03:28:14 +01:00
samd51/include cpu/samd51: add common header file from ASF 2020-02-06 19:49:50 +01:00
same54/include cpu/sam0_common: import vendor files for same54 2019-06-06 16:47:11 +02:00
saml10/include cpu/sam0_common: add support for saml10/saml11 2019-01-21 17:06:58 +01:00
saml11/include cpu/sam0_common: add support for saml10/saml11 2019-01-21 17:06:58 +01:00
saml21 cpu/sam0_common: update saml21 vendor files to version 1.2.125 2020-02-12 11:46:36 +01:00
samr21/include cpu/sam0_common: update samr21 vendor files to version 1.1.72 2020-02-07 12:14:45 +01:00
samr30/include cpu/sam0_common: samr30: add integer literal macros 2020-02-25 21:52:24 +01:00
samr34/include cpu/sam0: add SAMR34 vendor files 2019-09-26 10:48:03 +02:00
README.md cpu/sam0_common: add samd20 vendor files 2021-01-12 15:48:39 +01:00

CMSIS from Atmel Software Foundation (ASF)

The include files in this directory tree are copied from Atmel sources. Most of the sam0 files are from ASF (Atmel Software Foundation, version 3.35.1). The SAML10 and SAML11 files are from, so called, atpacks.

The sam0 files

The directory tree was copied "as is" from ASF path sam0/utils/cmsis/ and its structure is as follows:

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.

sam0.h

A SAM based CPU should include sam0.h in this directory, which will resolve any CPU family specific includes required.

SAMD10 files

samd10: Atmel.SAMD10_DFP.1.1.77.atpack

SAMD20 files

samd20: Atmel.SAMD20_DFP.1.3.165.atpack

Each atpack has an include subdirectory with the files we copy into RIOT. The files are copied unmodified.

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.

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.

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.

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' {} \;

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.

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.

sam23.h

A SAML1x based CPU should include sam23.h in this directory, which will resolve any CPU family specific includes required.

Usage and porting for SAM based CPUs

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.