Skip to content

Commit

Permalink
added more 17D and 17L files from SAMD21_DFP 1.3.395 and adjusted gen…
Browse files Browse the repository at this point in the history
…eral header files to include variants.
  • Loading branch information
casundra committed Nov 20, 2021
1 parent 4b9d8de commit cb7a412
Show file tree
Hide file tree
Showing 10 changed files with 660 additions and 7 deletions.
14 changes: 11 additions & 3 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/sam.h
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,12 @@
#define SAMD21G17A ( \
part_is_defined( SAMD21G17AU ) )

#define SAMD21G17D ( \
part_is_defined( SAMD21G17D ) )

#define SAMD21G17L ( \
part_is_defined( SAMD21G17L ) )

#define SAMD21E15B ( \
part_is_defined( SAMD21E15BU ) )

Expand Down Expand Up @@ -143,6 +149,7 @@

#define SAMD21G17 ( \
part_is_defined( SAMD21G17A ) )
part_is_defined( SAMD21G17D ) )

#define SAMD21G18A ( \
part_is_defined( SAMD21G18AU ) )
Expand All @@ -156,7 +163,7 @@

#define SAMD21J18 ( \
part_is_defined( SAMD21J18A ) )

#define SAMD51G18A ( \
part_is_defined( SAMD51G18A ) )

Expand All @@ -181,9 +188,10 @@
#define SAMD51P20A ( \
part_is_defined( SAMD51P20A ) )


/* Entire SAMD21 series */
#define SAMD21_SERIES (SAMD21J17 || SAMD21G17A || SAMD21E15B || SAMD21E15 || SAMD21E16 || SAMD21E17 || SAMD21E18 || SAMD21E16B || SAMD21J15 || SAMD21J16 || SAMD21G16 || SAMD21G17 || SAMD21G18A || SAMD21G15 || SAMD21G18 || SAMD21J18)
#define SAMD21_SERIES (SAMD21J17 || SAMD21G17A || SAMD21G1D || SAMD21G17L || SAMD21E15B || SAMD21E15 || SAMD21E16 || SAMD21E17 || SAMD21E18 || SAMD21E16B || SAMD21J15 || SAMD21J16 || SAMD21G16 || SAMD21G17 || SAMD21G18A || SAMD21G15 || SAMD21G18 || SAMD21J18)
#define SAMD21 SAMD21_SERIES

/* Entire SAMD51 series */
#define SAMD51_SERIES (SAMD51G18A || SAMD51G19A || SAMD51J19A || SAMD51J20A || SAMD51N19A || SAMD51N20A || SAMD51P19A || SAMD51P20A)
Expand Down
4 changes: 4 additions & 0 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/samd.h
Original file line number Diff line number Diff line change
Expand Up @@ -101,6 +101,10 @@
#include "samd21/include/samd21.h"
#elif defined (__SAMD21G17AU__)
#include "samd21/include/samd21.h"
#elif defined (__SAMD21G17D__)
#include "samd21/include/samd21.h"
#elif defined (__SAMD21G17L__)
#include "samd21/include/samd21.h"
#elif defined (__SAMD21G18A__)
#include "samd21/include/samd21.h"
#elif defined (__SAMD21G18AU__)
Expand Down
39 changes: 39 additions & 0 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/samd21/include/component/ptc.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
/**
* \brief Component description for PTC
*
* Copyright (c) 2019 Microchip Technology Inc. and its subsidiaries.
*
* Subject to your compliance with these terms, you may use Microchip software and any derivatives
* exclusively with Microchip products. It is your responsibility to comply with third party license
* terms applicable to your use of third party software (including open source software) that may
* accompany Microchip software.
*
* THIS SOFTWARE IS SUPPLIED BY MICROCHIP "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY,
* APPLY TO THIS SOFTWARE, INCLUDING ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND
* FITNESS FOR A PARTICULAR PURPOSE.
*
* IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL OR CONSEQUENTIAL
* LOSS, DAMAGE, COST OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE SOFTWARE, HOWEVER CAUSED, EVEN IF
* MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT
* ALLOWED BY LAW, MICROCHIP'S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THIS SOFTWARE WILL NOT
* EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THIS SOFTWARE.
*
*/

/* file generated from device description version 2019-03-25T23:06:20Z */
#ifndef _SAMD21_PTC_COMPONENT_H_
#define _SAMD21_PTC_COMPONENT_H_

/* ************************************************************************** */
/* SOFTWARE API DEFINITION FOR PTC */
/* ************************************************************************** */

/** \brief PTC register offsets definitions */

#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
/** \brief No register API structure defined for PTC */
typedef void Ptc;


