📄 at91sam7s.h
字号:
/* * TOPPERS/ASP Kernel * Toyohashi Open Platform for Embedded Real-Time Systems/ * Advanced Standard Profile Kernel * * Copyright (C) 2006 by GJ Business Division RICOH COMPANY,LTD. JAPAN * Copyright (C) 2007-2008 by Embedded and Real-Time Systems Laboratory * Graduate School of Information Science, Nagoya Univ., JAPAN * * 惧淡螟侯涪荚は·笆布の(1)×(4)の掘凤を塔たす眷圭に嘎り·塑ソフトウェ * ア∈塑ソフトウェアを猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖 * 恃ˇ浩芹邵∈笆布·网脱と钙ぶ∷することを痰浸で钓满するˉ * (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 * 涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 * スコ〖ド面に崔まれていることˉ * (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 * 脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 * 荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 * の痰瘦沮惮年を非很することˉ * (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 * 脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ * とˉ * (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 * 侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ * (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに * 鼠桂することˉ * (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 * 巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ * また·塑ソフトウェアのユ〖ザまたはエンドユ〖ザからのいかなる妄 * 统に答づく懒滇からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを * 倘勒することˉ * * 塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お * よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·泼年の蝗脱誊弄 * に滦する努圭拉も崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェ * アの网脱により木儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·そ * の勒扦を砷わないˉ * * @(#) $Id: at91sam7s.h 847 2008-03-20 15:52:24Z honda $ */#ifndef TOPPERS_AT91SAM7S_H#define TOPPERS_AT91SAM7S_H#include <sil.h>/* * 充哈みハンドラ戎规から·IRC拎侯のためのビットパタ〖ンを滇めるマクロ */#define INTNO_BITPAT(intno) (1U << intno)/* * ADVANCED INTERRUPT CONTROLLER */#define TADR_AIC_BASE 0xFFFFF000 /* AIC base address */#define TOFF_AIC_SMR 0x0000 /* Source Mode Register0-31 (R/W) */ #define AIC_PRIOR (7<<0) /* Priority Level */ #define AIC_PRIOR_LOWEST (0) /* Lowest priority level */ #define AIC_PRIOR_HIGHEST (7) /* Highest priority level */ #define AIC_SRCTYPE (3<<5) /* Interrupt Source Type */ #define AIC_SRCTYPE_INT_LEVEL_SENSITIVE (0<<5) /* Internal Sources Code Label Level Sensitive */ #define AIC_SRCTYPE_INT_EDGE_TRIGGERED (1<<5) /* Internal Sources Code Label Edge triggered */ #define AIC_SRCTYPE_EXT_HIGH_LEVEL (2<<5) /* External Sources Code Label High-level Sensitive */ #define AIC_SRCTYPE_EXT_POSITIVE_EDGE (3<<5) /* External Sources Code Label Positive Edge triggered */#define TOFF_AIC_SVR 0x0080 /* Source Vector Register0-31 (R/W) */#define TOFF_AIC_IVR 0x0100 /* Interrupt Vector Register (R) */#define TOFF_AIC_FVR 0x0104 /* Fast Interrupt Vector Register (R) */#define TOFF_AIC_ISR 0x0108 /* Interrupt Status Register (R) */#define TOFF_AIC_IPR 0x010C /* Interrupt Pending Register (R) */#define TOFF_AIC_IMR 0x0110 /* Interrupt Mask Register (R) */#define TOFF_AIC_CISR 0x0114 /* Core Interrupt Status Register (R) */#define TOFF_AIC_IECR 0x0120 /* Interrupt Enable Command Register (W) */#define TOFF_AIC_IDCR 0x0124 /* Interruot Disable Command Register (W) */#define TOFF_AIC_ICCR 0x0128 /* Interrupt Clear Command Register (W) */#define TOFF_AIC_ISCR 0x012C /* Interrupt Set Command Register (W) */#define TOFF_AIC_EOICR 0x0130 /* End of Interrupt Command Register (W) */#define TOFF_AIC_SPU 0x0134 /* Spurios Interrupt Vector Register (R/W */#define TOFF_AIC_DCR 0x0138 /* Debug Control Register (R/W) */#define TOFF_AIC_FFER 0x0140 /* Fast Forcing Enable Register (W) */#define TOFF_AIC_FFDR 0x0144 /* Fast Forcing Disable Register (W) */#define TOFF_AIC_FFSR 0x0148 /* Fast Forcing Status Register (R) */#define INTNO_FIQ_PID 0#define INTNO_SYSIRQ_PID 1#define INTNO_PIOA_PID 2#define INTNO_ADC_PID 4#define INTNO_SPI_PID 5#define INTNO_US0_PID 6#define INTNO_US1_PID 7#define INTNO_SSC_PID 8#define INTNO_TWI_PID 9#define INTNO_PWM_PID 10#define INTNO_UDP_PID 11#if defined (__AT91SAM7A3__)#define INTNO_TC0_PID 15#define INTNO_TC1_PID 16#define INTNO_TC2_PID 17#else#define INTNO_TC0_PID 12#define INTNO_TC1_PID 13#define INTNO_TC2_PID 14#endif /* __AT91SAM7A3__ */#define INTNO_IRQ0_PID 30#define INTNO_IRQ1_PID 31/* * DEBUG UNIT Debug Unit */#define TADR_DBGU_BASE 0xFFFFF200 /* Debug Unit BASE address */#define TOFF_DBGU_CR 0x0000 /* Control Register (W):TOFF_US_CR */#define TOFF_DBGU_MR 0x0004 /* Mode Register (R/W):TOFF_US_MR */#define TOFF_DBGU_IER 0x0008 /* Interrupt Enable Register (W):TOFF_US_IER */#define TOFF_DBGU_IDR 0x000C /* Interrupt Disable Register (W):TOFF_US_IDR */#define TOFF_DBGU_IMR 0x0010 /* Interrupt Mask Regiser (R):TOFF_US_IMR */#define TOFF_DBGU_SR 0x0014 /* Status Register (R):TOFF_US_CSR */#define TOFF_DBGU_RHR 0x0018 /* Receive Holding Register (R):TOFF_US_RHR */#define TOFF_DBGU_THR 0x001C /* Transmit Holding Register (W):TOFF_US_THR */#define TOFF_DBGU_BRGR 0x0020 /* Baud Rate Generator Register (R/W):TOFF_US_BRGR */#define TOFF_DBGU_CIDR 0x0040 /* Chip ID Register (R) */#define TOFF_DBGU_EXID 0x0044 /* Chip ID Extension Register (R) */#define TOFF_DBGU_FNR 0x0048 /* Force NTRST Register (R/W) *//* * PARALLEL INPUT/OUTPUT CONTROLLER */#define TADR_PIO_BASE 0xFFFFF400 /* PIO BASE ADDRESS */#define TOFF_PIO_PER 0x0000 /* PIO Enable Register (W) */#define TOFF_PIO_PDR 0x0004 /* PIO Disable Register (W) */#define TOFF_PIO_PSR 0x0008 /* PIO Status Register (R) */#define TOFF_PIO_OER 0x0010 /* Output Enable Register (W) */#define TOFF_PIO_ODR 0x0014 /* Output Disable Register (W) */#define TOFF_PIO_OSR 0x0018 /* Output Status Register (R) */#define TOFF_PIO_IFER 0x0020 /* Glitch Input Filter Enable Register (W) */#define TOFF_PIO_IFDR 0x0024 /* Glitch Input Filter Disable Register (W) */#define TOFF_PIO_IFSR 0x0028 /* Glitch Input Filter Status Register (R) */#define TOFF_PIO_SODR 0x0030 /* Set Output Data Register (W) */#define TOFF_PIO_CODR 0x0034 /* Clear Output Data Register (W) */#define TOFF_PIO_ODSR 0x0038 /* Output Data Status Register (R) */#define TOFF_PIO_PDSR 0x003C /* Pin Data Status Register (R) */#define TOFF_PIO_IER 0x0040 /* Interrupt Enable Register (W) */#define TOFF_PIO_IDR 0x0044 /* Interrupt Disable Register (W) */#define TOFF_PIO_IMR 0x0048 /* Interrupt Mask Register (R) */#define TOFF_PIO_ISR 0x004C /* Interrupt Status Register (R) */#define TOFF_PIO_MDER 0x0050 /* Multi-driver Enable Register (W) */#define TOFF_PIO_MDDR 0x0054 /* Multi-driver Disable Register (W) */#define TOFF_PIO_MDSR 0x0058 /* Multi-driver Status Register (R) */#define TOFF_PIO_PUDR 0x0060 /* Pull-up Disable Register (W) */#define TOFF_PIO_PUER 0x0064 /* Pull-up Enable Register (W) */#define TOFF_PIO_PUSR 0x0068 /* Pad Pull-up Statuse Register (R) */#define TOFF_PIO_ASR 0x0070 /* Peripheral A Select Register (W) */#define TOFF_PIO_BSR 0x0074 /* Peripheral B Select Register (W) */#define TOFF_PIO_ABSR 0x0078 /* AB Status Register (R) */#define TOFF_PIO_OWER 0x00A0 /* Output Write Enable (W) */#define TOFF_PIO_OWDR 0x00A4 /* Output Write Disable (W) */#define TOFF_PIO_OWSR 0x00A8 /* Output Write Status Register (R) *//* * POWER MANAGMENT CONTROLLER */#define TADR_PMC_BASE 0xFFFFFC00 /* PMC BASE ADDRESS */#define TOFF_PMC_SCER 0x0000 /* System Clock Enable Register (W) */#define TOFF_PMC_SCDR 0x0004 /* System Clock Disable Register (W) */#define TOFF_PMC_SCSR 0x0008 /* System Clock Status Register (R) */#define TOFF_PMC_PCER 0x0010 /* Peripheral Clock Enable Register (W) */#define TOFF_PMC_PCDR 0x0014 /* Peripheral Clock Disable Register (W) */#define TOFF_PMC_PCSR 0x0018 /* Peripheral Clock Status Register (W) */#define TOFF_CKGR_MOR 0x0020 /* Main Oscillator Register (W) */ #define CKGR_MOR_MOSCEN (1<<0) #define CKGR_MOR_OSCBYPASS (1<<1) #define CKGR_MOR_OSCOUNT_SHIFT 8#define TOFF_CKGR_MCFR 0x0024 /* Main Clock Frequency Register (R) */#define TOFF_CKGR_PLLR 0x002C /* PLL Register (R/W) */ #define CKGR_PLLR_DIV_SHIFT 0 #define CKGR_PLLR_PLLCOUNT_SHIFT 8 #define CKGR_PLLR_MUL_SHIFT 16#define TOFF_PMC_MCKR 0x0030 /* Master Clock Register (R/W) */ #define PMC_MCKR_CSS_PLL_CLOCK (3<<0) #define PMC_MCKR_PRES_CLK_2 (1<<2)#define TOFF_PMC_PCK0 0x0040 /* Programmable Clock 0 Register (R/W) */#define TOFF_PMC_PCK1 0x0044 /* Programmable Clock 1 Register (R/W) */#define TOFF_PMC_IER 0x0060 /* Interrupt Enable Register (W) */#define TOFF_PMC_IDR 0x0064 /* Interrupt Disable Register (W) */#define TOFF_PMC_SR 0x0068 /* Status Register (R) */ #define PMC_SR_MOSCS (1<<0) #define PMC_SR_LOCK (1<<2)#define TOFF_PMC_IMR 0x006C /* Interrupt Mask Register (R) *//* * RESET CONTROLLER (RSTC) */#define TADR_BASE_RSTC 0xFFFFFD00 /* RSTC BASE Address */#define TOFF_RSTC_CR 0x0000 /* Reset Controller Control Register (W) */#define TOFF_RSTC_SR 0x0004 /* Reset Controller Status Register (R) */#define TOFF_RSTC_MR 0x0008 /* Reset Controller Mode Register (R/W) *//* * REAL-TIME TIMER (RTT) */#define TADR_RTT_BASE 0xFFFFFD20 /* Real-time Timer BASE address */#define TOFF_RTT_MR 0x0000 /* Mode Register (R/W) */#define TOFF_RTT_AR 0x0004 /* Alarm Register (R/W) */#define TOFF_RTT_VR 0x0008 /* Value Register (R) */#define TOFF_RTT_SR 0x000C /* Status Register (R) *//* * PERIODIC INTERVAL TIMER (PIT) */#define TADR_PIT_BASE 0xFFFFFD30 /* Periodic Interval Timer BASE Address */#define TOFF_PIT_MR 0x0000 /* Mode Register (R/W) */#define TOFF_PIT_SR 0x0004 /* Status Register (R) */#define TOFF_PIT_PIVR 0x0008 /* Periodic Interval Value Register (R) */#define TOFF_PIT_PIIR 0x000C /* Periodic Interval Image Register (R) *//* * WATCHDOG TIMER (WDT) */#define TADR_WDT_BASE 0xFFFFFD40 /* Watchdog Timer BASE address */#define TOFF_WDT_CR 0x0000 /* Watchdog Timer Control Register (W) */#define TOFF_WDT_MR 0x0004 /* Watchdog Timer Mode Register (R/W) */ #define WDT_MR_WDDIS (1<<15)#define TOFF_WDT_SR 0x0008 /* Watchdog Timer Status Register (R) *//* * VOLTAGE REGULATOR POWER CONTROLLER (VREG) */#define TADR_VREG_BASE 0xFFFFFD60 /* VREG BASE address */#define TOFF_VREG_MR 0x0000 /* Voltage Regulator Mode Register (R/W) */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -