mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-20 07:19:27 +02:00
2096 lines
98 KiB
ObjectPascal
2096 lines
98 KiB
ObjectPascal
{$IFNDEF FPC_DOTTEDUNITS}
|
|
unit samd51p19a;
|
|
{$ENDIF FPC_DOTTEDUNITS}
|
|
(*
|
|
Copyright (c) 2020 Microchip Technology Inc.
|
|
|
|
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.
|
|
*)
|
|
|
|
interface
|
|
{$PACKRECORDS C}
|
|
{$GOTO ON}
|
|
{$SCOPEDENUMS ON}
|
|
{$DEFINE INTERFACE}
|
|
{$UNDEF IMPLEMENTATION}
|
|
{$DEFINE __CORTEXM4}
|
|
{$DEFINE __NVIC_PRIO_BITS3 }
|
|
|
|
const
|
|
__FPU_PRESENT=1;
|
|
__MPU_PRESENT=1;
|
|
__NVIC_PRIO_BITS=3;
|
|
|
|
type
|
|
TIRQn_Enum = (
|
|
NonMaskableInt_IRQn = -14,
|
|
HardFault_IRQn = -13,
|
|
MemoryManagement_IRQn = -12,
|
|
BusFault_IRQn = -11,
|
|
UsageFault_IRQn = -10,
|
|
SVCall_IRQn = -5,
|
|
DebugMonitor_IRQn = -4,
|
|
PendSV_IRQn = -2,
|
|
SysTick_IRQn = -1,
|
|
PM_IRQn = 0,
|
|
MCLK_IRQn = 1,
|
|
OSCCTRL_0_IRQn = 2,
|
|
OSCCTRL_1_IRQn = 3,
|
|
OSCCTRL_2_IRQn = 4,
|
|
OSCCTRL_3_IRQn = 5,
|
|
OSCCTRL_4_IRQn = 6,
|
|
OSC32KCTRL_IRQn = 7,
|
|
SUPC_0_IRQn = 8,
|
|
SUPC_1_IRQn = 9,
|
|
WDT_IRQn = 10,
|
|
RTC_IRQn = 11,
|
|
EIC_0_IRQn = 12,
|
|
EIC_1_IRQn = 13,
|
|
EIC_2_IRQn = 14,
|
|
EIC_3_IRQn = 15,
|
|
EIC_4_IRQn = 16,
|
|
EIC_5_IRQn = 17,
|
|
EIC_6_IRQn = 18,
|
|
EIC_7_IRQn = 19,
|
|
EIC_8_IRQn = 20,
|
|
EIC_9_IRQn = 21,
|
|
EIC_10_IRQn = 22,
|
|
EIC_11_IRQn = 23,
|
|
EIC_12_IRQn = 24,
|
|
EIC_13_IRQn = 25,
|
|
EIC_14_IRQn = 26,
|
|
EIC_15_IRQn = 27,
|
|
FREQM_IRQn = 28,
|
|
NVMCTRL_0_IRQn = 29,
|
|
NVMCTRL_1_IRQn = 30,
|
|
DMAC_0_IRQn = 31,
|
|
DMAC_1_IRQn = 32,
|
|
DMAC_2_IRQn = 33,
|
|
DMAC_3_IRQn = 34,
|
|
DMAC_4_IRQn = 35,
|
|
EVSYS_0_IRQn = 36,
|
|
EVSYS_1_IRQn = 37,
|
|
EVSYS_2_IRQn = 38,
|
|
EVSYS_3_IRQn = 39,
|
|
EVSYS_4_IRQn = 40,
|
|
PAC_IRQn = 41,
|
|
RAMECC_IRQn = 45,
|
|
SERCOM0_0_IRQn = 46,
|
|
SERCOM0_1_IRQn = 47,
|
|
SERCOM0_2_IRQn = 48,
|
|
SERCOM0_3_IRQn = 49,
|
|
SERCOM1_0_IRQn = 50,
|
|
SERCOM1_1_IRQn = 51,
|
|
SERCOM1_2_IRQn = 52,
|
|
SERCOM1_3_IRQn = 53,
|
|
SERCOM2_0_IRQn = 54,
|
|
SERCOM2_1_IRQn = 55,
|
|
SERCOM2_2_IRQn = 56,
|
|
SERCOM2_3_IRQn = 57,
|
|
SERCOM3_0_IRQn = 58,
|
|
SERCOM3_1_IRQn = 59,
|
|
SERCOM3_2_IRQn = 60,
|
|
SERCOM3_3_IRQn = 61,
|
|
SERCOM4_0_IRQn = 62,
|
|
SERCOM4_1_IRQn = 63,
|
|
SERCOM4_2_IRQn = 64,
|
|
SERCOM4_3_IRQn = 65,
|
|
SERCOM5_0_IRQn = 66,
|
|
SERCOM5_1_IRQn = 67,
|
|
SERCOM5_2_IRQn = 68,
|
|
SERCOM5_3_IRQn = 69,
|
|
SERCOM6_0_IRQn = 70,
|
|
SERCOM6_1_IRQn = 71,
|
|
SERCOM6_2_IRQn = 72,
|
|
SERCOM6_3_IRQn = 73,
|
|
SERCOM7_0_IRQn = 74,
|
|
SERCOM7_1_IRQn = 75,
|
|
SERCOM7_2_IRQn = 76,
|
|
SERCOM7_3_IRQn = 77,
|
|
USB_0_IRQn = 80,
|
|
USB_1_IRQn = 81,
|
|
USB_2_IRQn = 82,
|
|
USB_3_IRQn = 83,
|
|
TCC0_0_IRQn = 85,
|
|
TCC0_1_IRQn = 86,
|
|
TCC0_2_IRQn = 87,
|
|
TCC0_3_IRQn = 88,
|
|
TCC0_4_IRQn = 89,
|
|
TCC0_5_IRQn = 90,
|
|
TCC0_6_IRQn = 91,
|
|
TCC1_0_IRQn = 92,
|
|
TCC1_1_IRQn = 93,
|
|
TCC1_2_IRQn = 94,
|
|
TCC1_3_IRQn = 95,
|
|
TCC1_4_IRQn = 96,
|
|
TCC2_0_IRQn = 97,
|
|
TCC2_1_IRQn = 98,
|
|
TCC2_2_IRQn = 99,
|
|
TCC2_3_IRQn = 100,
|
|
TCC3_0_IRQn = 101,
|
|
TCC3_1_IRQn = 102,
|
|
TCC3_2_IRQn = 103,
|
|
TCC4_0_IRQn = 104,
|
|
TCC4_1_IRQn = 105,
|
|
TCC4_2_IRQn = 106,
|
|
TC0_IRQn = 107,
|
|
TC1_IRQn = 108,
|
|
TC2_IRQn = 109,
|
|
TC3_IRQn = 110,
|
|
TC4_IRQn = 111,
|
|
TC5_IRQn = 112,
|
|
TC6_IRQn = 113,
|
|
TC7_IRQn = 114,
|
|
PDEC_0_IRQn = 115,
|
|
PDEC_1_IRQn = 116,
|
|
PDEC_2_IRQn = 117,
|
|
ADC0_0_IRQn = 118,
|
|
ADC0_1_IRQn = 119,
|
|
ADC1_0_IRQn = 120,
|
|
ADC1_1_IRQn = 121,
|
|
AC_IRQn = 122,
|
|
DAC_0_IRQn = 123,
|
|
DAC_1_IRQn = 124,
|
|
DAC_2_IRQn = 125,
|
|
DAC_3_IRQn = 126,
|
|
DAC_4_IRQn = 127,
|
|
I2S_IRQn = 128,
|
|
PCC_IRQn = 129,
|
|
AES_IRQn = 130,
|
|
TRNG_IRQn = 131,
|
|
ICM_IRQn = 132,
|
|
PUKCC_IRQn = 133,
|
|
QSPI_IRQn = 134,
|
|
SDHC0_IRQn = 135,
|
|
SDHC1_IRQn = 136
|
|
);
|
|
|
|
TAC_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
CTRLB : byte; //0001 Control B
|
|
EVCTRL : word; //0002 Event Control
|
|
INTENCLR : byte; //0004 Interrupt Enable Clear
|
|
INTENSET : byte; //0005 Interrupt Enable Set
|
|
INTFLAG : byte; //0006 Interrupt Flag Status and Clear
|
|
STATUSA : byte; //0007 Status A
|
|
STATUSB : byte; //0008 Status B
|
|
DBGCTRL : byte; //0009 Debug Control
|
|
WINCTRL : byte; //000A Window Control
|
|
RESERVED0 : byte;
|
|
SCALER : array[0..1] of byte; //000C Scaler n
|
|
RESERVED1 : word;
|
|
COMPCTRL : array[0..1] of longWord; //0010 Comparator Control n
|
|
RESERVED2 : array[1..8] of byte;
|
|
SYNCBUSY : longWord; //0020 Synchronization Busy
|
|
CALIB : word; //0024 Calibration
|
|
end;
|
|
|
|
TADC_Registers = record
|
|
CTRLA : word; //0000 Control A
|
|
EVCTRL : byte; //0002 Event Control
|
|
DBGCTRL : byte; //0003 Debug Control
|
|
INPUTCTRL : word; //0004 Input Control
|
|
CTRLB : word; //0006 Control B
|
|
REFCTRL : byte; //0008 Reference Control
|
|
RESERVED0 : byte;
|
|
AVGCTRL : byte; //000A Average Control
|
|
SAMPCTRL : byte; //000B Sample Time Control
|
|
WINLT : word; //000C Window Monitor Lower Threshold
|
|
WINUT : word; //000E Window Monitor Upper Threshold
|
|
GAINCORR : word; //0010 Gain Correction
|
|
OFFSETCORR : word; //0012 Offset Correction
|
|
SWTRIG : byte; //0014 Software Trigger
|
|
RESERVED1 : array[1..23] of byte;
|
|
INTENCLR : byte; //002C Interrupt Enable Clear
|
|
INTENSET : byte; //002D Interrupt Enable Set
|
|
INTFLAG : byte; //002E Interrupt Flag Status and Clear
|
|
STATUS : byte; //002F Status
|
|
SYNCBUSY : longWord; //0030 Synchronization Busy
|
|
DSEQDATA : longWord; //0034 DMA Sequencial Data
|
|
DSEQCTRL : longWord; //0038 DMA Sequential Control
|
|
DSEQSTAT : longWord; //003C DMA Sequencial Status
|
|
RESULT : word; //0040 Result Conversion Value
|
|
RESERVED2 : word;
|
|
RESS : word; //0044 Last Sample Result
|
|
RESERVED3 : word;
|
|
CALIB : word; //0048 Calibration
|
|
end;
|
|
|
|
TAES_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLB : byte; //0004 Control B
|
|
INTENCLR : byte; //0005 Interrupt Enable Clear
|
|
INTENSET : byte; //0006 Interrupt Enable Set
|
|
INTFLAG : byte; //0007 Interrupt Flag Status
|
|
DATABUFPTR : byte; //0008 Data buffer pointer
|
|
DBGCTRL : byte; //0009 Debug control
|
|
RESERVED0 : word;
|
|
KEYWORD : array[0..7] of longWord; //000C Keyword n
|
|
RESERVED1 : array[1..12] of byte;
|
|
INDATA : longWord; //0038 Indata
|
|
INTVECTV : array[0..3] of longWord; //003C Initialisation Vector n
|
|
RESERVED2 : array[1..16] of byte;
|
|
HASHKEY : array[0..3] of longWord; //005C Hash key n
|
|
GHASH : array[0..3] of longWord; //006C Galois Hash n
|
|
RESERVED3 : longWord;
|
|
CIPLEN : longWord; //0080 Cipher Length
|
|
RANDSEED : longWord; //0084 Random Seed
|
|
end;
|
|
|
|
TCCL_Registers = record
|
|
CTRL : byte; //0000 Control
|
|
RESERVED0 : array[1..3] of byte;
|
|
SEQCTRL : array[0..1] of byte; //0004 SEQ Control x
|
|
RESERVED1 : word;
|
|
LUTCTRL : array[0..3] of longWord; //0008 LUT Control x
|
|
end;
|
|
|
|
TCMCC_Registers = record
|
|
&TYPE : longWord; //0000 Cache Type Register
|
|
CFG : longWord; //0004 Cache Configuration Register
|
|
CTRL : longWord; //0008 Cache Control Register
|
|
SR : longWord; //000C Cache Status Register
|
|
LCKWAY : longWord; //0010 Cache Lock per Way Register
|
|
RESERVED0 : array[1..12] of byte;
|
|
MAINT0 : longWord; //0020 Cache Maintenance Register 0
|
|
MAINT1 : longWord; //0024 Cache Maintenance Register 1
|
|
MCFG : longWord; //0028 Cache Monitor Configuration Register
|
|
MEN : longWord; //002C Cache Monitor Enable Register
|
|
MCTRL : longWord; //0030 Cache Monitor Control Register
|
|
MSR : longWord; //0034 Cache Monitor Status Register
|
|
end;
|
|
|
|
TDAC_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
CTRLB : byte; //0001 Control B
|
|
EVCTRL : byte; //0002 Event Control
|
|
RESERVED0 : byte;
|
|
INTENCLR : byte; //0004 Interrupt Enable Clear
|
|
INTENSET : byte; //0005 Interrupt Enable Set
|
|
INTFLAG : byte; //0006 Interrupt Flag Status and Clear
|
|
STATUS : byte; //0007 Status
|
|
SYNCBUSY : longWord; //0008 Synchronization Busy
|
|
DACCTRL : array[0..1] of word; //000C DAC n Control
|
|
DATA : array[0..1] of word; //0010 DAC n Data
|
|
DATABUF : array[0..1] of word; //0014 DAC n Data Buffer
|
|
DBGCTRL : byte; //0018 Debug Control
|
|
RESERVED1 : array[1..3] of byte;
|
|
RESULT : array[0..1] of word; //001C Filter Result
|
|
end;
|
|
|
|
TDMAC_CHANNEL_Registers = record
|
|
CHCTRLA : longWord; //0000 Channel n Control A
|
|
CHCTRLB : byte; //0004 Channel n Control B
|
|
CHPRILVL : byte; //0005 Channel n Priority Level
|
|
CHEVCTRL : byte; //0006 Channel n Event Control
|
|
RESERVED0 : array[1..5] of byte;
|
|
CHINTENCLR : byte; //000C Channel n Interrupt Enable Clear
|
|
CHINTENSET : byte; //000D Channel n Interrupt Enable Set
|
|
CHINTFLAG : byte; //000E Channel n Interrupt Flag Status and Clear
|
|
CHSTATUS : byte; //000F Channel n Status
|
|
end;
|
|
|
|
TDMAC_Registers = record
|
|
CTRL : word; //0000 Control
|
|
CRCCTRL : word; //0002 CRC Control
|
|
CRCDATAIN : longWord; //0004 CRC Data Input
|
|
CRCCHKSUM : longWord; //0008 CRC Checksum
|
|
CRCSTATUS : byte; //000C CRC Status
|
|
DBGCTRL : byte; //000D Debug Control
|
|
RESERVED0 : word;
|
|
SWTRIGCTRL : longWord; //0010 Software Trigger Control
|
|
PRICTRL0 : longWord; //0014 Priority Control 0
|
|
RESERVED1 : array[1..8] of byte;
|
|
INTPEND : word; //0020 Interrupt Pending
|
|
RESERVED2 : word;
|
|
INTSTATUS : longWord; //0024 Interrupt Status
|
|
BUSYCH : longWord; //0028 Busy Channels
|
|
PENDCH : longWord; //002C Pending Channels
|
|
ACTIVE : longWord; //0030 Active Channel and Levels
|
|
BASEADDR : longWord; //0034 Descriptor Memory Section Base Address
|
|
WRBADDR : longWord; //0038 Write-Back Memory Section Base Address
|
|
RESERVED3 : longWord;
|
|
CHANNEL : array[0..31] of TDMAC_CHANNEL_Registers; //0040
|
|
end;
|
|
|
|
TDMAC_DESCRIPTOR_Registers = record
|
|
BTCTRL : word; //0000 Block Transfer Control
|
|
BTCNT : word; //0002 Block Transfer Count
|
|
SRCADDR : longWord; //0004 Block Transfer Source Address
|
|
DSTADDR : longWord; //0008 Block Transfer Destination Address
|
|
DESCADDR : longWord; //000C Next Descriptor Address
|
|
end;
|
|
|
|
TDSU_Registers = record
|
|
CTRL : byte; //0000 Control
|
|
STATUSA : byte; //0001 Status A
|
|
STATUSB : byte; //0002 Status B
|
|
RESERVED0 : byte;
|
|
ADDR : longWord; //0004 Address
|
|
LENGTH : longWord; //0008 Length
|
|
DATA : longWord; //000C Data
|
|
DCC : array[0..1] of longWord; //0010 Debug Communication Channel n
|
|
DID : longWord; //0018 Device Identification
|
|
CFG : longWord; //001C Configuration
|
|
RESERVED1 : array[1..208] of byte;
|
|
DCFG : array[0..1] of longWord; //00F0 Device Configuration
|
|
RESERVED2 : array[1..3848] of byte;
|
|
ENTRY0 : longWord; //1000 CoreSight ROM Table Entry 0
|
|
ENTRY1 : longWord; //1004 CoreSight ROM Table Entry 1
|
|
&END : longWord; //1008 CoreSight ROM Table End
|
|
RESERVED3 : array[1..4032] of byte;
|
|
MEMTYPE : longWord; //1FCC CoreSight ROM Table Memory Type
|
|
PID4 : longWord; //1FD0 Peripheral Identification 4
|
|
PID5 : longWord; //1FD4 Peripheral Identification 5
|
|
PID6 : longWord; //1FD8 Peripheral Identification 6
|
|
PID7 : longWord; //1FDC Peripheral Identification 7
|
|
PID0 : longWord; //1FE0 Peripheral Identification 0
|
|
PID1 : longWord; //1FE4 Peripheral Identification 1
|
|
PID2 : longWord; //1FE8 Peripheral Identification 2
|
|
PID3 : longWord; //1FEC Peripheral Identification 3
|
|
CID0 : longWord; //1FF0 Component Identification 0
|
|
CID1 : longWord; //1FF4 Component Identification 1
|
|
CID2 : longWord; //1FF8 Component Identification 2
|
|
CID3 : longWord; //1FFC Component Identification 3
|
|
end;
|
|
|
|
TEIC_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
NMICTRL : byte; //0001 Non-Maskable Interrupt Control
|
|
NMIFLAG : word; //0002 Non-Maskable Interrupt Flag Status and Clear
|
|
SYNCBUSY : longWord; //0004 Synchronization Busy
|
|
EVCTRL : longWord; //0008 Event Control
|
|
INTENCLR : longWord; //000C Interrupt Enable Clear
|
|
INTENSET : longWord; //0010 Interrupt Enable Set
|
|
INTFLAG : longWord; //0014 Interrupt Flag Status and Clear
|
|
ASYNCH : longWord; //0018 External Interrupt Asynchronous Mode
|
|
CONFIG : array[0..1] of longWord; //001C External Interrupt Sense Configuration
|
|
RESERVED0 : array[1..12] of byte;
|
|
DEBOUNCEN : longWord; //0030 Debouncer Enable
|
|
DPRESCALER : longWord; //0034 Debouncer Prescaler
|
|
PINSTATE : longWord; //0038 Pin State
|
|
end;
|
|
|
|
TEVSYS_CHANNEL_Registers = record
|
|
CHANNEL : longWord; //0000 Channel n Control
|
|
CHINTENCLR : byte; //0004 Channel n Interrupt Enable Clear
|
|
CHINTENSET : byte; //0005 Channel n Interrupt Enable Set
|
|
CHINTFLAG : byte; //0006 Channel n Interrupt Flag Status and Clear
|
|
CHSTATUS : byte; //0007 Channel n Status
|
|
end;
|
|
|
|
TEVSYS_Registers = record
|
|
CTRLA : byte; //0000 Control
|
|
RESERVED0 : array[1..3] of byte;
|
|
SWEVT : longWord; //0004 Software Event
|
|
PRICTRL : byte; //0008 Priority Control
|
|
RESERVED1 : array[1..7] of byte;
|
|
INTPEND : word; //0010 Channel Pending Interrupt
|
|
RESERVED2 : word;
|
|
INTSTATUS : longWord; //0014 Interrupt Status
|
|
BUSYCH : longWord; //0018 Busy Channels
|
|
READYUSR : longWord; //001C Ready Users
|
|
CHANNEL : array[0..31] of TEVSYS_CHANNEL_Registers; //0020
|
|
USER : array[0..66] of longWord; //0120 User Multiplexer n
|
|
end;
|
|
|
|
TFREQM_Registers = record
|
|
CTRLA : byte; //0000 Control A Register
|
|
CTRLB : byte; //0001 Control B Register
|
|
CFGA : word; //0002 Config A register
|
|
RESERVED0 : longWord;
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear Register
|
|
INTENSET : byte; //0009 Interrupt Enable Set Register
|
|
INTFLAG : byte; //000A Interrupt Flag Register
|
|
STATUS : byte; //000B Status Register
|
|
SYNCBUSY : longWord; //000C Synchronization Busy Register
|
|
VALUE : longWord; //0010 Count Value Register
|
|
end;
|
|
|
|
TGCLK_Registers = record
|
|
CTRLA : byte; //0000 Control
|
|
RESERVED0 : array[1..3] of byte;
|
|
SYNCBUSY : longWord; //0004 Synchronization Busy
|
|
RESERVED1 : array[1..24] of byte;
|
|
GENCTRL : array[0..11] of longWord; //0020 Generic Clock Generator Control
|
|
RESERVED2 : array[1..48] of byte;
|
|
PCHCTRL : array[0..47] of longWord; //0080 Peripheral Clock Control
|
|
end;
|
|
|
|
THMATRIXB_PRS_Registers = record
|
|
PRAS : longWord; //0000 Priority A for Slave
|
|
PRBS : longWord; //0004 Priority B for Slave
|
|
end;
|
|
|
|
THMATRIXB_Registers = record
|
|
PRS : array[0..15] of THMATRIXB_PRS_Registers; //0080
|
|
end;
|
|
|
|
TICM_Registers = record
|
|
CFG : longWord; //0000 Configuration
|
|
CTRL : longWord; //0004 Control
|
|
SR : longWord; //0008 Status
|
|
RESERVED0 : longWord;
|
|
IER : longWord; //0010 Interrupt Enable
|
|
IDR : longWord; //0014 Interrupt Disable
|
|
IMR : longWord; //0018 Interrupt Mask
|
|
ISR : longWord; //001C Interrupt Status
|
|
UASR : longWord; //0020 Undefined Access Status
|
|
RESERVED1 : array[1..12] of byte;
|
|
DSCR : longWord; //0030 Region Descriptor Area Start Address
|
|
HASH : longWord; //0034 Region Hash Area Start Address
|
|
UIHVAL : array[0..7] of longWord; //0038 User Initial Hash Value n
|
|
end;
|
|
|
|
TICM_DESCRIPTOR_Registers = record
|
|
RADDR : longWord; //0000 Region Start Address
|
|
RCFG : longWord; //0004 Region Configuration
|
|
RCTRL : longWord; //0008 Region Control
|
|
RNEXT : longWord; //000C Region Next Address
|
|
end;
|
|
|
|
TI2S_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
RESERVED0 : array[1..3] of byte;
|
|
CLKCTRL : array[0..1] of longWord; //0004 Clock Unit n Control
|
|
INTENCLR : word; //000C Interrupt Enable Clear
|
|
RESERVED1 : word;
|
|
INTENSET : word; //0010 Interrupt Enable Set
|
|
RESERVED2 : word;
|
|
INTFLAG : word; //0014 Interrupt Flag Status and Clear
|
|
RESERVED3 : word;
|
|
SYNCBUSY : word; //0018 Synchronization Status
|
|
RESERVED4 : array[1..6] of byte;
|
|
TXCTRL : longWord; //0020 Tx Serializer Control
|
|
RXCTRL : longWord; //0024 Rx Serializer Control
|
|
RESERVED5 : array[1..8] of byte;
|
|
TXDATA : longWord; //0030 Tx Data
|
|
RXDATA : longWord; //0034 Rx Data
|
|
end;
|
|
|
|
TMCLK_Registers = record
|
|
INTENCLR : byte; //0001 Interrupt Enable Clear
|
|
INTENSET : byte; //0002 Interrupt Enable Set
|
|
INTFLAG : byte; //0003 Interrupt Flag Status and Clear
|
|
HSDIV : byte; //0004 HS Clock Division
|
|
CPUDIV : byte; //0005 CPU Clock Division
|
|
RESERVED0 : array[1..10] of byte;
|
|
AHBMASK : longWord; //0010 AHB Mask
|
|
APBAMASK : longWord; //0014 APBA Mask
|
|
APBBMASK : longWord; //0018 APBB Mask
|
|
APBCMASK : longWord; //001C APBC Mask
|
|
APBDMASK : longWord; //0020 APBD Mask
|
|
end;
|
|
|
|
TNVMCTRL_Registers = record
|
|
CTRLA : word; //0000 Control A
|
|
RESERVED0 : word;
|
|
CTRLB : word; //0004 Control B
|
|
RESERVED1 : word;
|
|
PARAM : longWord; //0008 NVM Parameter
|
|
INTENCLR : word; //000C Interrupt Enable Clear
|
|
INTENSET : word; //000E Interrupt Enable Set
|
|
INTFLAG : word; //0010 Interrupt Flag Status and Clear
|
|
STATUS : word; //0012 Status
|
|
ADDR : longWord; //0014 Address
|
|
RUNLOCK : longWord; //0018 Lock Section
|
|
PBLDATA : array[0..1] of longWord; //001C Page Buffer Load Data x
|
|
ECCERR : longWord; //0024 ECC Error Status Register
|
|
DBGCTRL : byte; //0028 Debug Control
|
|
RESERVED2 : byte;
|
|
SEECFG : byte; //002A SmartEEPROM Configuration Register
|
|
RESERVED3 : byte;
|
|
SEESTAT : longWord; //002C SmartEEPROM Status Register
|
|
end;
|
|
|
|
TSW0_FUSES_Registers = record
|
|
SW0_WORD_0 : longWord; //0000 SW0 Page Word 0
|
|
SW0_WORD_1 : longWord; //0004 SW0 Page Word 1
|
|
end;
|
|
|
|
TTEMP_LOG_FUSES_Registers = record
|
|
TEMP_LOG_WORD_0 : longWord; //0000 TEMP_LOG Page Word 0
|
|
TEMP_LOG_WORD_1 : longWord; //0004 TEMP_LOG Page Word 1
|
|
TEMP_LOG_WORD_2 : longWord; //0008 TEMP_LOG Page Word 2
|
|
end;
|
|
|
|
TUSER_FUSES_Registers = record
|
|
USER_WORD_0 : longWord; //0000 USER Page Word 0
|
|
USER_WORD_1 : longWord; //0004 USER Page Word 1
|
|
USER_WORD_2 : longWord; //0008 USER Page Word 2
|
|
end;
|
|
|
|
TOSCCTRL_DPLL_Registers = record
|
|
DPLLCTRLA : byte; //0000 DPLL Control A
|
|
RESERVED0 : array[1..3] of byte;
|
|
DPLLRATIO : longWord; //0004 DPLL Ratio Control
|
|
DPLLCTRLB : longWord; //0008 DPLL Control B
|
|
DPLLSYNCBUSY : longWord; //000C DPLL Synchronization Busy
|
|
DPLLSTATUS : longWord; //0010 DPLL Status
|
|
end;
|
|
|
|
TOSCCTRL_Registers = record
|
|
EVCTRL : byte; //0000 Event Control
|
|
RESERVED0 : array[1..3] of byte;
|
|
INTENCLR : longWord; //0004 Interrupt Enable Clear
|
|
INTENSET : longWord; //0008 Interrupt Enable Set
|
|
INTFLAG : longWord; //000C Interrupt Flag Status and Clear
|
|
STATUS : longWord; //0010 Status
|
|
XOSCCTRL : array[0..1] of longWord; //0014 External Multipurpose Crystal Oscillator Control
|
|
DFLLCTRLA : byte; //001C DFLL48M Control A
|
|
RESERVED1 : array[1..3] of byte;
|
|
DFLLCTRLB : byte; //0020 DFLL48M Control B
|
|
RESERVED2 : array[1..3] of byte;
|
|
DFLLVAL : longWord; //0024 DFLL48M Value
|
|
DFLLMUL : longWord; //0028 DFLL48M Multiplier
|
|
DFLLSYNC : byte; //002C DFLL48M Synchronization
|
|
RESERVED3 : array[1..3] of byte;
|
|
DPLL : array[0..1] of TOSCCTRL_DPLL_Registers; //0030
|
|
end;
|
|
|
|
TOSC32KCTRL_Registers = record
|
|
INTENCLR : longWord; //0000 Interrupt Enable Clear
|
|
INTENSET : longWord; //0004 Interrupt Enable Set
|
|
INTFLAG : longWord; //0008 Interrupt Flag Status and Clear
|
|
STATUS : longWord; //000C Power and Clocks Status
|
|
RTCCTRL : byte; //0010 RTC Clock Selection
|
|
RESERVED0 : array[1..3] of byte;
|
|
XOSC32K : word; //0014 32kHz External Crystal Oscillator (XOSC32K) Control
|
|
CFDCTRL : byte; //0016 Clock Failure Detector Control
|
|
EVCTRL : byte; //0017 Event Control
|
|
RESERVED1 : longWord;
|
|
OSCULP32K : longWord; //001C 32kHz Ultra Low Power Internal Oscillator (OSCULP32K) Control
|
|
end;
|
|
|
|
TPAC_Registers = record
|
|
WRCTRL : longWord; //0000 Write control
|
|
EVCTRL : byte; //0004 Event control
|
|
RESERVED0 : array[1..3] of byte;
|
|
INTENCLR : byte; //0008 Interrupt enable clear
|
|
INTENSET : byte; //0009 Interrupt enable set
|
|
RESERVED1 : array[1..6] of byte;
|
|
INTFLAGAHB : longWord; //0010 Bridge interrupt flag status
|
|
INTFLAGA : longWord; //0014 Peripheral interrupt flag status - Bridge A
|
|
INTFLAGB : longWord; //0018 Peripheral interrupt flag status - Bridge B
|
|
INTFLAGC : longWord; //001C Peripheral interrupt flag status - Bridge C
|
|
INTFLAGD : longWord; //0020 Peripheral interrupt flag status - Bridge D
|
|
RESERVED2 : array[1..16] of byte;
|
|
STATUSA : longWord; //0034 Peripheral write protection status - Bridge A
|
|
STATUSB : longWord; //0038 Peripheral write protection status - Bridge B
|
|
STATUSC : longWord; //003C Peripheral write protection status - Bridge C
|
|
STATUSD : longWord; //0040 Peripheral write protection status - Bridge D
|
|
end;
|
|
|
|
TPCC_Registers = record
|
|
MR : longWord; //0000 Mode Register
|
|
IER : longWord; //0004 Interrupt Enable Register
|
|
IDR : longWord; //0008 Interrupt Disable Register
|
|
IMR : longWord; //000C Interrupt Mask Register
|
|
ISR : longWord; //0010 Interrupt Status Register
|
|
RHR : longWord; //0014 Reception Holding Register
|
|
RESERVED0 : array[1..200] of byte;
|
|
WPMR : longWord; //00E0 Write Protection Mode Register
|
|
WPSR : longWord; //00E4 Write Protection Status Register
|
|
end;
|
|
|
|
TPDEC_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLBCLR : byte; //0004 Control B Clear
|
|
CTRLBSET : byte; //0005 Control B Set
|
|
EVCTRL : word; //0006 Event Control
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear
|
|
INTENSET : byte; //0009 Interrupt Enable Set
|
|
INTFLAG : byte; //000A Interrupt Flag Status and Clear
|
|
RESERVED0 : byte;
|
|
STATUS : word; //000C Status
|
|
RESERVED1 : byte;
|
|
DBGCTRL : byte; //000F Debug Control
|
|
SYNCBUSY : longWord; //0010 Synchronization Status
|
|
PRESC : byte; //0014 Prescaler Value
|
|
FILTER : byte; //0015 Filter Value
|
|
RESERVED2 : word;
|
|
PRESCBUF : byte; //0018 Prescaler Buffer Value
|
|
FILTERBUF : byte; //0019 Filter Buffer Value
|
|
RESERVED3 : word;
|
|
COUNT : longWord; //001C Counter Value
|
|
CC : array[0..1] of longWord; //0020 Channel n Compare Value
|
|
RESERVED4 : array[1..8] of byte;
|
|
CCBUF : array[0..1] of longWord; //0030 Channel Compare Buffer Value
|
|
end;
|
|
|
|
TPM_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
SLEEPCFG : byte; //0001 Sleep Configuration
|
|
RESERVED0 : word;
|
|
INTENCLR : byte; //0004 Interrupt Enable Clear
|
|
INTENSET : byte; //0005 Interrupt Enable Set
|
|
INTFLAG : byte; //0006 Interrupt Flag Status and Clear
|
|
RESERVED1 : byte;
|
|
STDBYCFG : byte; //0008 Standby Configuration
|
|
HIBCFG : byte; //0009 Hibernate Configuration
|
|
BKUPCFG : byte; //000A Backup Configuration
|
|
RESERVED2 : array[1..7] of byte;
|
|
PWSAKDLY : byte; //0012 Power Switch Acknowledge Delay
|
|
end;
|
|
|
|
TPORT_GROUP_Registers = record
|
|
DIR : longWord; //0000 Data Direction
|
|
DIRCLR : longWord; //0004 Data Direction Clear
|
|
DIRSET : longWord; //0008 Data Direction Set
|
|
DIRTGL : longWord; //000C Data Direction Toggle
|
|
&OUT : longWord; //0010 Data Output Value
|
|
OUTCLR : longWord; //0014 Data Output Value Clear
|
|
OUTSET : longWord; //0018 Data Output Value Set
|
|
OUTTGL : longWord; //001C Data Output Value Toggle
|
|
&IN : longWord; //0020 Data Input Value
|
|
CTRL : longWord; //0024 Control
|
|
WRCONFIG : longWord; //0028 Write Configuration
|
|
EVCTRL : longWord; //002C Event Input Control
|
|
PMUX : array[0..15] of byte; //0030 Peripheral Multiplexing
|
|
PINCFG : array[0..31] of byte; //0040 Pin Configuration
|
|
Res : array[$60..$7F] of byte;
|
|
end;
|
|
|
|
TPORT_Registers = record
|
|
GROUP : array[0..3] of TPORT_GROUP_Registers; //0000
|
|
end;
|
|
|
|
TPUKCC_Registers = record
|
|
end;
|
|
|
|
TQSPI_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLB : longWord; //0004 Control B
|
|
BAUD : longWord; //0008 Baud Rate
|
|
RXDATA : longWord; //000C Receive Data
|
|
TXDATA : longWord; //0010 Transmit Data
|
|
INTENCLR : longWord; //0014 Interrupt Enable Clear
|
|
INTENSET : longWord; //0018 Interrupt Enable Set
|
|
INTFLAG : longWord; //001C Interrupt Flag Status and Clear
|
|
STATUS : longWord; //0020 Status Register
|
|
RESERVED0 : array[1..12] of byte;
|
|
INSTRADDR : longWord; //0030 Instruction Address
|
|
INSTRCTRL : longWord; //0034 Instruction Code
|
|
INSTRFRAME : longWord; //0038 Instruction Frame
|
|
RESERVED1 : longWord;
|
|
SCRAMBCTRL : longWord; //0040 Scrambling Mode
|
|
SCRAMBKEY : longWord; //0044 Scrambling Key
|
|
end;
|
|
|
|
TRAMECC_Registers = record
|
|
INTENCLR : byte; //0000 Interrupt Enable Clear
|
|
INTENSET : byte; //0001 Interrupt Enable Set
|
|
INTFLAG : byte; //0002 Interrupt Flag
|
|
STATUS : byte; //0003 Status
|
|
ERRADDR : longWord; //0004 Error Address
|
|
RESERVED0 : array[1..7] of byte;
|
|
DBGCTRL : byte; //000F Debug Control
|
|
end;
|
|
|
|
TRSTC_Registers = record
|
|
RCAUSE : byte; //0000 Reset Cause
|
|
RESERVED0 : byte;
|
|
BKUPEXIT : byte; //0002 Backup Exit Source
|
|
end;
|
|
|
|
TRTCMODE0_Registers = record
|
|
CTRLA : word; //0000 MODE0 Control A
|
|
CTRLB : word; //0002 MODE0 Control B
|
|
EVCTRL : longWord; //0004 MODE0 Event Control
|
|
INTENCLR : word; //0008 MODE0 Interrupt Enable Clear
|
|
INTENSET : word; //000A MODE0 Interrupt Enable Set
|
|
INTFLAG : word; //000C MODE0 Interrupt Flag Status and Clear
|
|
DBGCTRL : byte; //000E Debug Control
|
|
RESERVED0 : byte;
|
|
SYNCBUSY : longWord; //0010 MODE0 Synchronization Busy Status
|
|
FREQCORR : byte; //0014 Frequency Correction
|
|
RESERVED1 : array[1..3] of byte;
|
|
COUNT : longWord; //0018 MODE0 Counter Value
|
|
RESERVED2 : longWord;
|
|
COMP : array[0..1] of longWord; //0020 MODE0 Compare n Value
|
|
RESERVED3 : array[1..24] of byte;
|
|
GP : array[0..3] of longWord; //0040 General Purpose
|
|
RESERVED4 : array[1..16] of byte;
|
|
TAMPCTRL : longWord; //0060 Tamper Control
|
|
TIMESTAMP : longWord; //0064 MODE0 Timestamp
|
|
TAMPID : longWord; //0068 Tamper ID
|
|
RESERVED5 : array[1..20] of byte;
|
|
BKUP : array[0..7] of longWord; //0080 Backup
|
|
end;
|
|
|
|
TRTCMODE1_Registers = record
|
|
CTRLA : word; //0000 MODE1 Control A
|
|
CTRLB : word; //0002 MODE1 Control B
|
|
EVCTRL : longWord; //0004 MODE1 Event Control
|
|
INTENCLR : word; //0008 MODE1 Interrupt Enable Clear
|
|
INTENSET : word; //000A MODE1 Interrupt Enable Set
|
|
INTFLAG : word; //000C MODE1 Interrupt Flag Status and Clear
|
|
DBGCTRL : byte; //000E Debug Control
|
|
RESERVED0 : byte;
|
|
SYNCBUSY : longWord; //0010 MODE1 Synchronization Busy Status
|
|
FREQCORR : byte; //0014 Frequency Correction
|
|
RESERVED1 : array[1..3] of byte;
|
|
COUNT : word; //0018 MODE1 Counter Value
|
|
RESERVED2 : word;
|
|
PER : word; //001C MODE1 Counter Period
|
|
RESERVED3 : word;
|
|
COMP : array[0..3] of word; //0020 MODE1 Compare n Value
|
|
RESERVED4 : array[1..24] of byte;
|
|
GP : array[0..3] of longWord; //0040 General Purpose
|
|
RESERVED5 : array[1..16] of byte;
|
|
TAMPCTRL : longWord; //0060 Tamper Control
|
|
TIMESTAMP : longWord; //0064 MODE1 Timestamp
|
|
TAMPID : longWord; //0068 Tamper ID
|
|
RESERVED6 : array[1..20] of byte;
|
|
BKUP : array[0..7] of longWord; //0080 Backup
|
|
end;
|
|
|
|
TRTCMODE2_Registers = record
|
|
CTRLA : word; //0000 MODE2 Control A
|
|
CTRLB : word; //0002 MODE2 Control B
|
|
EVCTRL : longWord; //0004 MODE2 Event Control
|
|
INTENCLR : word; //0008 MODE2 Interrupt Enable Clear
|
|
INTENSET : word; //000A MODE2 Interrupt Enable Set
|
|
INTFLAG : word; //000C MODE2 Interrupt Flag Status and Clear
|
|
DBGCTRL : byte; //000E Debug Control
|
|
RESERVED0 : byte;
|
|
SYNCBUSY : longWord; //0010 MODE2 Synchronization Busy Status
|
|
FREQCORR : byte; //0014 Frequency Correction
|
|
RESERVED1 : array[1..3] of byte;
|
|
CLOCK : longWord; //0018 MODE2 Clock Value
|
|
RESERVED2 : longWord;
|
|
ALARM0 : longWord; //0020 MODE2_ALARM Alarm n Value
|
|
MASK0 : byte; //0024 MODE2_ALARM Alarm n Mask
|
|
RESERVED3 : array[1..3] of byte;
|
|
ALARM1 : longWord; //0028 MODE2_ALARM Alarm n Value
|
|
MASK1 : byte; //002C MODE2_ALARM Alarm n Mask
|
|
RESERVED4 : array[1..19] of byte;
|
|
GP : array[0..3] of longWord; //0040 General Purpose
|
|
RESERVED5 : array[1..16] of byte;
|
|
TAMPCTRL : longWord; //0060 Tamper Control
|
|
TIMESTAMP : longWord; //0064 MODE2 Timestamp
|
|
TAMPID : longWord; //0068 Tamper ID
|
|
RESERVED6 : array[1..20] of byte;
|
|
BKUP : array[0..7] of longWord; //0080 Backup
|
|
end;
|
|
|
|
TSDHC_Registers = record
|
|
SSAR : longWord; //0000 SDMA System Address / Argument 2
|
|
BSR : word; //0004 Block Size
|
|
BCR : word; //0006 Block Count
|
|
ARG1R : longWord; //0008 Argument 1
|
|
TMR : word; //000C Transfer Mode
|
|
CR : word; //000E Command
|
|
RR : array[0..3] of longWord; //0010 Response
|
|
BDPR : longWord; //0020 Buffer Data Port
|
|
PSR : longWord; //0024 Present State
|
|
HC1R : byte; //0028 Host Control 1
|
|
PCR : byte; //0029 Power Control
|
|
BGCR : byte; //002A Block Gap Control
|
|
WCR : byte; //002B Wakeup Control
|
|
CCR : word; //002C Clock Control
|
|
TCR : byte; //002E Timeout Control
|
|
SRR : byte; //002F Software Reset
|
|
NISTR : word; //0030 Normal Interrupt Status
|
|
EISTR : word; //0032 Error Interrupt Status
|
|
NISTER : word; //0034 Normal Interrupt Status Enable
|
|
EISTER : word; //0036 Error Interrupt Status Enable
|
|
NISIER : word; //0038 Normal Interrupt Signal Enable
|
|
EISIER : word; //003A Error Interrupt Signal Enable
|
|
ACESR : word; //003C Auto CMD Error Status
|
|
HC2R : word; //003E Host Control 2
|
|
CA0R : longWord; //0040 Capabilities 0
|
|
CA1R : longWord; //0044 Capabilities 1
|
|
MCCAR : longWord; //0048 Maximum Current Capabilities
|
|
RESERVED0 : longWord;
|
|
FERACES : word; //0050 Force Event for Auto CMD Error Status
|
|
FEREIS : word; //0052 Force Event for Error Interrupt Status
|
|
AESR : byte; //0054 ADMA Error Status
|
|
RESERVED1 : array[1..3] of byte;
|
|
ASAR : longWord; //0058 ADMA System Address n
|
|
RESERVED2 : longWord;
|
|
PVR : array[0..7] of word; //0060 Preset Value n
|
|
RESERVED3 : array[1..140] of byte;
|
|
SISR : word; //00FC Slot Interrupt Status
|
|
HCVR : word; //00FE Host Controller Version
|
|
RESERVED4 : array[1..260] of byte;
|
|
MC1R : byte; //0204 MMC Control 1
|
|
MC2R : byte; //0205 MMC Control 2
|
|
RESERVED5 : word;
|
|
ACR : longWord; //0208 AHB Control
|
|
CC2R : longWord; //020C Clock Control 2
|
|
RESERVED6 : array[1..32] of byte;
|
|
CACR : longWord; //0230 Capabilities Control
|
|
DBGR : byte; //0234 Debug
|
|
end;
|
|
|
|
TSERCOMI2CM_Registers = record
|
|
CTRLA : longWord; //0000 I2CM Control A
|
|
CTRLB : longWord; //0004 I2CM Control B
|
|
CTRLC : longWord; //0008 I2CM Control C
|
|
BAUD : longWord; //000C I2CM Baud Rate
|
|
RESERVED0 : longWord;
|
|
INTENCLR : byte; //0014 I2CM Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 I2CM Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 I2CM Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A I2CM Status
|
|
SYNCBUSY : longWord; //001C I2CM Synchronization Busy
|
|
RESERVED4 : longWord;
|
|
ADDR : longWord; //0024 I2CM Address
|
|
DATA : longWord; //0028 I2CM Data
|
|
RESERVED5 : longWord;
|
|
DBGCTRL : byte; //0030 I2CM Debug Control
|
|
end;
|
|
|
|
TSERCOMI2CS_Registers = record
|
|
CTRLA : longWord; //0000 I2CS Control A
|
|
CTRLB : longWord; //0004 I2CS Control B
|
|
CTRLC : longWord; //0008 I2CS Control C
|
|
RESERVED0 : array[1..8] of byte;
|
|
INTENCLR : byte; //0014 I2CS Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 I2CS Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 I2CS Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A I2CS Status
|
|
SYNCBUSY : longWord; //001C I2CS Synchronization Busy
|
|
RESERVED4 : word;
|
|
LENGTH : word; //0022 I2CS Length
|
|
ADDR : longWord; //0024 I2CS Address
|
|
DATA : longWord; //0028 I2CS Data
|
|
end;
|
|
|
|
TSERCOMSPIS_Registers = record
|
|
CTRLA : longWord; //0000 SPIS Control A
|
|
CTRLB : longWord; //0004 SPIS Control B
|
|
CTRLC : longWord; //0008 SPIS Control C
|
|
BAUD : byte; //000C SPIS Baud Rate
|
|
RESERVED0 : array[1..7] of byte;
|
|
INTENCLR : byte; //0014 SPIS Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 SPIS Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 SPIS Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A SPIS Status
|
|
SYNCBUSY : longWord; //001C SPIS Synchronization Busy
|
|
RESERVED4 : word;
|
|
LENGTH : word; //0022 SPIS Length
|
|
ADDR : longWord; //0024 SPIS Address
|
|
DATA : longWord; //0028 SPIS Data
|
|
RESERVED5 : longWord;
|
|
DBGCTRL : byte; //0030 SPIS Debug Control
|
|
end;
|
|
|
|
TSERCOMSPIM_Registers = record
|
|
CTRLA : longWord; //0000 SPIM Control A
|
|
CTRLB : longWord; //0004 SPIM Control B
|
|
CTRLC : longWord; //0008 SPIM Control C
|
|
BAUD : byte; //000C SPIM Baud Rate
|
|
RESERVED0 : array[1..7] of byte;
|
|
INTENCLR : byte; //0014 SPIM Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 SPIM Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 SPIM Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A SPIM Status
|
|
SYNCBUSY : longWord; //001C SPIM Synchronization Busy
|
|
RESERVED4 : word;
|
|
LENGTH : word; //0022 SPIM Length
|
|
ADDR : longWord; //0024 SPIM Address
|
|
DATA : longWord; //0028 SPIM Data
|
|
RESERVED5 : longWord;
|
|
DBGCTRL : byte; //0030 SPIM Debug Control
|
|
end;
|
|
|
|
TSERCOMUSART_EXT_Registers = record
|
|
CTRLA : longWord; //0000 USART_EXT Control A
|
|
CTRLB : longWord; //0004 USART_EXT Control B
|
|
CTRLC : longWord; //0008 USART_EXT Control C
|
|
BAUD : word; //000C USART_EXT Baud Rate
|
|
RXPL : byte; //000E USART_EXT Receive Pulse Length
|
|
RESERVED0 : array[1..5] of byte;
|
|
INTENCLR : byte; //0014 USART_EXT Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 USART_EXT Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 USART_EXT Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A USART_EXT Status
|
|
SYNCBUSY : longWord; //001C USART_EXT Synchronization Busy
|
|
RXERRCNT : byte; //0020 USART_EXT Receive Error Count
|
|
RESERVED4 : byte;
|
|
LENGTH : word; //0022 USART_EXT Length
|
|
RESERVED5 : longWord;
|
|
DATA : longWord; //0028 USART_EXT Data
|
|
RESERVED6 : longWord;
|
|
DBGCTRL : byte; //0030 USART_EXT Debug Control
|
|
end;
|
|
|
|
TSERCOMUSART_INT_Registers = record
|
|
CTRLA : longWord; //0000 USART_INT Control A
|
|
CTRLB : longWord; //0004 USART_INT Control B
|
|
CTRLC : longWord; //0008 USART_INT Control C
|
|
BAUD : word; //000C USART_INT Baud Rate
|
|
RXPL : byte; //000E USART_INT Receive Pulse Length
|
|
RESERVED0 : array[1..5] of byte;
|
|
INTENCLR : byte; //0014 USART_INT Interrupt Enable Clear
|
|
RESERVED1 : byte;
|
|
INTENSET : byte; //0016 USART_INT Interrupt Enable Set
|
|
RESERVED2 : byte;
|
|
INTFLAG : byte; //0018 USART_INT Interrupt Flag Status and Clear
|
|
RESERVED3 : byte;
|
|
STATUS : word; //001A USART_INT Status
|
|
SYNCBUSY : longWord; //001C USART_INT Synchronization Busy
|
|
RXERRCNT : byte; //0020 USART_INT Receive Error Count
|
|
RESERVED4 : byte;
|
|
LENGTH : word; //0022 USART_INT Length
|
|
RESERVED5 : longWord;
|
|
DATA : longWord; //0028 USART_INT Data
|
|
RESERVED6 : longWord;
|
|
DBGCTRL : byte; //0030 USART_INT Debug Control
|
|
end;
|
|
|
|
TSUPC_Registers = record
|
|
INTENCLR : longWord; //0000 Interrupt Enable Clear
|
|
INTENSET : longWord; //0004 Interrupt Enable Set
|
|
INTFLAG : longWord; //0008 Interrupt Flag Status and Clear
|
|
STATUS : longWord; //000C Power and Clocks Status
|
|
BOD33 : longWord; //0010 BOD33 Control
|
|
RESERVED0 : longWord;
|
|
VREG : longWord; //0018 VREG Control
|
|
VREF : longWord; //001C VREF Control
|
|
BBPS : longWord; //0020 Battery Backup Power Switch
|
|
BKOUT : longWord; //0024 Backup Output Control
|
|
BKIN : longWord; //0028 Backup Input Control
|
|
end;
|
|
|
|
TTCCOUNT8_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLBCLR : byte; //0004 Control B Clear
|
|
CTRLBSET : byte; //0005 Control B Set
|
|
EVCTRL : word; //0006 Event Control
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear
|
|
INTENSET : byte; //0009 Interrupt Enable Set
|
|
INTFLAG : byte; //000A Interrupt Flag Status and Clear
|
|
STATUS : byte; //000B Status
|
|
WAVE : byte; //000C Waveform Generation Control
|
|
DRVCTRL : byte; //000D Control C
|
|
RESERVED0 : byte;
|
|
DBGCTRL : byte; //000F Debug Control
|
|
SYNCBUSY : longWord; //0010 Synchronization Status
|
|
COUNT : byte; //0014 COUNT8 Count
|
|
RESERVED1 : array[1..6] of byte;
|
|
PER : byte; //001B COUNT8 Period
|
|
CC : array[0..1] of byte; //001C COUNT8 Compare and Capture
|
|
RESERVED2 : array[1..17] of byte;
|
|
PERBUF : byte; //002F COUNT8 Period Buffer
|
|
CCBUF : array[0..1] of byte; //0030 COUNT8 Compare and Capture Buffer
|
|
end;
|
|
|
|
TTCCOUNT16_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLBCLR : byte; //0004 Control B Clear
|
|
CTRLBSET : byte; //0005 Control B Set
|
|
EVCTRL : word; //0006 Event Control
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear
|
|
INTENSET : byte; //0009 Interrupt Enable Set
|
|
INTFLAG : byte; //000A Interrupt Flag Status and Clear
|
|
STATUS : byte; //000B Status
|
|
WAVE : byte; //000C Waveform Generation Control
|
|
DRVCTRL : byte; //000D Control C
|
|
RESERVED0 : byte;
|
|
DBGCTRL : byte; //000F Debug Control
|
|
SYNCBUSY : longWord; //0010 Synchronization Status
|
|
COUNT : word; //0014 COUNT16 Count
|
|
RESERVED1 : array[1..6] of byte;
|
|
CC : array[0..1] of word; //001C COUNT16 Compare and Capture
|
|
RESERVED2 : array[1..16] of byte;
|
|
CCBUF : array[0..1] of word; //0030 COUNT16 Compare and Capture Buffer
|
|
end;
|
|
|
|
TTCCOUNT32_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLBCLR : byte; //0004 Control B Clear
|
|
CTRLBSET : byte; //0005 Control B Set
|
|
EVCTRL : word; //0006 Event Control
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear
|
|
INTENSET : byte; //0009 Interrupt Enable Set
|
|
INTFLAG : byte; //000A Interrupt Flag Status and Clear
|
|
STATUS : byte; //000B Status
|
|
WAVE : byte; //000C Waveform Generation Control
|
|
DRVCTRL : byte; //000D Control C
|
|
RESERVED0 : byte;
|
|
DBGCTRL : byte; //000F Debug Control
|
|
SYNCBUSY : longWord; //0010 Synchronization Status
|
|
COUNT : longWord; //0014 COUNT32 Count
|
|
RESERVED1 : longWord;
|
|
CC : array[0..1] of longWord; //001C COUNT32 Compare and Capture
|
|
RESERVED2 : array[1..12] of byte;
|
|
CCBUF : array[0..1] of longWord; //0030 COUNT32 Compare and Capture Buffer
|
|
end;
|
|
|
|
TTCC_Registers = record
|
|
CTRLA : longWord; //0000 Control A
|
|
CTRLBCLR : byte; //0004 Control B Clear
|
|
CTRLBSET : byte; //0005 Control B Set
|
|
RESERVED0 : word;
|
|
SYNCBUSY : longWord; //0008 Synchronization Busy
|
|
FCTRLA : longWord; //000C Recoverable Fault A Configuration
|
|
FCTRLB : longWord; //0010 Recoverable Fault B Configuration
|
|
WEXCTRL : longWord; //0014 Waveform Extension Configuration
|
|
DRVCTRL : longWord; //0018 Driver Control
|
|
RESERVED1 : word;
|
|
DBGCTRL : byte; //001E Debug Control
|
|
RESERVED2 : byte;
|
|
EVCTRL : longWord; //0020 Event Control
|
|
INTENCLR : longWord; //0024 Interrupt Enable Clear
|
|
INTENSET : longWord; //0028 Interrupt Enable Set
|
|
INTFLAG : longWord; //002C Interrupt Flag Status and Clear
|
|
STATUS : longWord; //0030 Status
|
|
COUNT : longWord; //0034 Count
|
|
PATT : word; //0038 Pattern
|
|
RESERVED3 : word;
|
|
WAVE : longWord; //003C Waveform Control
|
|
PER : longWord; //0040 Period
|
|
CC : array[0..5] of longWord; //0044 Compare and Capture
|
|
RESERVED4 : array[1..8] of byte;
|
|
PATTBUF : word; //0064 Pattern Buffer
|
|
RESERVED5 : array[1..6] of byte;
|
|
PERBUF : longWord; //006C Period Buffer
|
|
CCBUF : array[0..5] of longWord; //0070 Compare and Capture Buffer
|
|
end;
|
|
|
|
TTRNG_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
RESERVED0 : array[1..3] of byte;
|
|
EVCTRL : byte; //0004 Event Control
|
|
RESERVED1 : array[1..3] of byte;
|
|
INTENCLR : byte; //0008 Interrupt Enable Clear
|
|
INTENSET : byte; //0009 Interrupt Enable Set
|
|
INTFLAG : byte; //000A Interrupt Flag Status and Clear
|
|
RESERVED2 : array[1..21] of byte;
|
|
DATA : longWord; //0020 Output Data
|
|
end;
|
|
|
|
TUSB_DEVICE_DESC_BANK_Registers = record
|
|
ADDR : longWord; //0000 DEVICE_DESC_BANK Endpoint Bank, Adress of Data Buffer
|
|
PCKSIZE : longWord; //0004 DEVICE_DESC_BANK Endpoint Bank, Packet Size
|
|
EXTREG : word; //0008 DEVICE_DESC_BANK Endpoint Bank, Extended
|
|
STATUS_BK : byte; //000A DEVICE_DESC_BANK Enpoint Bank, Status of Bank
|
|
end;
|
|
|
|
TUSB_HOST_DESC_BANK_Registers = record
|
|
ADDR : longWord; //0000 HOST_DESC_BANK Host Bank, Adress of Data Buffer
|
|
PCKSIZE : longWord; //0004 HOST_DESC_BANK Host Bank, Packet Size
|
|
EXTREG : word; //0008 HOST_DESC_BANK Host Bank, Extended
|
|
STATUS_BK : byte; //000A HOST_DESC_BANK Host Bank, Status of Bank
|
|
RESERVED0 : byte;
|
|
CTRL_PIPE : word; //000C HOST_DESC_BANK Host Bank, Host Control Pipe
|
|
STATUS_PIPE : word; //000E HOST_DESC_BANK Host Bank, Host Status Pipe
|
|
end;
|
|
|
|
TUSB_DEVICE_ENDPOINT_Registers = record
|
|
EPCFG : byte; //0000 DEVICE_ENDPOINT End Point Configuration
|
|
RESERVED0 : array[1..3] of byte;
|
|
EPSTATUSCLR : byte; //0004 DEVICE_ENDPOINT End Point Pipe Status Clear
|
|
EPSTATUSSET : byte; //0005 DEVICE_ENDPOINT End Point Pipe Status Set
|
|
EPSTATUS : byte; //0006 DEVICE_ENDPOINT End Point Pipe Status
|
|
EPINTFLAG : byte; //0007 DEVICE_ENDPOINT End Point Interrupt Flag
|
|
EPINTENCLR : byte; //0008 DEVICE_ENDPOINT End Point Interrupt Clear Flag
|
|
EPINTENSET : byte; //0009 DEVICE_ENDPOINT End Point Interrupt Set Flag
|
|
end;
|
|
|
|
TUSB_HOST_PIPE_Registers = record
|
|
PCFG : byte; //0000 HOST_PIPE End Point Configuration
|
|
RESERVED0 : word;
|
|
BINTERVAL : byte; //0003 HOST_PIPE Bus Access Period of Pipe
|
|
PSTATUSCLR : byte; //0004 HOST_PIPE End Point Pipe Status Clear
|
|
PSTATUSSET : byte; //0005 HOST_PIPE End Point Pipe Status Set
|
|
PSTATUS : byte; //0006 HOST_PIPE End Point Pipe Status
|
|
PINTFLAG : byte; //0007 HOST_PIPE Pipe Interrupt Flag
|
|
PINTENCLR : byte; //0008 HOST_PIPE Pipe Interrupt Flag Clear
|
|
PINTENSET : byte; //0009 HOST_PIPE Pipe Interrupt Flag Set
|
|
end;
|
|
|
|
TUSBDEVICE_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
RESERVED0 : byte;
|
|
SYNCBUSY : byte; //0002 Synchronization Busy
|
|
QOSCTRL : byte; //0003 USB Quality Of Service
|
|
RESERVED1 : longWord;
|
|
CTRLB : word; //0008 DEVICE Control B
|
|
DADD : byte; //000A DEVICE Device Address
|
|
RESERVED2 : byte;
|
|
STATUS : byte; //000C DEVICE Status
|
|
FSMSTATUS : byte; //000D Finite State Machine Status
|
|
RESERVED3 : word;
|
|
FNUM : word; //0010 DEVICE Device Frame Number
|
|
RESERVED4 : word;
|
|
INTENCLR : word; //0014 DEVICE Device Interrupt Enable Clear
|
|
RESERVED5 : word;
|
|
INTENSET : word; //0018 DEVICE Device Interrupt Enable Set
|
|
RESERVED6 : word;
|
|
INTFLAG : word; //001C DEVICE Device Interrupt Flag
|
|
RESERVED7 : word;
|
|
EPINTSMRY : word; //0020 DEVICE End Point Interrupt Summary
|
|
RESERVED8 : word;
|
|
DESCADD : longWord; //0024 Descriptor Address
|
|
PADCAL : word; //0028 USB PAD Calibration
|
|
RESERVED9 : array[1..214] of byte;
|
|
HOST_PIPE : array[0..7] of TUSB_HOST_PIPE_Registers; //0100
|
|
end;
|
|
|
|
TUSBHOST_Registers = record
|
|
CTRLA : byte; //0000 Control A
|
|
RESERVED0 : byte;
|
|
SYNCBUSY : byte; //0002 Synchronization Busy
|
|
QOSCTRL : byte; //0003 USB Quality Of Service
|
|
RESERVED1 : longWord;
|
|
CTRLB : word; //0008 HOST Control B
|
|
HSOFC : byte; //000A HOST Host Start Of Frame Control
|
|
RESERVED2 : byte;
|
|
STATUS : byte; //000C HOST Status
|
|
FSMSTATUS : byte; //000D Finite State Machine Status
|
|
RESERVED3 : word;
|
|
FNUM : word; //0010 HOST Host Frame Number
|
|
FLENHIGH : byte; //0012 HOST Host Frame Length
|
|
RESERVED4 : byte;
|
|
INTENCLR : word; //0014 HOST Host Interrupt Enable Clear
|
|
RESERVED5 : word;
|
|
INTENSET : word; //0018 HOST Host Interrupt Enable Set
|
|
RESERVED6 : word;
|
|
INTFLAG : word; //001C HOST Host Interrupt Flag
|
|
RESERVED7 : word;
|
|
PINTSMRY : word; //0020 HOST Pipe Interrupt Summary
|
|
RESERVED8 : word;
|
|
DESCADD : longWord; //0024 Descriptor Address
|
|
PADCAL : word; //0028 USB PAD Calibration
|
|
RESERVED9 : array[1..214] of byte;
|
|
HOST_PIPE : array[0..7] of TUSB_HOST_PIPE_Registers; //0100
|
|
end;
|
|
|
|
TUSB_DESCRIPTORDEVICE_Registers = record
|
|
HOST_DESC_BANK : array[0..1] of TUSB_HOST_DESC_BANK_Registers; //0000
|
|
end;
|
|
|
|
TUSB_DESCRIPTORHOST_Registers = record
|
|
HOST_DESC_BANK : array[0..1] of TUSB_HOST_DESC_BANK_Registers; //0000
|
|
end;
|
|
|
|
TWDT_Registers = record
|
|
CTRLA : byte; //0000 Control
|
|
CONFIG : byte; //0001 Configuration
|
|
EWCTRL : byte; //0002 Early Warning Interrupt Control
|
|
RESERVED0 : byte;
|
|
INTENCLR : byte; //0004 Interrupt Enable Clear
|
|
INTENSET : byte; //0005 Interrupt Enable Set
|
|
INTFLAG : byte; //0006 Interrupt Flag Status and Clear
|
|
RESERVED1 : byte;
|
|
SYNCBUSY : longWord; //0008 Synchronization Busy
|
|
CLEAR : byte; //000C Clear
|
|
end;
|
|
|
|
TETM_Registers = record
|
|
CR : longWord; //0000 ETM Main Control Register
|
|
CCR : longWord; //0004 ETM Configuration Code Register
|
|
TRIGGER : longWord; //0008 ETM Trigger Event Register
|
|
RESERVED0 : longWord;
|
|
SR : longWord; //0010 ETM Status Register
|
|
SCR : longWord; //0014 ETM System Configuration Register
|
|
RESERVED1 : array[1..8] of byte;
|
|
TEEVR : longWord; //0020 ETM TraceEnable Event Register
|
|
TECR1 : longWord; //0024 ETM TraceEnable Control 1 Register
|
|
FFLR : longWord; //0028 ETM FIFO Full Level Register
|
|
RESERVED2 : array[1..276] of byte;
|
|
CNTRLDVR1 : longWord; //0140 ETM Free-running Counter Reload Value
|
|
RESERVED3 : array[1..156] of byte;
|
|
SYNCFR : longWord; //01E0 ETM Synchronization Frequency Register
|
|
IDR : longWord; //01E4 ETM ID Register
|
|
CCER : longWord; //01E8 ETM Configuration Code Extension Register
|
|
RESERVED4 : longWord;
|
|
TESSEICR : longWord; //01F0 ETM TraceEnable Start/Stop EmbeddedICE Control Register
|
|
RESERVED5 : longWord;
|
|
TSEVT : longWord; //01F8 ETM TimeStamp Event Register
|
|
RESERVED6 : longWord;
|
|
TRACEIDR : longWord; //0200 ETM CoreSight Trace ID Register
|
|
RESERVED7 : longWord;
|
|
IDR2 : longWord; //0208 ETM ID Register 2
|
|
RESERVED8 : array[1..264] of byte;
|
|
PDSR : longWord; //0314 ETM Device Power-Down Status Register
|
|
RESERVED9 : array[1..3016] of byte;
|
|
ITMISCIN : longWord; //0EE0 ETM Integration Test Miscellaneous Inputs
|
|
RESERVED10 : longWord;
|
|
ITTRIGOUT : longWord; //0EE8 ETM Integration Test Trigger Out
|
|
RESERVED11 : longWord;
|
|
ITATBCTR2 : longWord; //0EF0 ETM Integration Test ATB Control 2
|
|
RESERVED12 : longWord;
|
|
ITATBCTR0 : longWord; //0EF8 ETM Integration Test ATB Control 0
|
|
RESERVED13 : longWord;
|
|
ITCTRL : longWord; //0F00 ETM Integration Mode Control Register
|
|
RESERVED14 : array[1..156] of byte;
|
|
CLAIMSET : longWord; //0FA0 ETM Claim Tag Set Register
|
|
CLAIMCLR : longWord; //0FA4 ETM Claim Tag Clear Register
|
|
RESERVED15 : array[1..8] of byte;
|
|
LAR : longWord; //0FB0 ETM Lock Access Register
|
|
LSR : longWord; //0FB4 ETM Lock Status Register
|
|
AUTHSTATUS : longWord; //0FB8 ETM Authentication Status Register
|
|
RESERVED16 : array[1..16] of byte;
|
|
DEVTYPE : longWord; //0FCC ETM CoreSight Device Type Register
|
|
PIDR4 : longWord; //0FD0 ETM Peripheral Identification Register #4
|
|
PIDR5 : longWord; //0FD4 ETM Peripheral Identification Register #5
|
|
PIDR6 : longWord; //0FD8 ETM Peripheral Identification Register #6
|
|
PIDR7 : longWord; //0FDC ETM Peripheral Identification Register #7
|
|
PIDR0 : longWord; //0FE0 ETM Peripheral Identification Register #0
|
|
PIDR1 : longWord; //0FE4 ETM Peripheral Identification Register #1
|
|
PIDR2 : longWord; //0FE8 ETM Peripheral Identification Register #2
|
|
PIDR3 : longWord; //0FEC ETM Peripheral Identification Register #3
|
|
CIDR0 : longWord; //0FF0 ETM Component Identification Register #0
|
|
CIDR1 : longWord; //0FF4 ETM Component Identification Register #1
|
|
CIDR2 : longWord; //0FF8 ETM Component Identification Register #2
|
|
CIDR3 : longWord; //0FFC ETM Component Identification Register #3
|
|
end;
|
|
|
|
TMPU_Registers = record
|
|
&TYPE : longWord; //0000 MPU Type Register
|
|
CTRL : longWord; //0004 MPU Control Register
|
|
RNR : longWord; //0008 MPU Region Number Register
|
|
RBAR : longWord; //000C MPU Region Base Address Register
|
|
RASR : longWord; //0010 MPU Region Attribute and Size Register
|
|
RBAR_A1 : longWord; //0014 MPU Alias 1 Region Base Address Register
|
|
RASR_A1 : longWord; //0018 MPU Alias 1 Region Attribute and Size Register
|
|
RBAR_A2 : longWord; //001C MPU Alias 2 Region Base Address Register
|
|
RASR_A2 : longWord; //0020 MPU Alias 2 Region Attribute and Size Register
|
|
RBAR_A3 : longWord; //0024 MPU Alias 3 Region Base Address Register
|
|
RASR_A3 : longWord; //0028 MPU Alias 3 Region Attribute and Size Register
|
|
end;
|
|
|
|
TSystemControl_Registers = record
|
|
ICTR : longWord; //0004 Interrupt Controller Type Register
|
|
ACTLR : longWord; //0008 Auxiliary Control Register
|
|
RESERVED0 : array[1..3316] of byte;
|
|
CPUID : longWord; //0D00 CPUID Base Register
|
|
ICSR : longWord; //0D04 Interrupt Control and State Register
|
|
VTOR : longWord; //0D08 Vector Table Offset Register
|
|
AIRCR : longWord; //0D0C Application Interrupt and Reset Control Register
|
|
SCR : longWord; //0D10 System Control Register
|
|
CCR : longWord; //0D14 Configuration and Control Register
|
|
SHPR1 : longWord; //0D18 System Handler Priority Register 1
|
|
SHPR2 : longWord; //0D1C System Handler Priority Register 2
|
|
SHPR3 : longWord; //0D20 System Handler Priority Register 3
|
|
SHCSR : longWord; //0D24 System Handler Control and State Register
|
|
CFSR : longWord; //0D28 Configurable Fault Status Register
|
|
HFSR : longWord; //0D2C HardFault Status Register
|
|
DFSR : longWord; //0D30 Debug Fault Status Register
|
|
MMFAR : longWord; //0D34 MemManage Fault Address Register
|
|
BFAR : longWord; //0D38 BusFault Address Register
|
|
AFSR : longWord; //0D3C Auxiliary Fault Status Register
|
|
PFR : array[0..1] of longWord; //0D40 Processor Feature Register
|
|
DFR : longWord; //0D48 Debug Feature Register
|
|
ADR : longWord; //0D4C Auxiliary Feature Register
|
|
MMFR : array[0..3] of longWord; //0D50 Memory Model Feature Register
|
|
ISAR : array[0..4] of longWord; //0D60 Instruction Set Attributes Register
|
|
RESERVED1 : array[1..20] of byte;
|
|
CPACR : longWord; //0D88 Coprocessor Access Control Register
|
|
end;
|
|
|
|
TTPIU_Registers = record
|
|
SSPSR : longWord; //0000 Supported Parallel Port Size Register
|
|
CSPSR : longWord; //0004 Current Parallel Port Size Register
|
|
RESERVED0 : array[1..8] of byte;
|
|
ACPR : longWord; //0010 Asynchronous Clock Prescaler Register
|
|
RESERVED1 : array[1..220] of byte;
|
|
SPPR : longWord; //00F0 Selected Pin Protocol Register
|
|
RESERVED2 : array[1..524] of byte;
|
|
FFSR : longWord; //0300 Formatter and Flush Status Register
|
|
FFCR : longWord; //0304 Formatter and Flush Control Register
|
|
FSCR : longWord; //0308 Formatter Synchronization Counter Register
|
|
RESERVED3 : array[1..3036] of byte;
|
|
TRIGGER : longWord; //0EE8 TRIGGER
|
|
FIFO0 : longWord; //0EEC Integration ETM Data
|
|
ITATBCTR2 : longWord; //0EF0 ITATBCTR2
|
|
RESERVED4 : longWord;
|
|
ITATBCTR0 : longWord; //0EF8 ITATBCTR0
|
|
FIFO1 : longWord; //0EFC Integration ITM Data
|
|
ITCTRL : longWord; //0F00 Integration Mode Control
|
|
RESERVED5 : array[1..156] of byte;
|
|
CLAIMSET : longWord; //0FA0 Claim tag set
|
|
CLAIMCLR : longWord; //0FA4 Claim tag clear
|
|
RESERVED6 : array[1..32] of byte;
|
|
DEVID : longWord; //0FC8 TPIU_DEVID
|
|
DEVTYPE : longWord; //0FCC TPIU_DEVTYPE
|
|
end;
|
|
|
|
TRTC_Registers = record
|
|
case byte of
|
|
0: ( MODE0 : TRTCMODE0_Registers );
|
|
1: ( MODE1 : TRTCMODE1_Registers );
|
|
2: ( MODE2 : TRTCMODE2_Registers );
|
|
end;
|
|
|
|
TSERCOM_Registers = record
|
|
case byte of
|
|
0: ( I2CM : TSERCOMI2CM_Registers );
|
|
1: ( I2CS : TSERCOMI2CS_Registers );
|
|
2: ( SPIS : TSERCOMSPIS_Registers );
|
|
3: ( SPIM : TSERCOMSPIM_Registers );
|
|
4: ( USART_EXT : TSERCOMUSART_EXT_Registers );
|
|
5: ( USART_INT : TSERCOMUSART_INT_Registers );
|
|
end;
|
|
|
|
TTC_Registers = record
|
|
case byte of
|
|
0: ( COUNT8 : TTCCOUNT8_Registers );
|
|
1: ( COUNT16 : TTCCOUNT16_Registers );
|
|
2: ( COUNT32 : TTCCOUNT32_Registers );
|
|
end;
|
|
|
|
TUSB_Registers = record
|
|
case byte of
|
|
0: ( DEVICE : TUSBDEVICE_Registers );
|
|
1: ( HOST : TUSBHOST_Registers );
|
|
end;
|
|
|
|
TUSB_DESCRIPTOR_Registers = record
|
|
case byte of
|
|
0: ( DEVICE : TUSB_DESCRIPTORDEVICE_Registers );
|
|
1: ( HOST : TUSB_DESCRIPTORHOST_Registers );
|
|
end;
|
|
|
|
const
|
|
AC_BASE = $42002000;
|
|
ADC0_BASE = $43001c00;
|
|
ADC1_BASE = $43002000;
|
|
AES_BASE = $42002400;
|
|
CCL_BASE = $42003800;
|
|
CMCC_BASE = $41006000;
|
|
DAC_BASE = $43002400;
|
|
DMAC_BASE = $4100a000;
|
|
DSU_BASE = $41002000;
|
|
EIC_BASE = $40002800;
|
|
ETM_BASE = $e0041000;
|
|
EVSYS_BASE = $4100e000;
|
|
FREQM_BASE = $40002c00;
|
|
GCLK_BASE = $40001c00;
|
|
HMATRIX_BASE = $4100c000;
|
|
I2S_BASE = $43002800;
|
|
ICM_BASE = $42002c00;
|
|
MCLK_BASE = $40000800;
|
|
MPU_BASE = $e000ed90;
|
|
NVMCTRL_BASE = $41004000;
|
|
OSC32KCTRL_BASE = $40001400;
|
|
OSCCTRL_BASE = $40001000;
|
|
PAC_BASE = $40000000;
|
|
PCC_BASE = $43002c00;
|
|
PDEC_BASE = $42001c00;
|
|
PM_BASE = $40000400;
|
|
PORT_BASE = $41008000;
|
|
QSPI_BASE = $42003400;
|
|
RAMECC_BASE = $41020000;
|
|
RSTC_BASE = $40000c00;
|
|
RTC_BASE = $40002400;
|
|
SDHC0_BASE = $45000000;
|
|
SDHC1_BASE = $46000000;
|
|
SERCOM0_BASE = $40003000;
|
|
SERCOM1_BASE = $40003400;
|
|
SERCOM2_BASE = $41012000;
|
|
SERCOM3_BASE = $41014000;
|
|
SERCOM4_BASE = $43000000;
|
|
SERCOM5_BASE = $43000400;
|
|
SERCOM6_BASE = $43000800;
|
|
SERCOM7_BASE = $43000c00;
|
|
SUPC_BASE = $40001800;
|
|
SW0_FUSES_BASE = $00800080;
|
|
SystemControl_BASE = $e000e000;
|
|
TC0_BASE = $40003800;
|
|
TC1_BASE = $40003c00;
|
|
TC2_BASE = $4101a000;
|
|
TC3_BASE = $4101c000;
|
|
TC4_BASE = $42001400;
|
|
TC5_BASE = $42001800;
|
|
TC6_BASE = $43001400;
|
|
TC7_BASE = $43001800;
|
|
TCC0_BASE = $41016000;
|
|
TCC1_BASE = $41018000;
|
|
TCC2_BASE = $42000c00;
|
|
TCC3_BASE = $42001000;
|
|
TCC4_BASE = $43001000;
|
|
TEMP_LOG_FUSES_BASE = $00800100;
|
|
TPIU_BASE = $e0040000;
|
|
TRNG_BASE = $42002800;
|
|
USB_BASE = $41000000;
|
|
USER_FUSES_BASE = $00804000;
|
|
WDT_BASE = $40002000;
|
|
|
|
var
|
|
AC : TAC_Registers absolute AC_BASE;
|
|
ADC0 : TADC_Registers absolute ADC0_BASE;
|
|
ADC1 : TADC_Registers absolute ADC1_BASE;
|
|
AES : TAES_Registers absolute AES_BASE;
|
|
CCL : TCCL_Registers absolute CCL_BASE;
|
|
CMCC : TCMCC_Registers absolute CMCC_BASE;
|
|
DAC : TDAC_Registers absolute DAC_BASE;
|
|
DMAC : TDMAC_Registers absolute DMAC_BASE;
|
|
DSU : TDSU_Registers absolute DSU_BASE;
|
|
EIC : TEIC_Registers absolute EIC_BASE;
|
|
ETM : TETM_Registers absolute ETM_BASE;
|
|
EVSYS : TEVSYS_Registers absolute EVSYS_BASE;
|
|
FREQM : TFREQM_Registers absolute FREQM_BASE;
|
|
GCLK : TGCLK_Registers absolute GCLK_BASE;
|
|
HMATRIX : THMATRIXB_Registers absolute HMATRIX_BASE;
|
|
I2S : TI2S_Registers absolute I2S_BASE;
|
|
ICM : TICM_Registers absolute ICM_BASE;
|
|
MCLK : TMCLK_Registers absolute MCLK_BASE;
|
|
MPU : TMPU_Registers absolute MPU_BASE;
|
|
NVMCTRL : TNVMCTRL_Registers absolute NVMCTRL_BASE;
|
|
OSC32KCTRL : TOSC32KCTRL_Registers absolute OSC32KCTRL_BASE;
|
|
OSCCTRL : TOSCCTRL_Registers absolute OSCCTRL_BASE;
|
|
PAC : TPAC_Registers absolute PAC_BASE;
|
|
PCC : TPCC_Registers absolute PCC_BASE;
|
|
PDEC : TPDEC_Registers absolute PDEC_BASE;
|
|
PM : TPM_Registers absolute PM_BASE;
|
|
PORT : TPORT_Registers absolute PORT_BASE;
|
|
QSPI : TQSPI_Registers absolute QSPI_BASE;
|
|
RAMECC : TRAMECC_Registers absolute RAMECC_BASE;
|
|
RSTC : TRSTC_Registers absolute RSTC_BASE;
|
|
RTC : TRTC_Registers absolute RTC_BASE;
|
|
SDHC0 : TSDHC_Registers absolute SDHC0_BASE;
|
|
SDHC1 : TSDHC_Registers absolute SDHC1_BASE;
|
|
SERCOM0 : TSERCOM_Registers absolute SERCOM0_BASE;
|
|
SERCOM1 : TSERCOM_Registers absolute SERCOM1_BASE;
|
|
SERCOM2 : TSERCOM_Registers absolute SERCOM2_BASE;
|
|
SERCOM3 : TSERCOM_Registers absolute SERCOM3_BASE;
|
|
SERCOM4 : TSERCOM_Registers absolute SERCOM4_BASE;
|
|
SERCOM5 : TSERCOM_Registers absolute SERCOM5_BASE;
|
|
SERCOM6 : TSERCOM_Registers absolute SERCOM6_BASE;
|
|
SERCOM7 : TSERCOM_Registers absolute SERCOM7_BASE;
|
|
SUPC : TSUPC_Registers absolute SUPC_BASE;
|
|
SW0_FUSES : TSW0_FUSES_Registers absolute SW0_FUSES_BASE;
|
|
SystemControl : TSystemControl_Registers absolute SystemControl_BASE;
|
|
TC0 : TTC_Registers absolute TC0_BASE;
|
|
TC1 : TTC_Registers absolute TC1_BASE;
|
|
TC2 : TTC_Registers absolute TC2_BASE;
|
|
TC3 : TTC_Registers absolute TC3_BASE;
|
|
TC4 : TTC_Registers absolute TC4_BASE;
|
|
TC5 : TTC_Registers absolute TC5_BASE;
|
|
TC6 : TTC_Registers absolute TC6_BASE;
|
|
TC7 : TTC_Registers absolute TC7_BASE;
|
|
TCC0 : TTCC_Registers absolute TCC0_BASE;
|
|
TCC1 : TTCC_Registers absolute TCC1_BASE;
|
|
TCC2 : TTCC_Registers absolute TCC2_BASE;
|
|
TCC3 : TTCC_Registers absolute TCC3_BASE;
|
|
TCC4 : TTCC_Registers absolute TCC4_BASE;
|
|
TEMP_LOG_FUSES : TTEMP_LOG_FUSES_Registers absolute TEMP_LOG_FUSES_BASE;
|
|
TPIU : TTPIU_Registers absolute TPIU_BASE;
|
|
TRNG : TTRNG_Registers absolute TRNG_BASE;
|
|
USB : TUSB_Registers absolute USB_BASE;
|
|
USER_FUSES : TUSER_FUSES_Registers absolute USER_FUSES_BASE;
|
|
WDT : TWDT_Registers absolute WDT_BASE;
|
|
|
|
implementation
|
|
|
|
{$DEFINE IMPLEMENTATION}
|
|
{$UNDEF INTERFACE}
|
|
|
|
procedure NonMaskableInt_interrupt; external name 'NonMaskableInt_interrupt';
|
|
procedure HardFault_interrupt; external name 'HardFault_interrupt';
|
|
procedure MemoryManagement_interrupt; external name 'MemoryManagement_interrupt';
|
|
procedure BusFault_interrupt; external name 'BusFault_interrupt';
|
|
procedure UsageFault_interrupt; external name 'UsageFault_interrupt';
|
|
procedure SVCall_interrupt; external name 'SVCall_interrupt';
|
|
procedure DebugMonitor_interrupt; external name 'DebugMonitor_interrupt';
|
|
procedure PendSV_interrupt; external name 'PendSV_interrupt';
|
|
procedure SysTick_interrupt; external name 'SysTick_interrupt';
|
|
procedure PM_interrupt; external name 'PM_interrupt';
|
|
procedure MCLK_interrupt; external name 'MCLK_interrupt';
|
|
procedure OSCCTRL_0_interrupt; external name 'OSCCTRL_0_interrupt';
|
|
procedure OSCCTRL_1_interrupt; external name 'OSCCTRL_1_interrupt';
|
|
procedure OSCCTRL_2_interrupt; external name 'OSCCTRL_2_interrupt';
|
|
procedure OSCCTRL_3_interrupt; external name 'OSCCTRL_3_interrupt';
|
|
procedure OSCCTRL_4_interrupt; external name 'OSCCTRL_4_interrupt';
|
|
procedure OSC32KCTRL_interrupt; external name 'OSC32KCTRL_interrupt';
|
|
procedure SUPC_0_interrupt; external name 'SUPC_0_interrupt';
|
|
procedure SUPC_1_interrupt; external name 'SUPC_1_interrupt';
|
|
procedure WDT_interrupt; external name 'WDT_interrupt';
|
|
procedure RTC_interrupt; external name 'RTC_interrupt';
|
|
procedure EIC_0_interrupt; external name 'EIC_0_interrupt';
|
|
procedure EIC_1_interrupt; external name 'EIC_1_interrupt';
|
|
procedure EIC_2_interrupt; external name 'EIC_2_interrupt';
|
|
procedure EIC_3_interrupt; external name 'EIC_3_interrupt';
|
|
procedure EIC_4_interrupt; external name 'EIC_4_interrupt';
|
|
procedure EIC_5_interrupt; external name 'EIC_5_interrupt';
|
|
procedure EIC_6_interrupt; external name 'EIC_6_interrupt';
|
|
procedure EIC_7_interrupt; external name 'EIC_7_interrupt';
|
|
procedure EIC_8_interrupt; external name 'EIC_8_interrupt';
|
|
procedure EIC_9_interrupt; external name 'EIC_9_interrupt';
|
|
procedure EIC_10_interrupt; external name 'EIC_10_interrupt';
|
|
procedure EIC_11_interrupt; external name 'EIC_11_interrupt';
|
|
procedure EIC_12_interrupt; external name 'EIC_12_interrupt';
|
|
procedure EIC_13_interrupt; external name 'EIC_13_interrupt';
|
|
procedure EIC_14_interrupt; external name 'EIC_14_interrupt';
|
|
procedure EIC_15_interrupt; external name 'EIC_15_interrupt';
|
|
procedure FREQM_interrupt; external name 'FREQM_interrupt';
|
|
procedure NVMCTRL_0_interrupt; external name 'NVMCTRL_0_interrupt';
|
|
procedure NVMCTRL_1_interrupt; external name 'NVMCTRL_1_interrupt';
|
|
procedure DMAC_0_interrupt; external name 'DMAC_0_interrupt';
|
|
procedure DMAC_1_interrupt; external name 'DMAC_1_interrupt';
|
|
procedure DMAC_2_interrupt; external name 'DMAC_2_interrupt';
|
|
procedure DMAC_3_interrupt; external name 'DMAC_3_interrupt';
|
|
procedure DMAC_4_interrupt; external name 'DMAC_4_interrupt';
|
|
procedure EVSYS_0_interrupt; external name 'EVSYS_0_interrupt';
|
|
procedure EVSYS_1_interrupt; external name 'EVSYS_1_interrupt';
|
|
procedure EVSYS_2_interrupt; external name 'EVSYS_2_interrupt';
|
|
procedure EVSYS_3_interrupt; external name 'EVSYS_3_interrupt';
|
|
procedure EVSYS_4_interrupt; external name 'EVSYS_4_interrupt';
|
|
procedure PAC_interrupt; external name 'PAC_interrupt';
|
|
procedure RAMECC_interrupt; external name 'RAMECC_interrupt';
|
|
procedure SERCOM0_0_interrupt; external name 'SERCOM0_0_interrupt';
|
|
procedure SERCOM0_1_interrupt; external name 'SERCOM0_1_interrupt';
|
|
procedure SERCOM0_2_interrupt; external name 'SERCOM0_2_interrupt';
|
|
procedure SERCOM0_3_interrupt; external name 'SERCOM0_3_interrupt';
|
|
procedure SERCOM1_0_interrupt; external name 'SERCOM1_0_interrupt';
|
|
procedure SERCOM1_1_interrupt; external name 'SERCOM1_1_interrupt';
|
|
procedure SERCOM1_2_interrupt; external name 'SERCOM1_2_interrupt';
|
|
procedure SERCOM1_3_interrupt; external name 'SERCOM1_3_interrupt';
|
|
procedure SERCOM2_0_interrupt; external name 'SERCOM2_0_interrupt';
|
|
procedure SERCOM2_1_interrupt; external name 'SERCOM2_1_interrupt';
|
|
procedure SERCOM2_2_interrupt; external name 'SERCOM2_2_interrupt';
|
|
procedure SERCOM2_3_interrupt; external name 'SERCOM2_3_interrupt';
|
|
procedure SERCOM3_0_interrupt; external name 'SERCOM3_0_interrupt';
|
|
procedure SERCOM3_1_interrupt; external name 'SERCOM3_1_interrupt';
|
|
procedure SERCOM3_2_interrupt; external name 'SERCOM3_2_interrupt';
|
|
procedure SERCOM3_3_interrupt; external name 'SERCOM3_3_interrupt';
|
|
procedure SERCOM4_0_interrupt; external name 'SERCOM4_0_interrupt';
|
|
procedure SERCOM4_1_interrupt; external name 'SERCOM4_1_interrupt';
|
|
procedure SERCOM4_2_interrupt; external name 'SERCOM4_2_interrupt';
|
|
procedure SERCOM4_3_interrupt; external name 'SERCOM4_3_interrupt';
|
|
procedure SERCOM5_0_interrupt; external name 'SERCOM5_0_interrupt';
|
|
procedure SERCOM5_1_interrupt; external name 'SERCOM5_1_interrupt';
|
|
procedure SERCOM5_2_interrupt; external name 'SERCOM5_2_interrupt';
|
|
procedure SERCOM5_3_interrupt; external name 'SERCOM5_3_interrupt';
|
|
procedure SERCOM6_0_interrupt; external name 'SERCOM6_0_interrupt';
|
|
procedure SERCOM6_1_interrupt; external name 'SERCOM6_1_interrupt';
|
|
procedure SERCOM6_2_interrupt; external name 'SERCOM6_2_interrupt';
|
|
procedure SERCOM6_3_interrupt; external name 'SERCOM6_3_interrupt';
|
|
procedure SERCOM7_0_interrupt; external name 'SERCOM7_0_interrupt';
|
|
procedure SERCOM7_1_interrupt; external name 'SERCOM7_1_interrupt';
|
|
procedure SERCOM7_2_interrupt; external name 'SERCOM7_2_interrupt';
|
|
procedure SERCOM7_3_interrupt; external name 'SERCOM7_3_interrupt';
|
|
procedure USB_0_interrupt; external name 'USB_0_interrupt';
|
|
procedure USB_1_interrupt; external name 'USB_1_interrupt';
|
|
procedure USB_2_interrupt; external name 'USB_2_interrupt';
|
|
procedure USB_3_interrupt; external name 'USB_3_interrupt';
|
|
procedure TCC0_0_interrupt; external name 'TCC0_0_interrupt';
|
|
procedure TCC0_1_interrupt; external name 'TCC0_1_interrupt';
|
|
procedure TCC0_2_interrupt; external name 'TCC0_2_interrupt';
|
|
procedure TCC0_3_interrupt; external name 'TCC0_3_interrupt';
|
|
procedure TCC0_4_interrupt; external name 'TCC0_4_interrupt';
|
|
procedure TCC0_5_interrupt; external name 'TCC0_5_interrupt';
|
|
procedure TCC0_6_interrupt; external name 'TCC0_6_interrupt';
|
|
procedure TCC1_0_interrupt; external name 'TCC1_0_interrupt';
|
|
procedure TCC1_1_interrupt; external name 'TCC1_1_interrupt';
|
|
procedure TCC1_2_interrupt; external name 'TCC1_2_interrupt';
|
|
procedure TCC1_3_interrupt; external name 'TCC1_3_interrupt';
|
|
procedure TCC1_4_interrupt; external name 'TCC1_4_interrupt';
|
|
procedure TCC2_0_interrupt; external name 'TCC2_0_interrupt';
|
|
procedure TCC2_1_interrupt; external name 'TCC2_1_interrupt';
|
|
procedure TCC2_2_interrupt; external name 'TCC2_2_interrupt';
|
|
procedure TCC2_3_interrupt; external name 'TCC2_3_interrupt';
|
|
procedure TCC3_0_interrupt; external name 'TCC3_0_interrupt';
|
|
procedure TCC3_1_interrupt; external name 'TCC3_1_interrupt';
|
|
procedure TCC3_2_interrupt; external name 'TCC3_2_interrupt';
|
|
procedure TCC4_0_interrupt; external name 'TCC4_0_interrupt';
|
|
procedure TCC4_1_interrupt; external name 'TCC4_1_interrupt';
|
|
procedure TCC4_2_interrupt; external name 'TCC4_2_interrupt';
|
|
procedure TC0_interrupt; external name 'TC0_interrupt';
|
|
procedure TC1_interrupt; external name 'TC1_interrupt';
|
|
procedure TC2_interrupt; external name 'TC2_interrupt';
|
|
procedure TC3_interrupt; external name 'TC3_interrupt';
|
|
procedure TC4_interrupt; external name 'TC4_interrupt';
|
|
procedure TC5_interrupt; external name 'TC5_interrupt';
|
|
procedure TC6_interrupt; external name 'TC6_interrupt';
|
|
procedure TC7_interrupt; external name 'TC7_interrupt';
|
|
procedure PDEC_0_interrupt; external name 'PDEC_0_interrupt';
|
|
procedure PDEC_1_interrupt; external name 'PDEC_1_interrupt';
|
|
procedure PDEC_2_interrupt; external name 'PDEC_2_interrupt';
|
|
procedure ADC0_0_interrupt; external name 'ADC0_0_interrupt';
|
|
procedure ADC0_1_interrupt; external name 'ADC0_1_interrupt';
|
|
procedure ADC1_0_interrupt; external name 'ADC1_0_interrupt';
|
|
procedure ADC1_1_interrupt; external name 'ADC1_1_interrupt';
|
|
procedure AC_interrupt; external name 'AC_interrupt';
|
|
procedure DAC_0_interrupt; external name 'DAC_0_interrupt';
|
|
procedure DAC_1_interrupt; external name 'DAC_1_interrupt';
|
|
procedure DAC_2_interrupt; external name 'DAC_2_interrupt';
|
|
procedure DAC_3_interrupt; external name 'DAC_3_interrupt';
|
|
procedure DAC_4_interrupt; external name 'DAC_4_interrupt';
|
|
procedure I2S_interrupt; external name 'I2S_interrupt';
|
|
procedure PCC_interrupt; external name 'PCC_interrupt';
|
|
procedure AES_interrupt; external name 'AES_interrupt';
|
|
procedure TRNG_interrupt; external name 'TRNG_interrupt';
|
|
procedure ICM_interrupt; external name 'ICM_interrupt';
|
|
procedure PUKCC_interrupt; external name 'PUKCC_interrupt';
|
|
procedure QSPI_interrupt; external name 'QSPI_interrupt';
|
|
procedure SDHC0_interrupt; external name 'SDHC0_interrupt';
|
|
procedure SDHC1_interrupt; external name 'SDHC1_interrupt';
|
|
|
|
{$i cortexm4f_start.inc}
|
|
|
|
procedure Vectors; assembler; nostackframe;
|
|
label interrupt_vectors;
|
|
asm
|
|
.section ".init.interrupt_vectors"
|
|
interrupt_vectors:
|
|
.long _stack_top
|
|
.long Startup
|
|
.long NonMaskableInt_interrupt;
|
|
.long HardFault_interrupt;
|
|
.long MemoryManagement_interrupt;
|
|
.long BusFault_interrupt;
|
|
.long UsageFault_interrupt;
|
|
.long 0
|
|
.long 0
|
|
.long 0
|
|
.long 0
|
|
.long SVCall_interrupt;
|
|
.long DebugMonitor_interrupt;
|
|
.long 0
|
|
.long PendSV_interrupt;
|
|
.long SysTick_interrupt;
|
|
.long PM_interrupt;
|
|
.long MCLK_interrupt;
|
|
.long OSCCTRL_0_interrupt;
|
|
.long OSCCTRL_1_interrupt;
|
|
.long OSCCTRL_2_interrupt;
|
|
.long OSCCTRL_3_interrupt;
|
|
.long OSCCTRL_4_interrupt;
|
|
.long OSC32KCTRL_interrupt;
|
|
.long SUPC_0_interrupt;
|
|
.long SUPC_1_interrupt;
|
|
.long WDT_interrupt;
|
|
.long RTC_interrupt;
|
|
.long EIC_0_interrupt;
|
|
.long EIC_1_interrupt;
|
|
.long EIC_2_interrupt;
|
|
.long EIC_3_interrupt;
|
|
.long EIC_4_interrupt;
|
|
.long EIC_5_interrupt;
|
|
.long EIC_6_interrupt;
|
|
.long EIC_7_interrupt;
|
|
.long EIC_8_interrupt;
|
|
.long EIC_9_interrupt;
|
|
.long EIC_10_interrupt;
|
|
.long EIC_11_interrupt;
|
|
.long EIC_12_interrupt;
|
|
.long EIC_13_interrupt;
|
|
.long EIC_14_interrupt;
|
|
.long EIC_15_interrupt;
|
|
.long FREQM_interrupt;
|
|
.long NVMCTRL_0_interrupt;
|
|
.long NVMCTRL_1_interrupt;
|
|
.long DMAC_0_interrupt;
|
|
.long DMAC_1_interrupt;
|
|
.long DMAC_2_interrupt;
|
|
.long DMAC_3_interrupt;
|
|
.long DMAC_4_interrupt;
|
|
.long EVSYS_0_interrupt;
|
|
.long EVSYS_1_interrupt;
|
|
.long EVSYS_2_interrupt;
|
|
.long EVSYS_3_interrupt;
|
|
.long EVSYS_4_interrupt;
|
|
.long PAC_interrupt;
|
|
.long 0
|
|
.long 0
|
|
.long 0
|
|
.long RAMECC_interrupt;
|
|
.long SERCOM0_0_interrupt;
|
|
.long SERCOM0_1_interrupt;
|
|
.long SERCOM0_2_interrupt;
|
|
.long SERCOM0_3_interrupt;
|
|
.long SERCOM1_0_interrupt;
|
|
.long SERCOM1_1_interrupt;
|
|
.long SERCOM1_2_interrupt;
|
|
.long SERCOM1_3_interrupt;
|
|
.long SERCOM2_0_interrupt;
|
|
.long SERCOM2_1_interrupt;
|
|
.long SERCOM2_2_interrupt;
|
|
.long SERCOM2_3_interrupt;
|
|
.long SERCOM3_0_interrupt;
|
|
.long SERCOM3_1_interrupt;
|
|
.long SERCOM3_2_interrupt;
|
|
.long SERCOM3_3_interrupt;
|
|
.long SERCOM4_0_interrupt;
|
|
.long SERCOM4_1_interrupt;
|
|
.long SERCOM4_2_interrupt;
|
|
.long SERCOM4_3_interrupt;
|
|
.long SERCOM5_0_interrupt;
|
|
.long SERCOM5_1_interrupt;
|
|
.long SERCOM5_2_interrupt;
|
|
.long SERCOM5_3_interrupt;
|
|
.long SERCOM6_0_interrupt;
|
|
.long SERCOM6_1_interrupt;
|
|
.long SERCOM6_2_interrupt;
|
|
.long SERCOM6_3_interrupt;
|
|
.long SERCOM7_0_interrupt;
|
|
.long SERCOM7_1_interrupt;
|
|
.long SERCOM7_2_interrupt;
|
|
.long SERCOM7_3_interrupt;
|
|
.long 0
|
|
.long 0
|
|
.long USB_0_interrupt;
|
|
.long USB_1_interrupt;
|
|
.long USB_2_interrupt;
|
|
.long USB_3_interrupt;
|
|
.long 0
|
|
.long TCC0_0_interrupt;
|
|
.long TCC0_1_interrupt;
|
|
.long TCC0_2_interrupt;
|
|
.long TCC0_3_interrupt;
|
|
.long TCC0_4_interrupt;
|
|
.long TCC0_5_interrupt;
|
|
.long TCC0_6_interrupt;
|
|
.long TCC1_0_interrupt;
|
|
.long TCC1_1_interrupt;
|
|
.long TCC1_2_interrupt;
|
|
.long TCC1_3_interrupt;
|
|
.long TCC1_4_interrupt;
|
|
.long TCC2_0_interrupt;
|
|
.long TCC2_1_interrupt;
|
|
.long TCC2_2_interrupt;
|
|
.long TCC2_3_interrupt;
|
|
.long TCC3_0_interrupt;
|
|
.long TCC3_1_interrupt;
|
|
.long TCC3_2_interrupt;
|
|
.long TCC4_0_interrupt;
|
|
.long TCC4_1_interrupt;
|
|
.long TCC4_2_interrupt;
|
|
.long TC0_interrupt;
|
|
.long TC1_interrupt;
|
|
.long TC2_interrupt;
|
|
.long TC3_interrupt;
|
|
.long TC4_interrupt;
|
|
.long TC5_interrupt;
|
|
.long TC6_interrupt;
|
|
.long TC7_interrupt;
|
|
.long PDEC_0_interrupt;
|
|
.long PDEC_1_interrupt;
|
|
.long PDEC_2_interrupt;
|
|
.long ADC0_0_interrupt;
|
|
.long ADC0_1_interrupt;
|
|
.long ADC1_0_interrupt;
|
|
.long ADC1_1_interrupt;
|
|
.long AC_interrupt;
|
|
.long DAC_0_interrupt;
|
|
.long DAC_1_interrupt;
|
|
.long DAC_2_interrupt;
|
|
.long DAC_3_interrupt;
|
|
.long DAC_4_interrupt;
|
|
.long I2S_interrupt;
|
|
.long PCC_interrupt;
|
|
.long AES_interrupt;
|
|
.long TRNG_interrupt;
|
|
.long ICM_interrupt;
|
|
.long PUKCC_interrupt;
|
|
.long QSPI_interrupt;
|
|
.long SDHC0_interrupt;
|
|
.long SDHC1_interrupt;
|
|
|
|
.weak NonMaskableInt_interrupt;
|
|
.weak HardFault_interrupt;
|
|
.weak MemoryManagement_interrupt;
|
|
.weak BusFault_interrupt;
|
|
.weak UsageFault_interrupt;
|
|
.weak SVCall_interrupt;
|
|
.weak DebugMonitor_interrupt;
|
|
.weak PendSV_interrupt;
|
|
.weak SysTick_interrupt;
|
|
.weak PM_interrupt;
|
|
.weak MCLK_interrupt;
|
|
.weak OSCCTRL_0_interrupt;
|
|
.weak OSCCTRL_1_interrupt;
|
|
.weak OSCCTRL_2_interrupt;
|
|
.weak OSCCTRL_3_interrupt;
|
|
.weak OSCCTRL_4_interrupt;
|
|
.weak OSC32KCTRL_interrupt;
|
|
.weak SUPC_0_interrupt;
|
|
.weak SUPC_1_interrupt;
|
|
.weak WDT_interrupt;
|
|
.weak RTC_interrupt;
|
|
.weak EIC_0_interrupt;
|
|
.weak EIC_1_interrupt;
|
|
.weak EIC_2_interrupt;
|
|
.weak EIC_3_interrupt;
|
|
.weak EIC_4_interrupt;
|
|
.weak EIC_5_interrupt;
|
|
.weak EIC_6_interrupt;
|
|
.weak EIC_7_interrupt;
|
|
.weak EIC_8_interrupt;
|
|
.weak EIC_9_interrupt;
|
|
.weak EIC_10_interrupt;
|
|
.weak EIC_11_interrupt;
|
|
.weak EIC_12_interrupt;
|
|
.weak EIC_13_interrupt;
|
|
.weak EIC_14_interrupt;
|
|
.weak EIC_15_interrupt;
|
|
.weak FREQM_interrupt;
|
|
.weak NVMCTRL_0_interrupt;
|
|
.weak NVMCTRL_1_interrupt;
|
|
.weak DMAC_0_interrupt;
|
|
.weak DMAC_1_interrupt;
|
|
.weak DMAC_2_interrupt;
|
|
.weak DMAC_3_interrupt;
|
|
.weak DMAC_4_interrupt;
|
|
.weak EVSYS_0_interrupt;
|
|
.weak EVSYS_1_interrupt;
|
|
.weak EVSYS_2_interrupt;
|
|
.weak EVSYS_3_interrupt;
|
|
.weak EVSYS_4_interrupt;
|
|
.weak PAC_interrupt;
|
|
.weak RAMECC_interrupt;
|
|
.weak SERCOM0_0_interrupt;
|
|
.weak SERCOM0_1_interrupt;
|
|
.weak SERCOM0_2_interrupt;
|
|
.weak SERCOM0_3_interrupt;
|
|
.weak SERCOM1_0_interrupt;
|
|
.weak SERCOM1_1_interrupt;
|
|
.weak SERCOM1_2_interrupt;
|
|
.weak SERCOM1_3_interrupt;
|
|
.weak SERCOM2_0_interrupt;
|
|
.weak SERCOM2_1_interrupt;
|
|
.weak SERCOM2_2_interrupt;
|
|
.weak SERCOM2_3_interrupt;
|
|
.weak SERCOM3_0_interrupt;
|
|
.weak SERCOM3_1_interrupt;
|
|
.weak SERCOM3_2_interrupt;
|
|
.weak SERCOM3_3_interrupt;
|
|
.weak SERCOM4_0_interrupt;
|
|
.weak SERCOM4_1_interrupt;
|
|
.weak SERCOM4_2_interrupt;
|
|
.weak SERCOM4_3_interrupt;
|
|
.weak SERCOM5_0_interrupt;
|
|
.weak SERCOM5_1_interrupt;
|
|
.weak SERCOM5_2_interrupt;
|
|
.weak SERCOM5_3_interrupt;
|
|
.weak SERCOM6_0_interrupt;
|
|
.weak SERCOM6_1_interrupt;
|
|
.weak SERCOM6_2_interrupt;
|
|
.weak SERCOM6_3_interrupt;
|
|
.weak SERCOM7_0_interrupt;
|
|
.weak SERCOM7_1_interrupt;
|
|
.weak SERCOM7_2_interrupt;
|
|
.weak SERCOM7_3_interrupt;
|
|
.weak USB_0_interrupt;
|
|
.weak USB_1_interrupt;
|
|
.weak USB_2_interrupt;
|
|
.weak USB_3_interrupt;
|
|
.weak TCC0_0_interrupt;
|
|
.weak TCC0_1_interrupt;
|
|
.weak TCC0_2_interrupt;
|
|
.weak TCC0_3_interrupt;
|
|
.weak TCC0_4_interrupt;
|
|
.weak TCC0_5_interrupt;
|
|
.weak TCC0_6_interrupt;
|
|
.weak TCC1_0_interrupt;
|
|
.weak TCC1_1_interrupt;
|
|
.weak TCC1_2_interrupt;
|
|
.weak TCC1_3_interrupt;
|
|
.weak TCC1_4_interrupt;
|
|
.weak TCC2_0_interrupt;
|
|
.weak TCC2_1_interrupt;
|
|
.weak TCC2_2_interrupt;
|
|
.weak TCC2_3_interrupt;
|
|
.weak TCC3_0_interrupt;
|
|
.weak TCC3_1_interrupt;
|
|
.weak TCC3_2_interrupt;
|
|
.weak TCC4_0_interrupt;
|
|
.weak TCC4_1_interrupt;
|
|
.weak TCC4_2_interrupt;
|
|
.weak TC0_interrupt;
|
|
.weak TC1_interrupt;
|
|
.weak TC2_interrupt;
|
|
.weak TC3_interrupt;
|
|
.weak TC4_interrupt;
|
|
.weak TC5_interrupt;
|
|
.weak TC6_interrupt;
|
|
.weak TC7_interrupt;
|
|
.weak PDEC_0_interrupt;
|
|
.weak PDEC_1_interrupt;
|
|
.weak PDEC_2_interrupt;
|
|
.weak ADC0_0_interrupt;
|
|
.weak ADC0_1_interrupt;
|
|
.weak ADC1_0_interrupt;
|
|
.weak ADC1_1_interrupt;
|
|
.weak AC_interrupt;
|
|
.weak DAC_0_interrupt;
|
|
.weak DAC_1_interrupt;
|
|
.weak DAC_2_interrupt;
|
|
.weak DAC_3_interrupt;
|
|
.weak DAC_4_interrupt;
|
|
.weak I2S_interrupt;
|
|
.weak PCC_interrupt;
|
|
.weak AES_interrupt;
|
|
.weak TRNG_interrupt;
|
|
.weak ICM_interrupt;
|
|
.weak PUKCC_interrupt;
|
|
.weak QSPI_interrupt;
|
|
.weak SDHC0_interrupt;
|
|
.weak SDHC1_interrupt;
|
|
|
|
.set NonMaskableInt_interrupt, Haltproc
|
|
.set HardFault_interrupt, Haltproc
|
|
.set MemoryManagement_interrupt,Haltproc
|
|
.set BusFault_interrupt, Haltproc
|
|
.set UsageFault_interrupt, Haltproc
|
|
.set SVCall_interrupt, Haltproc
|
|
.set DebugMonitor_interrupt, Haltproc
|
|
.set PendSV_interrupt, Haltproc
|
|
.set SysTick_interrupt, Haltproc
|
|
.set PM_interrupt, Haltproc
|
|
.set MCLK_interrupt, Haltproc
|
|
.set OSCCTRL_0_interrupt, Haltproc
|
|
.set OSCCTRL_1_interrupt, Haltproc
|
|
.set OSCCTRL_2_interrupt, Haltproc
|
|
.set OSCCTRL_3_interrupt, Haltproc
|
|
.set OSCCTRL_4_interrupt, Haltproc
|
|
.set OSC32KCTRL_interrupt, Haltproc
|
|
.set SUPC_0_interrupt, Haltproc
|
|
.set SUPC_1_interrupt, Haltproc
|
|
.set WDT_interrupt, Haltproc
|
|
.set RTC_interrupt, Haltproc
|
|
.set EIC_0_interrupt, Haltproc
|
|
.set EIC_1_interrupt, Haltproc
|
|
.set EIC_2_interrupt, Haltproc
|
|
.set EIC_3_interrupt, Haltproc
|
|
.set EIC_4_interrupt, Haltproc
|
|
.set EIC_5_interrupt, Haltproc
|
|
.set EIC_6_interrupt, Haltproc
|
|
.set EIC_7_interrupt, Haltproc
|
|
.set EIC_8_interrupt, Haltproc
|
|
.set EIC_9_interrupt, Haltproc
|
|
.set EIC_10_interrupt, Haltproc
|
|
.set EIC_11_interrupt, Haltproc
|
|
.set EIC_12_interrupt, Haltproc
|
|
.set EIC_13_interrupt, Haltproc
|
|
.set EIC_14_interrupt, Haltproc
|
|
.set EIC_15_interrupt, Haltproc
|
|
.set FREQM_interrupt, Haltproc
|
|
.set NVMCTRL_0_interrupt, Haltproc
|
|
.set NVMCTRL_1_interrupt, Haltproc
|
|
.set DMAC_0_interrupt, Haltproc
|
|
.set DMAC_1_interrupt, Haltproc
|
|
.set DMAC_2_interrupt, Haltproc
|
|
.set DMAC_3_interrupt, Haltproc
|
|
.set DMAC_4_interrupt, Haltproc
|
|
.set EVSYS_0_interrupt, Haltproc
|
|
.set EVSYS_1_interrupt, Haltproc
|
|
.set EVSYS_2_interrupt, Haltproc
|
|
.set EVSYS_3_interrupt, Haltproc
|
|
.set EVSYS_4_interrupt, Haltproc
|
|
.set PAC_interrupt, Haltproc
|
|
.set RAMECC_interrupt, Haltproc
|
|
.set SERCOM0_0_interrupt, Haltproc
|
|
.set SERCOM0_1_interrupt, Haltproc
|
|
.set SERCOM0_2_interrupt, Haltproc
|
|
.set SERCOM0_3_interrupt, Haltproc
|
|
.set SERCOM1_0_interrupt, Haltproc
|
|
.set SERCOM1_1_interrupt, Haltproc
|
|
.set SERCOM1_2_interrupt, Haltproc
|
|
.set SERCOM1_3_interrupt, Haltproc
|
|
.set SERCOM2_0_interrupt, Haltproc
|
|
.set SERCOM2_1_interrupt, Haltproc
|
|
.set SERCOM2_2_interrupt, Haltproc
|
|
.set SERCOM2_3_interrupt, Haltproc
|
|
.set SERCOM3_0_interrupt, Haltproc
|
|
.set SERCOM3_1_interrupt, Haltproc
|
|
.set SERCOM3_2_interrupt, Haltproc
|
|
.set SERCOM3_3_interrupt, Haltproc
|
|
.set SERCOM4_0_interrupt, Haltproc
|
|
.set SERCOM4_1_interrupt, Haltproc
|
|
.set SERCOM4_2_interrupt, Haltproc
|
|
.set SERCOM4_3_interrupt, Haltproc
|
|
.set SERCOM5_0_interrupt, Haltproc
|
|
.set SERCOM5_1_interrupt, Haltproc
|
|
.set SERCOM5_2_interrupt, Haltproc
|
|
.set SERCOM5_3_interrupt, Haltproc
|
|
.set SERCOM6_0_interrupt, Haltproc
|
|
.set SERCOM6_1_interrupt, Haltproc
|
|
.set SERCOM6_2_interrupt, Haltproc
|
|
.set SERCOM6_3_interrupt, Haltproc
|
|
.set SERCOM7_0_interrupt, Haltproc
|
|
.set SERCOM7_1_interrupt, Haltproc
|
|
.set SERCOM7_2_interrupt, Haltproc
|
|
.set SERCOM7_3_interrupt, Haltproc
|
|
.set USB_0_interrupt, Haltproc
|
|
.set USB_1_interrupt, Haltproc
|
|
.set USB_2_interrupt, Haltproc
|
|
.set USB_3_interrupt, Haltproc
|
|
.set TCC0_0_interrupt, Haltproc
|
|
.set TCC0_1_interrupt, Haltproc
|
|
.set TCC0_2_interrupt, Haltproc
|
|
.set TCC0_3_interrupt, Haltproc
|
|
.set TCC0_4_interrupt, Haltproc
|
|
.set TCC0_5_interrupt, Haltproc
|
|
.set TCC0_6_interrupt, Haltproc
|
|
.set TCC1_0_interrupt, Haltproc
|
|
.set TCC1_1_interrupt, Haltproc
|
|
.set TCC1_2_interrupt, Haltproc
|
|
.set TCC1_3_interrupt, Haltproc
|
|
.set TCC1_4_interrupt, Haltproc
|
|
.set TCC2_0_interrupt, Haltproc
|
|
.set TCC2_1_interrupt, Haltproc
|
|
.set TCC2_2_interrupt, Haltproc
|
|
.set TCC2_3_interrupt, Haltproc
|
|
.set TCC3_0_interrupt, Haltproc
|
|
.set TCC3_1_interrupt, Haltproc
|
|
.set TCC3_2_interrupt, Haltproc
|
|
.set TCC4_0_interrupt, Haltproc
|
|
.set TCC4_1_interrupt, Haltproc
|
|
.set TCC4_2_interrupt, Haltproc
|
|
.set TC0_interrupt, Haltproc
|
|
.set TC1_interrupt, Haltproc
|
|
.set TC2_interrupt, Haltproc
|
|
.set TC3_interrupt, Haltproc
|
|
.set TC4_interrupt, Haltproc
|
|
.set TC5_interrupt, Haltproc
|
|
.set TC6_interrupt, Haltproc
|
|
.set TC7_interrupt, Haltproc
|
|
.set PDEC_0_interrupt, Haltproc
|
|
.set PDEC_1_interrupt, Haltproc
|
|
.set PDEC_2_interrupt, Haltproc
|
|
.set ADC0_0_interrupt, Haltproc
|
|
.set ADC0_1_interrupt, Haltproc
|
|
.set ADC1_0_interrupt, Haltproc
|
|
.set ADC1_1_interrupt, Haltproc
|
|
.set AC_interrupt, Haltproc
|
|
.set DAC_0_interrupt, Haltproc
|
|
.set DAC_1_interrupt, Haltproc
|
|
.set DAC_2_interrupt, Haltproc
|
|
.set DAC_3_interrupt, Haltproc
|
|
.set DAC_4_interrupt, Haltproc
|
|
.set I2S_interrupt, Haltproc
|
|
.set PCC_interrupt, Haltproc
|
|
.set AES_interrupt, Haltproc
|
|
.set TRNG_interrupt, Haltproc
|
|
.set ICM_interrupt, Haltproc
|
|
.set PUKCC_interrupt, Haltproc
|
|
.set QSPI_interrupt, Haltproc
|
|
.set SDHC0_interrupt, Haltproc
|
|
.set SDHC1_interrupt, Haltproc
|
|
.text
|
|
end;
|
|
end.
|