#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
#endif /* _SAMD21_PTC_COMPONENT_H_ */
5 changes: 5 additions & 0 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/samd21/include/samd21.h
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
#ifndef _SAMD21_
#define _SAMD21_


/**
* \defgroup SAMD21_definitions SAMD21 Device Definitions
* \brief SAMD21 CMSIS Definitions.
Expand All @@ -65,6 +66,10 @@
#include "samd21g17a.h"
#elif defined(__SAMD21G17AU__) || defined(__ATSAMD21G17AU__)
#include "samd21g17au.h"
#elif defined(__SAMD21G17D__) || defined(__ATSAMD21G17D__)
#include "samd21g17d.h"
#elif defined(__SAMD21G17L__) || defined(__ATSAMD21G17L__)
#include "samd21g17l.h"
#elif defined(__SAMD21G18A__) || defined(__ATSAMD21G18A__)
#include "samd21g18a.h"
#elif defined(__SAMD21G18AU__) || defined(__ATSAMD21G18AU__)
Expand Down
21 changes: 19 additions & 2 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/samd21/include/samd21g17d.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the Licence at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Expand Down Expand Up @@ -183,6 +183,13 @@ typedef struct _DeviceVectors
void* pfnTCC3_Handler; /* 29 Timer Counter Control 3 */
} DeviceVectors;

/* Defines for Deprecated Interrupt and Exceptions handler names */
// added from include_mcc file in Atmel update pack
#define pfnMemManage_Handler pfnMemoryManagement_Handler /**< \deprecated Backward compatibility for ASF*/
#define pfnDebugMon_Handler pfnDebugMonitor_Handler /**< \deprecated Backward compatibility for ASF*/
#define pfnNMI_Handler pfnNonMaskableInt_Handler /**< \deprecated Backward compatibility for ASF*/
#define pfnSVC_Handler pfnSVCall_Handler /**< \deprecated Backward compatibility for ASF*/

/* Cortex-M0+ processor handlers */
void Reset_Handler ( void );
void NonMaskableInt_Handler ( void );
Expand Down Expand Up @@ -220,6 +227,12 @@ void PTC_Handler ( void );
void I2S_Handler ( void );
void TCC3_Handler ( void );

/* Defines for Deprecated Interrupt and Exceptions handler names */
#define MemManage_Handler MemoryManagement_Handler /**< \deprecated Backward compatibility*/
#define DebugMon_Handler DebugMonitor_Handler /**< \deprecated Backward compatibility*/
#define NMI_Handler NonMaskableInt_Handler /**< \deprecated Backward compatibility*/
#define SVC_Handler SVCall_Handler /**< \deprecated Backward compatibility*/

/*
* \brief Configuration of the Cortex-M0+ Processor and Core Peripherals
*/
Expand All @@ -229,6 +242,9 @@ void TCC3_Handler ( void );
#define __NVIC_PRIO_BITS 2 /*!< Number of bits used for Priority Levels */
#define __VTOR_PRESENT 1 /*!< VTOR present or not */
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
#define __ARCH_ARM 1
#define __ARCH_ARM_CORTEX_M 1
#define __DEVICE_IS_SAM 1

/**
* \brief CMSIS includes
Expand Down Expand Up @@ -262,6 +278,7 @@ void TCC3_Handler ( void );
#include "component/pac.h"
#include "component/pm.h"
#include "component/port.h"
#include "component/ptc.h"
#include "component/rtc.h"
#include "component/sercom.h"
#include "component/sysctrl.h"
Expand Down
14 changes: 12 additions & 2 deletions CMSIS-Atmel/CMSIS/Device/ATMEL/samd21/include/samd21g17l.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the Licence at
*
*
* http://www.apache.org/licenses/LICENSE-2.0
*
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
Expand Down Expand Up @@ -220,6 +220,11 @@ void DAC_Handler ( void );
void AC1_Handler ( void );
void TCC3_Handler ( void );

/* Defines for Deprecated Interrupt and Exceptions handler names */
#define MemManage_Handler MemoryManagement_Handler /**< \deprecated Backward compatibility*/
#define DebugMon_Handler DebugMonitor_Handler /**< \deprecated Backward compatibility*/
#define NMI_Handler NonMaskableInt_Handler /**< \deprecated Backward compatibility*/
#define SVC_Handler SVCall_Handler /**< \deprecated Backward compatibility*/
/*
* \brief Configuration of the Cortex-M0+ Processor and Core Peripherals
*/
Expand All @@ -229,6 +234,9 @@ void TCC3_Handler ( void );
#define __NVIC_PRIO_BITS 2 /*!< Number of bits used for Priority Levels */
#define __VTOR_PRESENT 1 /*!< VTOR present or not */
#define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */
#define __ARCH_ARM 1
#define __ARCH_ARM_CORTEX_M 1
#define __DEVICE_IS_SAM 1

