⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 at91sam7s.h

📁 μITRON4.0 source code for ARM
💻 H
📖 第 1 页 / 共 3 页
字号:
/* *  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 + -