51#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
221#define __CM4_REV 0x0001
222#define __MPU_PRESENT 1
223#define __FPU_PRESENT 0
224#define __NVIC_PRIO_BITS 4
225#define __Vendor_SysTickConfig 0
232#if !defined DONT_USE_CMSIS_INIT
233#include "system_sam4s.h"
244#include "component/component_acc.h"
246#include "component/component_chipid.h"
247#include "component/component_cmcc.h"
248#include "component/component_crccu.h"
249#include "component/component_dacc.h"
250#include "component/component_efc.h"
251#include "component/component_gpbr.h"
252#include "component/component_hsmci.h"
253#include "component/component_matrix.h"
254#include "component/component_pdc.h"
256#include "component/component_pmc.h"
258#include "component/component_rstc.h"
259#include "component/component_rtc.h"
260#include "component/component_rtt.h"
261#include "component/component_smc.h"
263#include "component/component_ssc.h"
264#include "component/component_supc.h"
267#include "component/component_uart.h"
268#include "component/component_udp.h"
270#include "component/component_wdt.h"
279#include "instance/instance_hsmci.h"
280#include "instance/instance_ssc.h"
289#include "instance/instance_udp.h"
291#include "instance/instance_dacc.h"
292#include "instance/instance_acc.h"
293#include "instance/instance_crccu.h"
294#include "instance/instance_cmcc.h"
295#include "instance/instance_smc.h"
296#include "instance/instance_matrix.h"
297#include "instance/instance_pmc.h"
298#include "instance/instance_uart0.h"
299#include "instance/instance_chipid.h"
300#include "instance/instance_uart1.h"
301#include "instance/instance_efc0.h"
302#include "instance/instance_efc1.h"
306#include "instance/instance_rstc.h"
307#include "instance/instance_supc.h"
308#include "instance/instance_rtt.h"
309#include "instance/instance_wdt.h"
310#include "instance/instance_rtc.h"
311#include "instance/instance_gpbr.h"
334#define ID_USART0 (14)
335#define ID_USART1 (15)
354#define ID_PERIPH_COUNT (35)
363#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
364#define HSMCI (0x40000000U)
365#define PDC_HSMCI (0x40000100U)
366#define SSC (0x40004000U)
367#define PDC_SSC (0x40004100U)
368#define SPI (0x40008000U)
369#define PDC_SPI (0x40008100U)
370#define TC0 (0x40010000U)
371#define TC1 (0x40014000U)
372#define TWI0 (0x40018000U)
373#define PDC_TWI0 (0x40018100U)
374#define TWI1 (0x4001C000U)
375#define PDC_TWI1 (0x4001C100U)
376#define PWM (0x40020000U)
377#define PDC_PWM (0x40020100U)
378#define USART0 (0x40024000U)
379#define PDC_USART0 (0x40024100U)
380#define USART1 (0x40028000U)
381#define PDC_USART1 (0x40028100U)
382#define UDP (0x40034000U)
383#define ADC (0x40038000U)
384#define PDC_ADC (0x40038100U)
385#define DACC (0x4003C000U)
386#define PDC_DACC (0x4003C100U)
387#define ACC (0x40040000U)
388#define CRCCU (0x40044000U)
389#define CMCC (0x4007C000U)
390#define SMC (0x400E0000U)
391#define MATRIX (0x400E0200U)
392#define PMC (0x400E0400U)
393#define UART0 (0x400E0600U)
394#define PDC_UART0 (0x400E0700U)
395#define CHIPID (0x400E0740U)
396#define UART1 (0x400E0800U)
397#define PDC_UART1 (0x400E0900U)
398#define EFC0 (0x400E0A00U)
399#define EFC1 (0x400E0C00U)
400#define PIOA (0x400E0E00U)
401#define PDC_PIOA (0x400E0F68U)
402#define PIOB (0x400E1000U)
403#define PIOC (0x400E1200U)
404#define RSTC (0x400E1400U)
405#define SUPC (0x400E1410U)
406#define RTT (0x400E1430U)
407#define WDT (0x400E1450U)
408#define RTC (0x400E1460U)
409#define GPBR (0x400E1490U)
411#define HSMCI ((Hsmci *)0x40000000U)
412#define PDC_HSMCI ((Pdc *)0x40000100U)
413#define SSC ((Ssc *)0x40004000U)
414#define PDC_SSC ((Pdc *)0x40004100U)
415#define SPI ((Spi *)0x40008000U)
416#define PDC_SPI ((Pdc *)0x40008100U)
417#define TC0 ((Tc *)0x40010000U)
418#define TC1 ((Tc *)0x40014000U)
419#define TWI0 ((Twi *)0x40018000U)
420#define PDC_TWI0 ((Pdc *)0x40018100U)
421#define TWI1 ((Twi *)0x4001C000U)
422#define PDC_TWI1 ((Pdc *)0x4001C100U)
423#define PWM ((Pwm *)0x40020000U)
424#define PDC_PWM ((Pdc *)0x40020100U)
425#define USART0 ((Usart *)0x40024000U)
426#define PDC_USART0 ((Pdc *)0x40024100U)
427#define USART1 ((Usart *)0x40028000U)
428#define PDC_USART1 ((Pdc *)0x40028100U)
429#define UDP ((Udp *)0x40034000U)
430#define ADC ((Adc *)0x40038000U)
431#define PDC_ADC ((Pdc *)0x40038100U)
432#define DACC ((Dacc *)0x4003C000U)
433#define PDC_DACC ((Pdc *)0x4003C100U)
434#define ACC ((Acc *)0x40040000U)
435#define CRCCU ((Crccu *)0x40044000U)
436#define CMCC ((Cmcc *)0x4007C000U)
437#define SMC ((Smc *)0x400E0000U)
438#define MATRIX ((Matrix *)0x400E0200U)
439#define PMC ((Pmc *)0x400E0400U)
440#define UART0 ((Uart *)0x400E0600U)
441#define PDC_UART0 ((Pdc *)0x400E0700U)
442#define CHIPID ((Chipid *)0x400E0740U)
443#define UART1 ((Uart *)0x400E0800U)
444#define PDC_UART1 ((Pdc *)0x400E0900U)
445#define EFC0 ((Efc *)0x400E0A00U)
446#define EFC1 ((Efc *)0x400E0C00U)
447#define PIOA ((Pio *)0x400E0E00U)
448#define PDC_PIOA ((Pdc *)0x400E0F68U)
449#define PIOB ((Pio *)0x400E1000U)
450#define PIOC ((Pio *)0x400E1200U)
451#define RSTC ((Rstc *)0x400E1400U)
452#define SUPC ((Supc *)0x400E1410U)
453#define RTT ((Rtt *)0x400E1430U)
454#define WDT ((Wdt *)0x400E1450U)
455#define RTC ((Rtc *)0x400E1460U)
456#define GPBR ((Gpbr *)0x400E1490U)
473#define IFLASH0_SIZE (0x100000u)
474#define IFLASH0_PAGE_SIZE (512u)
475#define IFLASH0_LOCK_REGION_SIZE (8192u)
476#define IFLASH0_NB_OF_PAGES (2048u)
477#define IFLASH0_NB_OF_LOCK_BITS (128u)
478#define IFLASH1_SIZE (0x100000u)
479#define IFLASH1_PAGE_SIZE (512u)
480#define IFLASH1_LOCK_REGION_SIZE (8192u)
481#define IFLASH1_NB_OF_PAGES (2048u)
482#define IFLASH1_NB_OF_LOCK_BITS (128u)
483#define IRAM_SIZE (0x28000u)
484#define IFLASH_SIZE (IFLASH0_SIZE+IFLASH1_SIZE)
486#define IFLASH0_ADDR (0x00400000u)
487#if defined IFLASH0_SIZE
488#define IFLASH1_ADDR (IFLASH0_ADDR+IFLASH0_SIZE)
490#define IROM_ADDR (0x00800000u)
491#define IRAM_ADDR (0x20000000u)
492#define EBI_CS0_ADDR (0x60000000u)
493#define EBI_CS1_ADDR (0x61000000u)
494#define EBI_CS2_ADDR (0x62000000u)
495#define EBI_CS3_ADDR (0x63000000u)
501#define CHIP_JTAGID (0x05B3203FUL)
502#define CHIP_CIDR (0x29A70EE0UL)
503#define NB_CH_ADC (15UL)
504#define NB_CH_DAC (2UL)
505#define USB_DEVICE_MAX_EP (8UL)
512#define CHIP_FREQ_SLCK_RC_MIN (20000UL)
513#define CHIP_FREQ_SLCK_RC (32000UL)
514#define CHIP_FREQ_SLCK_RC_MAX (44000UL)
515#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL)
516#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL)
517#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL)
518#define CHIP_FREQ_CPU_MAX (120000000UL)
519#define CHIP_FREQ_XTAL_32K (32768UL)
522#define CHIP_FLASH_WRITE_WAIT_STATE (6U)
525#define CHIP_FREQ_FWS_0 (20000000UL)
526#define CHIP_FREQ_FWS_1 (40000000UL)
527#define CHIP_FREQ_FWS_2 (60000000UL)
528#define CHIP_FREQ_FWS_3 (80000000UL)
529#define CHIP_FREQ_FWS_4 (100000000UL)
530#define CHIP_FREQ_FWS_5 (123000000UL)
533#define ACC_ACR_HYST_50MV_MAX (0x01UL)
534#define ACC_ACR_HYST_90MV_MAX (0x11UL)
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
Copyright (c) 2012-2018 Microchip Technology Inc.
struct _DeviceVectors DeviceVectors
void UsageFault_Handler(void)
void HardFault_Handler(void)
void MemManage_Handler(void)
enum IRQn IRQn_Type
< Interrupt Number Definition
void PendSV_Handler(void)
IRQn
< Interrupt Number Definition
@ PendSV_IRQn
14 Cortex-M4 Pend SV Interrupt
@ TC0_IRQn
23 SAM4SD32C Timer/Counter 0 (TC0)
@ MemoryManagement_IRQn
4 Cortex-M4 Memory Management Interrupt
@ USART0_IRQn
14 SAM4SD32C USART 0 (USART0)
@ SVCall_IRQn
11 Cortex-M4 SV Call Interrupt
@ ADC_IRQn
29 SAM4SD32C Analog To Digital Converter (ADC)
@ PIOC_IRQn
13 SAM4SD32C Parallel I/O Controller C (PIOC)
@ TC4_IRQn
27 SAM4SD32C Timer/Counter 4 (TC4)
@ EFC1_IRQn
7 SAM4SD32C Enhanced Embedded Flash Controller 1 (EFC1)
@ TC1_IRQn
24 SAM4SD32C Timer/Counter 1 (TC1)
@ UsageFault_IRQn
6 Cortex-M4 Usage Fault Interrupt
@ SysTick_IRQn
15 Cortex-M4 System Tick Interrupt
@ PMC_IRQn
5 SAM4SD32C Power Management Controller (PMC)
@ SUPC_IRQn
0 SAM4SD32C Supply Controller (SUPC)
@ WDT_IRQn
4 SAM4SD32C Watchdog Timer (WDT)
@ SSC_IRQn
22 SAM4SD32C Synchronous Serial Controller (SSC)
@ PIOA_IRQn
11 SAM4SD32C Parallel I/O Controller A (PIOA)
@ TC5_IRQn
28 SAM4SD32C Timer/Counter 5 (TC5)
@ PERIPH_COUNT_IRQn
Number of peripheral IDs.
@ BusFault_IRQn
5 Cortex-M4 Bus Fault Interrupt
@ DebugMonitor_IRQn
12 Cortex-M4 Debug Monitor Interrupt
@ SPI_IRQn
21 SAM4SD32C Serial Peripheral Interface (SPI)
@ TC2_IRQn
25 SAM4SD32C Timer/Counter 2 (TC2)
@ CRCCU_IRQn
32 SAM4SD32C CRC Calculation Unit (CRCCU)
@ UART1_IRQn
9 SAM4SD32C UART 1 (UART1)
@ TC3_IRQn
26 SAM4SD32C Timer/Counter 3 (TC3)
@ PWM_IRQn
31 SAM4SD32C Pulse Width Modulation (PWM)
@ RSTC_IRQn
1 SAM4SD32C Reset Controller (RSTC)
@ TWI0_IRQn
19 SAM4SD32C Two Wire Interface 0 (TWI0)
@ RTT_IRQn
3 SAM4SD32C Real Time Timer (RTT)
@ TWI1_IRQn
20 SAM4SD32C Two Wire Interface 1 (TWI1)
@ UDP_IRQn
34 SAM4SD32C USB Device Port (UDP)
@ USART1_IRQn
15 SAM4SD32C USART 1 (USART1)
@ RTC_IRQn
2 SAM4SD32C Real Time Clock (RTC)
@ NonMaskableInt_IRQn
2 Non Maskable Interrupt
@ PIOB_IRQn
12 SAM4SD32C Parallel I/O Controller B (PIOB)
@ HSMCI_IRQn
18 SAM4SD32C Multimedia Card Interface (HSMCI)
@ UART0_IRQn
8 SAM4SD32C UART 0 (UART0)
@ EFC0_IRQn
6 SAM4SD32C Enhanced Embedded Flash Controller 0 (EFC0)
@ ACC_IRQn
33 SAM4SD32C Analog Comparator (ACC)
@ DACC_IRQn
30 SAM4SD32C Digital To Analog Converter (DACC)
void BusFault_Handler(void)
void USART1_Handler(void)
void USART0_Handler(void)
void SysTick_Handler(void)
void DebugMon_Handler(void)
void * pfnMemManage_Handler
void * pfnSysTick_Handler
void * pfnUsageFault_Handler
void * pfnReserved5_Handler
void * pfnHardFault_Handler
void * pfnDebugMon_Handler
void * pfnReserved1_Handler
void * pfnReserved3_Handler
void * pfnBusFault_Handler
void * pfnReserved4_Handler
void * pfnReserved2_Handler