Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
sam3u2c.h
00001 /* ---------------------------------------------------------------------------- */ 00002 /* Atmel Microcontroller Software Support */ 00003 /* SAM Software Package License */ 00004 /* ---------------------------------------------------------------------------- */ 00005 /* Copyright (c) %copyright_year%, Atmel Corporation */ 00006 /* */ 00007 /* All rights reserved. */ 00008 /* */ 00009 /* Redistribution and use in source and binary forms, with or without */ 00010 /* modification, are permitted provided that the following condition is met: */ 00011 /* */ 00012 /* - Redistributions of source code must retain the above copyright notice, */ 00013 /* this list of conditions and the disclaimer below. */ 00014 /* */ 00015 /* Atmel's name may not be used to endorse or promote products derived from */ 00016 /* this software without specific prior written permission. */ 00017 /* */ 00018 /* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */ 00019 /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */ 00020 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */ 00021 /* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */ 00022 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */ 00023 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */ 00024 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */ 00025 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */ 00026 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */ 00027 /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ 00028 /* ---------------------------------------------------------------------------- */ 00029 00030 #ifndef _SAM3U2C_ 00031 #define _SAM3U2C_ 00032 00033 /** \addtogroup SAM3U2C_definitions SAM3U2C definitions 00034 This file defines all structures and symbols for SAM3U2C: 00035 - registers and bitfields 00036 - peripheral base address 00037 - peripheral ID 00038 - PIO definitions 00039 */ 00040 /*@{*/ 00041 00042 #ifdef __cplusplus 00043 extern "C" { 00044 #endif 00045 00046 #if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 00047 #include "stdint.h" 00048 #ifndef __cplusplus 00049 typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ 00050 #else 00051 typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */ 00052 #endif 00053 typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */ 00054 typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */ 00055 #endif 00056 00057 /* ************************************************************************** */ 00058 /* CMSIS DEFINITIONS FOR SAM3U2C */ 00059 /* ************************************************************************** */ 00060 /** \addtogroup SAM3U2C_cmsis CMSIS Definitions */ 00061 /*@{*/ 00062 00063 /**< Interrupt Number Definition */ 00064 typedef enum IRQn 00065 { 00066 /****** Cortex-M3 Processor Exceptions Numbers ******************************/ 00067 NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */ 00068 MemoryManagement_IRQn = -12, /**< 4 Cortex-M3 Memory Management Interrupt */ 00069 BusFault_IRQn = -11, /**< 5 Cortex-M3 Bus Fault Interrupt */ 00070 UsageFault_IRQn = -10, /**< 6 Cortex-M3 Usage Fault Interrupt */ 00071 SVCall_IRQn = -5, /**< 11 Cortex-M3 SV Call Interrupt */ 00072 DebugMonitor_IRQn = -4, /**< 12 Cortex-M3 Debug Monitor Interrupt */ 00073 PendSV_IRQn = -2, /**< 14 Cortex-M3 Pend SV Interrupt */ 00074 SysTick_IRQn = -1, /**< 15 Cortex-M3 System Tick Interrupt */ 00075 /****** SAM3U2C specific Interrupt Numbers *********************************/ 00076 00077 SUPC_IRQn = 0, /**< 0 SAM3U2C Supply Controller (SUPC) */ 00078 RSTC_IRQn = 1, /**< 1 SAM3U2C Reset Controller (RSTC) */ 00079 RTC_IRQn = 2, /**< 2 SAM3U2C Real Time Clock (RTC) */ 00080 RTT_IRQn = 3, /**< 3 SAM3U2C Real Time Timer (RTT) */ 00081 WDT_IRQn = 4, /**< 4 SAM3U2C Watchdog Timer (WDT) */ 00082 PMC_IRQn = 5, /**< 5 SAM3U2C Power Management Controller (PMC) */ 00083 EFC0_IRQn = 6, /**< 6 SAM3U2C Enhanced Embedded Flash Controller 0 (EFC0) */ 00084 UART_IRQn = 8, /**< 8 SAM3U2C Universal Asynchronous Receiver Transmitter (UART) */ 00085 SMC_IRQn = 9, /**< 9 SAM3U2C Static Memory Controller (SMC) */ 00086 PIOA_IRQn = 10, /**< 10 SAM3U2C Parallel I/O Controller A, (PIOA) */ 00087 PIOB_IRQn = 11, /**< 11 SAM3U2C Parallel I/O Controller B (PIOB) */ 00088 USART0_IRQn = 13, /**< 13 SAM3U2C USART 0 (USART0) */ 00089 USART1_IRQn = 14, /**< 14 SAM3U2C USART 1 (USART1) */ 00090 USART2_IRQn = 15, /**< 15 SAM3U2C USART 2 (USART2) */ 00091 HSMCI_IRQn = 17, /**< 17 SAM3U2C High Speed Multimedia Card Interface (HSMCI) */ 00092 TWI0_IRQn = 18, /**< 18 SAM3U2C Two-Wire Interface 0 (TWI0) */ 00093 TWI1_IRQn = 19, /**< 19 SAM3U2C Two-Wire Interface 1 (TWI1) */ 00094 SPI_IRQn = 20, /**< 20 SAM3U2C Serial Peripheral Interface (SPI) */ 00095 SSC_IRQn = 21, /**< 21 SAM3U2C Synchronous Serial Controller (SSC) */ 00096 TC0_IRQn = 22, /**< 22 SAM3U2C Timer Counter 0 (TC0) */ 00097 TC1_IRQn = 23, /**< 23 SAM3U2C Timer Counter 1 (TC1) */ 00098 TC2_IRQn = 24, /**< 24 SAM3U2C Timer Counter 2 (TC2) */ 00099 PWM_IRQn = 25, /**< 25 SAM3U2C Pulse Width Modulation Controller (PWM) */ 00100 ADC12B_IRQn = 26, /**< 26 SAM3U2C 12-bit ADC Controller (ADC12B) */ 00101 ADC_IRQn = 27, /**< 27 SAM3U2C 10-bit ADC Controller (ADC) */ 00102 DMAC_IRQn = 28, /**< 28 SAM3U2C DMA Controller (DMAC) */ 00103 UDPHS_IRQn = 29, /**< 29 SAM3U2C USB Device High Speed (UDPHS) */ 00104 00105 PERIPH_COUNT_IRQn = 30 /**< Number of peripheral IDs */ 00106 } IRQn_Type ; 00107 00108 typedef struct _DeviceVectors 00109 { 00110 /* Stack pointer */ 00111 void* pvStack; 00112 00113 /* Cortex-M handlers */ 00114 void* pfnReset_Handler; 00115 void* pfnNMI_Handler; 00116 void* pfnHardFault_Handler; 00117 void* pfnMemManage_Handler; 00118 void* pfnBusFault_Handler; 00119 void* pfnUsageFault_Handler; 00120 void* pfnReserved1_Handler; 00121 void* pfnReserved2_Handler; 00122 void* pfnReserved3_Handler; 00123 void* pfnReserved4_Handler; 00124 void* pfnSVC_Handler; 00125 void* pfnDebugMon_Handler; 00126 void* pfnReserved5_Handler; 00127 void* pfnPendSV_Handler; 00128 void* pfnSysTick_Handler; 00129 00130 /* Peripheral handlers */ 00131 void* pfnSUPC_Handler; /* 0 Supply Controller */ 00132 void* pfnRSTC_Handler; /* 1 Reset Controller */ 00133 void* pfnRTC_Handler; /* 2 Real Time Clock */ 00134 void* pfnRTT_Handler; /* 3 Real Time Timer */ 00135 void* pfnWDT_Handler; /* 4 Watchdog Timer */ 00136 void* pfnPMC_Handler; /* 5 Power Management Controller */ 00137 void* pfnEFC0_Handler; /* 6 Enhanced Embedded Flash Controller 0 */ 00138 void* pvReserved7; 00139 void* pfnUART_Handler; /* 8 Universal Asynchronous Receiver Transmitter */ 00140 void* pfnSMC_Handler; /* 9 Static Memory Controller */ 00141 void* pfnPIOA_Handler; /* 10 Parallel I/O Controller A, */ 00142 void* pfnPIOB_Handler; /* 11 Parallel I/O Controller B */ 00143 void* pvReserved12; 00144 void* pfnUSART0_Handler; /* 13 USART 0 */ 00145 void* pfnUSART1_Handler; /* 14 USART 1 */ 00146 void* pfnUSART2_Handler; /* 15 USART 2 */ 00147 void* pvReserved16; 00148 void* pfnHSMCI_Handler; /* 17 High Speed Multimedia Card Interface */ 00149 void* pfnTWI0_Handler; /* 18 Two-Wire Interface 0 */ 00150 void* pfnTWI1_Handler; /* 19 Two-Wire Interface 1 */ 00151 void* pfnSPI_Handler; /* 20 Serial Peripheral Interface */ 00152 void* pfnSSC_Handler; /* 21 Synchronous Serial Controller */ 00153 void* pfnTC0_Handler; /* 22 Timer Counter 0 */ 00154 void* pfnTC1_Handler; /* 23 Timer Counter 1 */ 00155 void* pfnTC2_Handler; /* 24 Timer Counter 2 */ 00156 void* pfnPWM_Handler; /* 25 Pulse Width Modulation Controller */ 00157 void* pfnADC12B_Handler; /* 26 12-bit ADC Controller */ 00158 void* pfnADC_Handler; /* 27 10-bit ADC Controller */ 00159 void* pfnDMAC_Handler; /* 28 DMA Controller */ 00160 void* pfnUDPHS_Handler; /* 29 USB Device High Speed */ 00161 } DeviceVectors; 00162 00163 /* Cortex-M3 core handlers */ 00164 void Reset_Handler ( void ); 00165 void NMI_Handler ( void ); 00166 void HardFault_Handler ( void ); 00167 void MemManage_Handler ( void ); 00168 void BusFault_Handler ( void ); 00169 void UsageFault_Handler ( void ); 00170 void SVC_Handler ( void ); 00171 void DebugMon_Handler ( void ); 00172 void PendSV_Handler ( void ); 00173 void SysTick_Handler ( void ); 00174 00175 /* Peripherals handlers */ 00176 void ADC_Handler ( void ); 00177 void ADC12B_Handler ( void ); 00178 void DMAC_Handler ( void ); 00179 void EFC0_Handler ( void ); 00180 void HSMCI_Handler ( void ); 00181 void PIOA_Handler ( void ); 00182 void PIOB_Handler ( void ); 00183 void PMC_Handler ( void ); 00184 void PWM_Handler ( void ); 00185 void RSTC_Handler ( void ); 00186 void RTC_Handler ( void ); 00187 void RTT_Handler ( void ); 00188 void SMC_Handler ( void ); 00189 void SPI_Handler ( void ); 00190 void SSC_Handler ( void ); 00191 void SUPC_Handler ( void ); 00192 void TC0_Handler ( void ); 00193 void TC1_Handler ( void ); 00194 void TC2_Handler ( void ); 00195 void TWI0_Handler ( void ); 00196 void TWI1_Handler ( void ); 00197 void UART_Handler ( void ); 00198 void UDPHS_Handler ( void ); 00199 void USART0_Handler ( void ); 00200 void USART1_Handler ( void ); 00201 void USART2_Handler ( void ); 00202 void WDT_Handler ( void ); 00203 00204 /** 00205 * \brief Configuration of the Cortex-M3 Processor and Core Peripherals 00206 */ 00207 00208 #define __CM3_REV 0x0200 /**< SAM3U2C core revision number ([15:8] revision number, [7:0] patch number) */ 00209 #define __MPU_PRESENT 1 /**< SAM3U2C does provide a MPU */ 00210 #define __NVIC_PRIO_BITS 4 /**< SAM3U2C uses 4 Bits for the Priority Levels */ 00211 #define __Vendor_SysTickConfig 0 /**< Set to 1 if different SysTick Config is used */ 00212 00213 /* 00214 * \brief CMSIS includes 00215 */ 00216 00217 #include "core_cm3.h" 00218 #if !defined DONT_USE_CMSIS_INIT 00219 #include "system_SAM3U.h" 00220 #endif /* DONT_USE_CMSIS_INIT */ 00221 00222 /*@}*/ 00223 00224 /* ************************************************************************** */ 00225 /** SOFTWARE PERIPHERAL API DEFINITION FOR SAM3U2C */ 00226 /* ************************************************************************** */ 00227 /** \addtogroup SAM3U2C_api Peripheral Software API */ 00228 /*@{*/ 00229 00230 #include "component/adc.h" 00231 #include "component/adc12b.h" 00232 #include "component/chipid.h" 00233 #include "component/dmac.h" 00234 #include "component/efc.h" 00235 #include "component/gpbr.h" 00236 #include "component/hsmci.h" 00237 #include "component/matrix.h" 00238 #include "component/pdc.h" 00239 #include "component/pio.h" 00240 #include "component/pmc.h" 00241 #include "component/pwm.h" 00242 #include "component/rstc.h" 00243 #include "component/rtc.h" 00244 #include "component/rtt.h" 00245 #include "component/smc.h" 00246 #include "component/spi.h" 00247 #include "component/ssc.h" 00248 #include "component/supc.h" 00249 #include "component/tc.h" 00250 #include "component/twi.h" 00251 #include "component/uart.h" 00252 #include "component/udphs.h" 00253 #include "component/usart.h" 00254 #include "component/wdt.h" 00255 /*@}*/ 00256 00257 /* ************************************************************************** */ 00258 /* REGISTER ACCESS DEFINITIONS FOR SAM3U2C */ 00259 /* ************************************************************************** */ 00260 /** \addtogroup SAM3U2C_reg Registers Access Definitions */ 00261 /*@{*/ 00262 00263 #include "instance/hsmci.h" 00264 #include "instance/ssc.h" 00265 #include "instance/spi.h" 00266 #include "instance/tc0.h" 00267 #include "instance/twi0.h" 00268 #include "instance/twi1.h" 00269 #include "instance/pwm.h" 00270 #include "instance/usart0.h" 00271 #include "instance/usart1.h" 00272 #include "instance/usart2.h" 00273 #include "instance/udphs.h" 00274 #include "instance/adc12b.h" 00275 #include "instance/adc.h" 00276 #include "instance/dmac.h" 00277 #include "instance/smc.h" 00278 #include "instance/matrix.h" 00279 #include "instance/pmc.h" 00280 #include "instance/uart.h" 00281 #include "instance/chipid.h" 00282 #include "instance/efc0.h" 00283 #include "instance/pioa.h" 00284 #include "instance/piob.h" 00285 #include "instance/rstc.h" 00286 #include "instance/supc.h" 00287 #include "instance/rtt.h" 00288 #include "instance/wdt.h" 00289 #include "instance/rtc.h" 00290 #include "instance/gpbr.h" 00291 /*@}*/ 00292 00293 /* ************************************************************************** */ 00294 /* PERIPHERAL ID DEFINITIONS FOR SAM3U2C */ 00295 /* ************************************************************************** */ 00296 /** \addtogroup SAM3U2C_id Peripheral Ids Definitions */ 00297 /*@{*/ 00298 00299 #define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */ 00300 #define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */ 00301 #define ID_RTC ( 2) /**< \brief Real Time Clock (RTC) */ 00302 #define ID_RTT ( 3) /**< \brief Real Time Timer (RTT) */ 00303 #define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */ 00304 #define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */ 00305 #define ID_EFC0 ( 6) /**< \brief Enhanced Embedded Flash Controller 0 (EFC0) */ 00306 #define ID_UART ( 8) /**< \brief Universal Asynchronous Receiver Transmitter (UART) */ 00307 #define ID_SMC ( 9) /**< \brief Static Memory Controller (SMC) */ 00308 #define ID_PIOA (10) /**< \brief Parallel I/O Controller A, (PIOA) */ 00309 #define ID_PIOB (11) /**< \brief Parallel I/O Controller B (PIOB) */ 00310 #define ID_USART0 (13) /**< \brief USART 0 (USART0) */ 00311 #define ID_USART1 (14) /**< \brief USART 1 (USART1) */ 00312 #define ID_USART2 (15) /**< \brief USART 2 (USART2) */ 00313 #define ID_HSMCI (17) /**< \brief High Speed Multimedia Card Interface (HSMCI) */ 00314 #define ID_TWI0 (18) /**< \brief Two-Wire Interface 0 (TWI0) */ 00315 #define ID_TWI1 (19) /**< \brief Two-Wire Interface 1 (TWI1) */ 00316 #define ID_SPI (20) /**< \brief Serial Peripheral Interface (SPI) */ 00317 #define ID_SSC (21) /**< \brief Synchronous Serial Controller (SSC) */ 00318 #define ID_TC0 (22) /**< \brief Timer Counter 0 (TC0) */ 00319 #define ID_TC1 (23) /**< \brief Timer Counter 1 (TC1) */ 00320 #define ID_TC2 (24) /**< \brief Timer Counter 2 (TC2) */ 00321 #define ID_PWM (25) /**< \brief Pulse Width Modulation Controller (PWM) */ 00322 #define ID_ADC12B (26) /**< \brief 12-bit ADC Controller (ADC12B) */ 00323 #define ID_ADC (27) /**< \brief 10-bit ADC Controller (ADC) */ 00324 #define ID_DMAC (28) /**< \brief DMA Controller (DMAC) */ 00325 #define ID_UDPHS (29) /**< \brief USB Device High Speed (UDPHS) */ 00326 00327 #define ID_PERIPH_COUNT (30) /**< \brief Number of peripheral IDs */ 00328 /*@}*/ 00329 00330 /* ************************************************************************** */ 00331 /* BASE ADDRESS DEFINITIONS FOR SAM3U2C */ 00332 /* ************************************************************************** */ 00333 /** \addtogroup SAM3U2C_base Peripheral Base Address Definitions */ 00334 /*@{*/ 00335 00336 #if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) 00337 #define HSMCI (0x40000000U) /**< \brief (HSMCI ) Base Address */ 00338 #define SSC (0x40004000U) /**< \brief (SSC ) Base Address */ 00339 #define SPI (0x40008000U) /**< \brief (SPI ) Base Address */ 00340 #define TC0 (0x40080000U) /**< \brief (TC0 ) Base Address */ 00341 #define TWI0 (0x40084000U) /**< \brief (TWI0 ) Base Address */ 00342 #define PDC_TWI0 (0x40084100U) /**< \brief (PDC_TWI0 ) Base Address */ 00343 #define TWI1 (0x40088000U) /**< \brief (TWI1 ) Base Address */ 00344 #define PDC_TWI1 (0x40088100U) /**< \brief (PDC_TWI1 ) Base Address */ 00345 #define PWM (0x4008C000U) /**< \brief (PWM ) Base Address */ 00346 #define PDC_PWM (0x4008C100U) /**< \brief (PDC_PWM ) Base Address */ 00347 #define USART0 (0x40090000U) /**< \brief (USART0 ) Base Address */ 00348 #define PDC_USART0 (0x40090100U) /**< \brief (PDC_USART0) Base Address */ 00349 #define USART1 (0x40094000U) /**< \brief (USART1 ) Base Address */ 00350 #define PDC_USART1 (0x40094100U) /**< \brief (PDC_USART1) Base Address */ 00351 #define USART2 (0x40098000U) /**< \brief (USART2 ) Base Address */ 00352 #define PDC_USART2 (0x40098100U) /**< \brief (PDC_USART2) Base Address */ 00353 #define UDPHS (0x400A4000U) /**< \brief (UDPHS ) Base Address */ 00354 #define ADC12B (0x400A8000U) /**< \brief (ADC12B ) Base Address */ 00355 #define PDC_ADC12B (0x400A8100U) /**< \brief (PDC_ADC12B) Base Address */ 00356 #define ADC (0x400AC000U) /**< \brief (ADC ) Base Address */ 00357 #define PDC_ADC (0x400AC100U) /**< \brief (PDC_ADC ) Base Address */ 00358 #define DMAC (0x400B0000U) /**< \brief (DMAC ) Base Address */ 00359 #define SMC (0x400E0000U) /**< \brief (SMC ) Base Address */ 00360 #define MATRIX (0x400E0200U) /**< \brief (MATRIX ) Base Address */ 00361 #define PMC (0x400E0400U) /**< \brief (PMC ) Base Address */ 00362 #define UART (0x400E0600U) /**< \brief (UART ) Base Address */ 00363 #define PDC_UART (0x400E0700U) /**< \brief (PDC_UART ) Base Address */ 00364 #define CHIPID (0x400E0740U) /**< \brief (CHIPID ) Base Address */ 00365 #define EFC0 (0x400E0800U) /**< \brief (EFC0 ) Base Address */ 00366 #define PIOA (0x400E0C00U) /**< \brief (PIOA ) Base Address */ 00367 #define PIOB (0x400E0E00U) /**< \brief (PIOB ) Base Address */ 00368 #define RSTC (0x400E1200U) /**< \brief (RSTC ) Base Address */ 00369 #define SUPC (0x400E1210U) /**< \brief (SUPC ) Base Address */ 00370 #define RTT (0x400E1230U) /**< \brief (RTT ) Base Address */ 00371 #define WDT (0x400E1250U) /**< \brief (WDT ) Base Address */ 00372 #define RTC (0x400E1260U) /**< \brief (RTC ) Base Address */ 00373 #define GPBR (0x400E1290U) /**< \brief (GPBR ) Base Address */ 00374 #else 00375 #define HSMCI ((Hsmci *)0x40000000U) /**< \brief (HSMCI ) Base Address */ 00376 #define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */ 00377 #define SPI ((Spi *)0x40008000U) /**< \brief (SPI ) Base Address */ 00378 #define TC0 ((Tc *)0x40080000U) /**< \brief (TC0 ) Base Address */ 00379 #define TWI0 ((Twi *)0x40084000U) /**< \brief (TWI0 ) Base Address */ 00380 #define PDC_TWI0 ((Pdc *)0x40084100U) /**< \brief (PDC_TWI0 ) Base Address */ 00381 #define TWI1 ((Twi *)0x40088000U) /**< \brief (TWI1 ) Base Address */ 00382 #define PDC_TWI1 ((Pdc *)0x40088100U) /**< \brief (PDC_TWI1 ) Base Address */ 00383 #define PWM ((Pwm *)0x4008C000U) /**< \brief (PWM ) Base Address */ 00384 #define PDC_PWM ((Pdc *)0x4008C100U) /**< \brief (PDC_PWM ) Base Address */ 00385 #define USART0 ((Usart *)0x40090000U) /**< \brief (USART0 ) Base Address */ 00386 #define PDC_USART0 ((Pdc *)0x40090100U) /**< \brief (PDC_USART0) Base Address */ 00387 #define USART1 ((Usart *)0x40094000U) /**< \brief (USART1 ) Base Address */ 00388 #define PDC_USART1 ((Pdc *)0x40094100U) /**< \brief (PDC_USART1) Base Address */ 00389 #define USART2 ((Usart *)0x40098000U) /**< \brief (USART2 ) Base Address */ 00390 #define PDC_USART2 ((Pdc *)0x40098100U) /**< \brief (PDC_USART2) Base Address */ 00391 #define UDPHS ((Udphs *)0x400A4000U) /**< \brief (UDPHS ) Base Address */ 00392 #define ADC12B ((Adc12b *)0x400A8000U) /**< \brief (ADC12B ) Base Address */ 00393 #define PDC_ADC12B ((Pdc *)0x400A8100U) /**< \brief (PDC_ADC12B) Base Address */ 00394 #define ADC ((Adc *)0x400AC000U) /**< \brief (ADC ) Base Address */ 00395 #define PDC_ADC ((Pdc *)0x400AC100U) /**< \brief (PDC_ADC ) Base Address */ 00396 #define DMAC ((Dmac *)0x400B0000U) /**< \brief (DMAC ) Base Address */ 00397 #define SMC ((Smc *)0x400E0000U) /**< \brief (SMC ) Base Address */ 00398 #define MATRIX ((Matrix *)0x400E0200U) /**< \brief (MATRIX ) Base Address */ 00399 #define PMC ((Pmc *)0x400E0400U) /**< \brief (PMC ) Base Address */ 00400 #define UART ((Uart *)0x400E0600U) /**< \brief (UART ) Base Address */ 00401 #define PDC_UART ((Pdc *)0x400E0700U) /**< \brief (PDC_UART ) Base Address */ 00402 #define CHIPID ((Chipid *)0x400E0740U) /**< \brief (CHIPID ) Base Address */ 00403 #define EFC0 ((Efc *)0x400E0800U) /**< \brief (EFC0 ) Base Address */ 00404 #define PIOA ((Pio *)0x400E0C00U) /**< \brief (PIOA ) Base Address */ 00405 #define PIOB ((Pio *)0x400E0E00U) /**< \brief (PIOB ) Base Address */ 00406 #define RSTC ((Rstc *)0x400E1200U) /**< \brief (RSTC ) Base Address */ 00407 #define SUPC ((Supc *)0x400E1210U) /**< \brief (SUPC ) Base Address */ 00408 #define RTT ((Rtt *)0x400E1230U) /**< \brief (RTT ) Base Address */ 00409 #define WDT ((Wdt *)0x400E1250U) /**< \brief (WDT ) Base Address */ 00410 #define RTC ((Rtc *)0x400E1260U) /**< \brief (RTC ) Base Address */ 00411 #define GPBR ((Gpbr *)0x400E1290U) /**< \brief (GPBR ) Base Address */ 00412 #endif /* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ 00413 /*@}*/ 00414 00415 /* ************************************************************************** */ 00416 /* PIO DEFINITIONS FOR SAM3U2C */ 00417 /* ************************************************************************** */ 00418 /** \addtogroup SAM3U2C_pio Peripheral Pio Definitions */ 00419 /*@{*/ 00420 00421 #include "pio/sam3u2c.h" 00422 /*@}*/ 00423 00424 /* ************************************************************************** */ 00425 /* MEMORY MAPPING DEFINITIONS FOR SAM3U2C */ 00426 /* ************************************************************************** */ 00427 00428 #define IFLASH0_SIZE (0x20000u) 00429 #define IFLASH0_PAGE_SIZE (256u) 00430 #define IFLASH0_LOCK_REGION_SIZE (8192u) 00431 #define IFLASH0_NB_OF_PAGES (64u) 00432 #define IFLASH0_NB_OF_LOCK_BITS (32u) 00433 #define IRAM0_SIZE (0x4000u) 00434 #define IRAM1_SIZE (0x4000u) 00435 #define NFCRAM_SIZE (0x1000u) 00436 #define IFLASH_SIZE (IFLASH0_SIZE) 00437 #define IRAM_SIZE (IRAM0_SIZE+IRAM1_SIZE) 00438 00439 #define IFLASH0_ADDR (0x00080000u) /**< Internal Flash 0 base address */ 00440 #define IROM_ADDR (0x00180000u) /**< Internal ROM base address */ 00441 #define IRAM0_ADDR (0x20000000u) /**< Internal RAM 0 base address */ 00442 #define IRAM1_ADDR (0x20080000u) /**< Internal RAM 1 base address */ 00443 #define NFC_RAM_ADDR (0x20100000u) /**< NAND Flash Controller RAM base address */ 00444 #define UDPHS_RAM_ADDR (0x20180000u) /**< USB High Speed Device Port RAM base address */ 00445 00446 /* ************************************************************************** */ 00447 /* MISCELLANEOUS DEFINITIONS FOR SAM3U2C */ 00448 /* ************************************************************************** */ 00449 00450 #define CHIP_JTAGID (0x05B2A01FUL) 00451 #define CHIP_CIDR (0x280A0760UL) 00452 #define CHIP_EXID (0x0UL) 00453 00454 /* ************************************************************************** */ 00455 /* ELECTRICAL DEFINITIONS FOR SAM3U2C */ 00456 /* ************************************************************************** */ 00457 00458 /* Device characteristics */ 00459 #define CHIP_FREQ_SLCK_RC_MIN (20000UL) 00460 #define CHIP_FREQ_SLCK_RC (32000UL) 00461 #define CHIP_FREQ_SLCK_RC_MAX (44000UL) 00462 #define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL) 00463 #define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL) 00464 #define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL) 00465 #define CHIP_FREQ_CPU_MAX (96000000UL) 00466 #define CHIP_FREQ_XTAL_32K (32768UL) 00467 #define CHIP_FREQ_XTAL_12M (12000000UL) 00468 00469 /* Embedded Flash Write Wait State */ 00470 #define CHIP_FLASH_WRITE_WAIT_STATE (6U) 00471 00472 /* Embedded Flash Read Wait State (VDDCORE set at 1.65V) */ 00473 #define CHIP_FREQ_FWS_0 (24000000UL) /**< \brief Maximum operating frequency when FWS is 0 */ 00474 #define CHIP_FREQ_FWS_1 (40000000UL) /**< \brief Maximum operating frequency when FWS is 1 */ 00475 #define CHIP_FREQ_FWS_2 (72000000UL) /**< \brief Maximum operating frequency when FWS is 2 */ 00476 #define CHIP_FREQ_FWS_3 (84000000UL) /**< \brief Maximum operating frequency when FWS is 3 */ 00477 00478 #ifdef __cplusplus 00479 } 00480 #endif 00481 00482 /*@}*/ 00483 00484 #endif /* _SAM3U2C_ */
Generated on Tue Jul 12 2022 15:37:23 by
1.7.2