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

📄 sh3.h

📁 toppers操作系统源码
💻 H
字号:
/* *  TOPPERS/JSP Kernel *      Toyohashi Open Platform for Embedded Real-Time Systems/ *      Just Standard Profile Kernel *  *  Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory *                                  Toyohashi Univ. of Technology, JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: sh3.h,v 1.7 2003/06/17 16:45:54 honda Exp $ *//* *  SH3(SH7729R,SH7709A,SH7709,SH7708)の柒婶レジスタ年盗 */#ifndef _SH3_H_#define _SH3_H_#ifndef _MACRO_ONLY#include <itron.h>#include <sil.h>#endif /* _MACRO_ONLY *//* *  毋嘲イベントレジスタ */#define TRA	        0xFFFFFFD0		#define EXPEVT	    0xFFFFFFD4		#define INTEVT	    0xFFFFFFD8		#define INTEVT2	    0xA4000000		/* *   バスステ〖トコントロ〖ラ簇息 */#define	RFCR	0xffffff74	/* H */#define    RFCR_CLEAR         0xa400/* * 充り哈みによってINTEVT2レジスタに肋年される猛 */#define    TMU0_INTEVT        0x400#define    IRQ0_INTEVT        0x600#define    SCI_RXI_INTEVT     0x500#define    SCI_TXI_INTEVT     0x520#define    SCI_BRI_INTEVT     0x4ed#define    PINT0_7_INTEVT     0x700#define    PINT8_15_INTEVT    0x720#define    SCI1_RXI_INTEVT    0x8a0#define    SCI1_TXI_INTEVT    0x8e0#define    SCI1_BRI_INTEVT    0x8c0#define    SCIF_RXI_INTEVT    0x920#define    SCIF_TXI_INTEVT    0x960#define    SCIF_BRI_INTEVT    0x940        /* * 充り哈みコントロ〖ラ〖レジスタ〖 */#define	ICR0	0xfffffee0    /* H */#define	ICR1	0xa4000010    /* H */#define	ICR2	0xa4000012    /* H */#define	PINTER	0xa4000014    /* H */#define	IPRA	0xfffffee2    /* H */#define	IPRB	0xfffffee4    /* H */#define	IPRC	0xa4000016    /* H */#define	IPRD	0xa4000018    /* H */#define	IPRE	0xa400001a    /* H */#define	IRR0	0xa4000004    /* B */#define	IRR1	0xa4000006    /* B */#define	IRR2	0xa4000008    /* B */#define ICR2_PINT7S     0x80#define ICR2_PINT6S     0x40#define PINTER_PINT7E   0x80#define PINTER_PINT6E   0x40/* * タイマ〖レジスタ */#define TMU_TOCR   0xfffffe90  /* B */#define TMU_TSTR   0xfffffe92  /* B */#define TMU_TCOR0  0xfffffe94  /* W */#define TMU_TCNT0  0xfffffe98  /* W */#define TMU_TCR0   0xfffffe9c  /* H */#define TMU_TCOR1  0xfffffea0  /* W */#define TMU_TCNT1  0xfffffea4  /* W */#define TMU_TCR1   0xfffffea8  /* H */#define TMU_TCOR2  0xfffffeac  /* W */#define TMU_TCNT2  0xfffffeb0  /* W */#define TMU_TCR2   0xfffffeb4  /* H */#define	TMU_STR0	0x01#define	TMU_STR1	0x02#define	TMU_STR2	0x04#define TCR_UNF     0x0100    /* *  シリアルコミュニケ〖ションインタ〖フェ〖ス(SCI) */#define   SCI_SCSMR    0xfffffe80  /* B */#define   SCI_SCBRR    0xfffffe82  /* B */#define   SCI_SCSCR    0xfffffe84  /* B */#define   SCI_SCTDR    0xfffffe86  /* B */#define   SCI_SCSSR    0xfffffe88  /* B */#define   SCI_SCRDR    0xfffffe8a  /* B *//* *  シリアルコミュニケ〖ションインタ〖フェ〖ス(SCI)の *  ポ〖トSCコントロ〖ル/デ〖タレジスタ *  SH7709第びSH7709Aのみ */#define	SCPDR     0xa4000136   /* B */#define	SCPCR	  0xa4000116   /* H *//* *  シリアルコミュニケ〖ションインタ〖フェ〖ス(SCI)の *  シリアルポ〖トレジスタ *  SH7708のみ */#define	SCSPTR	  0xffffff7c  /* H */#define	SCSMR_CHR	  0x0040#define	SCSMR_PE	  0x0020#define	SCSMR_OE	  0x0010#define	SCSMR_STOP	  0x0008#define	SCSMR_CKS1	  0x0002#define	SCSMR_CKS0	  0x0001#define SCSCR_TIE	  0x0080#define SCSCR_RIE	  0x0040#define SCSCR_TE	  0x0020#define SCSCR_RE	  0x0010#define SCSCR_CKE1	  0x0002#define SCSCR_CKE0	  0x0001#define SCSSR_TDRE	  0x80#define SCSSR_RDRF	  0x40#define SCSSR_ORER	  0x20#define SCSSR_FER	  0x10#define SCSSR_PER	  0x08#define SCSSR_TEND	  0x04#define SCSSR_MPB	  0x02#define SCSSR_MPBT	  0x01/* *  FIFO烧きシリアルコミュニケ〖ションインタ〖フェ〖ス(SCIF)レジスタ *  SH7709第びSH7709Aのみ */#define  SCIF_SCSMR2     0xa4000150  /* B */#define  SCIF_SCBRR2     0xa4000152  /* B */#define  SCIF_SCSCR2     0xa4000154  /* B */#define  SCIF_SCFTDR2    0xa4000156  /* B */#define  SCIF_SCSSR2     0xa4000158  /* H */#define  SCIF_SCFRDR2    0xa400015a  /* B */#define  SCIF_SCFCR2     0xa400015c  /* B */#define  SCIF_SCFDR2     0xa400015e  /* H */#define	SCSMR2_CHR	  0x0040#define	SCSMR2_PE	  0x0020#define	SCSMR2_OE	  0x0010#define	SCSMR2_STOP	  0x0008#define	SCSMR2_CKS1	  0x0002#define	SCSMR2_CKS0	  0x0001#define SCSCR2_TIE	  0x0080#define SCSCR2_RIE	  0x0040#define SCSCR2_TE	  0x0020#define SCSCR2_RE	  0x0010#define SCSCR2_CKE1	  0x0002#define SCSCR2_CKE0	  0x0001#define SCSSR2_ER	  0x0080#define SCSSR2_TEND	  0x0040#define SCSSR2_TDFE	  0x0020#define SCSSR2_BRK	  0x0010#define SCSSR2_FER	  0x0008#define SCSSR2_PER	  0x0004#define SCSSR2_RDF	  0x0002#define SCSSR2_DR	  0x0001#define SCFCR2_RTRG1  0x0080#define SCFCR2_RTRG0  0x0040#define SCFCR2_TTRG1  0x0020#define SCFCR2_TTRG0  0x0010#define SCFCR2_MCE	  0x0008#define SCFCR2_TFRST  0x0004#define SCFCR2_RFRST  0x0002#define SCFCR2_LOOP	  0x0001/* *  IrDA (SCI1)レジスタ *  SH7709第びSH7709Aのみ */#define  SCI1_SCSMR1    0xa4000140   /* B */ #define  SCI1_SCBRR1    0xa4000142   /* B */ #define  SCI1_SCSCR1    0xa4000144   /* B */ #define  SCI1_SCFTDR1   0xa4000146   /* B */ #define  SCI1_SCSSR1    0xa4000148   /* H */ #define  SCI1_SCFRDR1   0xa400014a   /* B */ #define  SCI1_SCFCR1    0xa400014c   /* B */ #define  SCI1_SCFDR1    0xa400014e   /* H */ #define	SCSMR1_IRMOD    0x0080#define	SCSMR1_CHR	    0x0040#define	SCSMR1_PE	    0x0020#define	SCSMR1_OE	    0x0010#define	SCSMR1_STOP	    0x0008#define	SCSMR1_CKS1	    0x0002#define	SCSMR1_CKS0	    0x0001#define SCSCR1_TIE      0x0080#define SCSCR1_RIE      0x0040#define SCSCR1_TE       0x0020#define SCSCR1_RE       0x0010#define SCSCR1_CKE1     0x0002#define SCSCR1_CKE0     0x0001#define SCSSR1_ER	0x0080#define SCSSR1_TEND	0x0040#define SCSSR1_TDFE	0x0020#define SCSSR1_BRK	0x0010#define SCSSR1_FER	0x0008#define SCSSR1_PER	0x0004#define SCSSR1_RDF	0x0002#define SCSSR1_DR	0x0001#define SCFCR1_RTRG1    0x0080#define SCFCR1_RTRG0    0x0040#define SCFCR1_TTRG1    0x0020#define SCFCR1_TTRG0    0x0010#define SCFCR1_MCE      0x0008#define SCFCR1_TFRST    0x0004#define SCFCR1_RFRST    0x0002#define SCFCR1_LOOP     0x0001/* * キャッシュ扩告レジスタ */#define	CCR	   0xffffffec   /* W */#define CCR_DISABLE   0x00000008     /* キャッシュの痰跟步 */#ifndef _MACRO_ONLY/* *   SH7709A第びSH7709のSCIFへのポ〖リングでの叫蜗 */Inline intscif_putc(int c){    /* Wait TDRD = 1 */    while((sil_reb_mem((VP)SCIF_SCSSR2) & SCSSR2_TDFE)==0);    sil_wrb_mem((VP)SCIF_SCFTDR2, c);    sil_wrh_mem((VP)SCIF_SCSSR2,                (sil_reh_mem((VP)SCIF_SCSSR2) & ~SCSSR2_TDFE));    return(c);}    /* *  SCIによる叫蜗 */Inline intsci_putc(int c){    /* Wait TDRD = 1 */    while((sil_reb_mem((VP)SCI_SCSSR) & SCSSR_TDRE) == 0);    sil_wrb_mem((VP)SCI_SCTDR, c);    sil_wrb_mem((VP)SCI_SCSSR,                (sil_reb_mem((VP)SCI_SCSSR) & ~SCSSR_TDRE));    return(c);}#endif /* _MACRO_ONLY */#endif /* _SH3_H_ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -