📄 sh3.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 + -