/**
* \brief CMSIS includes
Expand Down Expand Up @@ -260,6 +268,7 @@ void TCC3_Handler ( void );
#include "component/nvmctrl.h"
#include "component/pac.h"
#include "component/pm.h"
#include "component/ptc.h"
#include "component/port.h"
#include "component/rtc.h"
#include "component/sercom.h"
Expand Down Expand Up @@ -356,6 +365,7 @@ void TCC3_Handler ( void );
#define ID_ADC 80 /**< \brief Analog Digital Converter (ADC) */
#define ID_AC 81 /**< \brief Analog Comparators (AC) */
#define ID_DAC 82 /**< \brief Digital Analog Converter (DAC) */
#define ID_PTC 83 /**< \brief Peripheral Touch Controller (PTC) */
#define ID_AC1 85 /**< \brief Analog Comparators 1 (AC1) */
#define ID_TCC3 88 /**< \brief Timer Counter Control 3 (TCC3) */

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
/**
* \file
*
* \brief Linker script for running in internal FLASH on the SAMD21G17D
*
* Copyright (c) 2018 Microchip Technology Inc.
*
* \asf_license_start
*
* \page License
*
* SPDX-License-Identifier: Apache-2.0
*
* Licensed under the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the Licence at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an AS IS BASIS, WITHOUT
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* \asf_license_stop
*
*/


OUTPUT_FORMAT("elf32-littlearm", "elf32-littlearm", "elf32-littlearm")
OUTPUT_ARCH(arm)
SEARCH_DIR(.)

/* Memory Spaces Definitions */
MEMORY
{
rom (rx) : ORIGIN = 0x00000000, LENGTH = 0x00020000
ram (rwx) : ORIGIN = 0x20000000, LENGTH = 0x00004000
}

/* The stack size used by the application. NOTE: you need to adjust according to your application. */
STACK_SIZE = DEFINED(STACK_SIZE) ? STACK_SIZE : DEFINED(__stack_size__) ? __stack_size__ : 0x1000;

/* Section Definitions */
SECTIONS
{
.text :
{
. = ALIGN(4);
_sfixed = .;
KEEP(*(.vectors .vectors.*))
*(.text .text.* .gnu.linkonce.t.*)
*(.glue_7t) *(.glue_7)
*(.rodata .rodata* .gnu.linkonce.r.*)
*(.ARM.extab* .gnu.linkonce.armextab.*)

/* Support C constructors, and C destructors in both user code
and the C library. This also provides support for C++ code. */
. = ALIGN(4);
KEEP(*(.init))
. = ALIGN(4);
__preinit_array_start = .;
KEEP (*(.preinit_array))
__preinit_array_end = .;

. = ALIGN(4);
__init_array_start = .;
KEEP (*(SORT(.init_array.*)))
KEEP (*(.init_array))
__init_array_end = .;

. = ALIGN(4);
KEEP (*crtbegin.o(.ctors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .ctors))
KEEP (*(SORT(.ctors.*)))
KEEP (*crtend.o(.ctors))

. = ALIGN(4);
KEEP(*(.fini))

. = ALIGN(4);
__fini_array_start = .;
KEEP (*(.fini_array))
KEEP (*(SORT(.fini_array.*)))
__fini_array_end = .;

KEEP (*crtbegin.o(.dtors))
KEEP (*(EXCLUDE_FILE (*crtend.o) .dtors))
KEEP (*(SORT(.dtors.*)))
KEEP (*crtend.o(.dtors))

. = ALIGN(4);
_efixed = .; /* End of text section */
} > rom

/* .ARM.exidx is sorted, so has to go in its own output section. */
PROVIDE_HIDDEN (__exidx_start = .);
.ARM.exidx :
{
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
} > rom
PROVIDE_HIDDEN (__exidx_end = .);

. = ALIGN(4);
_etext = .;

.relocate : AT (_etext)
{
. = ALIGN(4);
_srelocate = .;
*(.ramfunc .ramfunc.*);
*(.data .data.*);
. = ALIGN(4);
_erelocate = .;
} > ram

/* .bss section which is used for uninitialized data */
.bss (NOLOAD) :
{
. = ALIGN(4);
_sbss = . ;
_szero = .;
*(.bss .bss.*)
*(COMMON)
. = ALIGN(4);
_ebss = . ;
_ezero = .;
} > ram

/* stack section */
.stack (NOLOAD):
{
. = ALIGN(8);
_sstack = .;
. = . + STACK_SIZE;
. = ALIGN(8);
_estack = .;
} > ram

. = ALIGN(4);
_end = . ;
}
Loading

0 comments on commit cb7a412

Please sign in to comment.