/**************************************************************************************/ /* */ /* H8/3052ヘッダ */ /* */ /**************************************************************************************/ typedef unsigned char uchar; /* unsigind  charを ucharに省略化 */ typedef unsigned short ushort; /* unsigind shortをushortに省略化 */ typedef unsigned int uint; /* unsigind   intを  uintに省略化 */ typedef unsigned long ulong; /* unsigind  longを ulongに省略化 */ extern void di(); /* 割込禁止 スタートアップルーチンに記載 */ extern void ei(); /* 割込許可 スタートアップルーチンに記載 */ /* 共通レジスタ宣言 */ #define DASTCR (volatile uchar *)0xFFFF5C /* D/Aスタンバイ・コントロール・レジスタ */ #define DIVCR (volatile uchar *)0xFFFF5D /* 分周比コントロール・レジスタ */ #define MSTCR (volatile uchar *)0xFFFF5E /* モジュール・スタンバイ・コントロール・レジスタ */ #define CSCR (volatile uchar *)0xFFFF5F /* チップセレクト・コントロール・レジスタ */ /* ITUレジスタ宣言 */ #define TSTR (volatile uchar *)0xFFFF60 /* タイマ・スタート・     レジスタ */ #define TSNC (volatile uchar *)0xFFFF61 /* タイマ・シンクロ・     レジスタ */ #define TMDR (volatile uchar *)0xFFFF62 /* タイマ・モード・      レジスタ */ #define TFCR (volatile uchar *)0xFFFF63 /* タイマ・ファンクション・  レジスタ */ #define TCR0 (volatile uchar *)0xFFFF64 /* タイマ・コントロール・   レジスタ 0 */ #define TIOR0 (volatile uchar *)0xFFFF65 /* タイマ・I/Oコントロール・レジスタ 0 */ #define TIER0 (volatile uchar *)0xFFFF66 /* タイマ・INTイネーブル・ レジスタ 0 */ #define TSR0 (volatile uchar *)0xFFFF67 /* タイマ・ステータス・    レジスタ 0 */ #define TCNT0H (volatile uchar *)0xFFFF68 /* タイマ・カウンタ・     レジスタ H */ #define TCNT0L (volatile uchar *)0xFFFF69 /* タイマ・カウンタ・     レジスタ L */ #define GRA0 (volatile uint *)0xFFFF6A /* ジェネラル・レジスタ・   A0 */ #define GRA0H (volatile uchar *)0xFFFF6A /* ジェネラル・レジスタ・   A0H */ #define GRA0L (volatile uchar *)0xFFFF6B /* ジェネラル・レジスタ・   A0L */ #define GRB0 (volatile uint *)0xFFFF6C /* ジェネラル・レジスタ・   B0 */ #define GRB0H (volatile uchar *)0xFFFF6C /* ジェネラル・レジスタ・   B0H */ #define GRB0L (volatile uchar *)0xFFFF6D /* ジェネラル・レジスタ・   B0L */ #define TCR1 (volatile uchar *)0xFFFF6E /* タイマ・コントロール・   レジスタ 1 */ #define TIOR1 (volatile uchar *)0xFFFF6F /* タイマ・I/Oコントロール・レジスタ 1 */ #define TIER1 (volatile uchar *)0xFFFF70 /* タイマ・INTイネーブル・ レジスタ 1 */ #define TSR1 (volatile uchar *)0xFFFF71 /* タイマ・ステータス・    レジスタ 1 */ #define TCNT1H (volatile uchar *)0xFFFF72 /* タイマ・カウンタ・     レジスタ H */ #define TCNT1L (volatile uchar *)0xFFFF73 /* タイマ・カウンタ・     レジスタ L */ #define GRA1 (volatile uint *)0xFFFF74 /* ジェネラル・レジスタ・   A1 */ #define GRA1H (volatile uchar *)0xFFFF74 /* ジェネラル・レジスタ・   A1H */ #define GRA1L (volatile uchar *)0xFFFF75 /* ジェネラル・レジスタ・   A1L */ #define GRB1 (volatile uint *)0xFFFF76 /* ジェネラル・レジスタ・   B1 */ #define GRB1H (volatile uchar *)0xFFFF76 /* ジェネラル・レジスタ・   B1H */ #define GRB1L (volatile uchar *)0xFFFF77 /* ジェネラル・レジスタ・   B1L */ #define TCR2 (volatile uchar *)0xFFFF78 /* タイマ・コントロール・   レジスタ 2 */ #define TIOR2 (volatile uchar *)0xFFFF79 /* タイマ・I/Oコントロール・レジスタ 2 */ #define TIER2 (volatile uchar *)0xFFFF80 /* タイマ・INTイネーブル・ レジスタ 2 */ #define TSR2 (volatile uchar *)0xFFFF81 /* タイマ・ステータス・    レジスタ 2 */ #define TCNT2H (volatile uchar *)0xFFFF82 /* タイマ・カウンタ・     レジスタ H */ #define TCNT2L (volatile uchar *)0xFFFF83 /* タイマ・カウンタ・     レジスタ L */ #define GRA2 (volatile uint *)0xFFFF84 /* ジェネラル・レジスタ・   A2 */ #define GRA2H (volatile uchar *)0xFFFF84 /* ジェネラル・レジスタ・   A2H */ #define GRA2L (volatile uchar *)0xFFFF85 /* ジェネラル・レジスタ・   A2L */ #define GRB2 (volatile uint *)0xFFFF86 /* ジェネラル・レジスタ・   B2 */ #define GRB2H (volatile uchar *)0xFFFF86 /* ジェネラル・レジスタ・   B2H */ #define GRB2L (volatile uchar *)0xFFFF87 /* ジェネラル・レジスタ・   B2L */ /* SCIレジスタ宣言 */ #define SMR0 (volatile uchar *)0xFFFFB0 /* シリアル・モード・レジスタ 0 */ #define BRR0 (volatile uchar *)0xFFFFB1 /* ビット・レート・レジスタ  0 */ #define SCR0 (volatile uchar *)0xFFFFB2 /* シリアル・コントロール・レジスタ 0 */ #define TDR0 (volatile uchar *)0xFFFFB3 /* トランスミット・データ・レジスタ 0 */ #define SSR0 (volatile uchar *)0xFFFFB4 /* シリアル・ステータス・レジスタ  0 */ #define RDR0 (volatile uchar *)0xFFFFB5 /* レシーブ・データ・レジスタ 0 */ #define SMR1 (volatile uchar *)0xFFFFB8 /* シリアル・モード・レジスタ 1 */ #define BRR1 (volatile uchar *)0xFFFFB9 /* ビット・レート・レジスタ  1 */ #define SCR1 (volatile uchar *)0xFFFFBA /* シリアル・コントロール・レジスタ 1 */ #define TDR1 (volatile uchar *)0xFFFFBB /* トランスミット・データ・レジスタ 1 */ #define SSR1 (volatile uchar *)0xFFFFBC /* シリアル・ステータス・レジスタ  1 */ #define RDR1 (volatile uchar *)0xFFFFBD /* レシーブ・データ・レジスタ 1 */ /* I/Oポートレジスタ宣言 */ #define P1DDR (volatile uchar *)0xFFFFC0 /* ポート 1 データ・ディレクション・レジスタ */ #define P2DDR (volatile uchar *)0xFFFFC1 /* ポート 2 データ・ディレクション・レジスタ */ #define P1DR (volatile uchar *)0xFFFFC2 /* ポート 1 データ・レジスタ */ #define P2DR (volatile uchar *)0xFFFFC3 /* ポート 2 データ・レジスタ */ #define P3DDR (volatile uchar *)0xFFFFC4 /* ポート 3 データ・ディレクション・レジスタ */ #define P4DDR (volatile uchar *)0xFFFFC5 /* ポート 4 データ・ディレクション・レジスタ */ #define P3DR (volatile uchar *)0xFFFFC6 /* ポート 3 データ・レジスタ */ #define P4DR (volatile uchar *)0xFFFFC7 /* ポート 4 データ・レジスタ */ #define P5DDR (volatile uchar *)0xFFFFC8 /* ポート 5 データ・ディレクション・レジスタ */ #define P6DDR (volatile uchar *)0xFFFFC9 /* ポート 6 データ・ディレクション・レジスタ */ #define P5DR (volatile uchar *)0xFFFFCA /* ポート 5 データ・レジスタ */ #define P6DR (volatile uchar *)0xFFFFCB /* ポート 6 データ・レジスタ */ #define P8DDR (volatile uchar *)0xFFFFCD /* ポート 8 データ・ディレクション・レジスタ */ #define P7DR (volatile uchar *)0xFFFFCE /* ポート 7 データ・レジスタ */ #define P8DR (volatile uchar *)0xFFFFCF /* ポート 8 データ・レジスタ */ #define P9DDR (volatile uchar *)0xFFFFD0 /* ポート 9 データ・ディレクション・レジスタ */ #define PADDR (volatile uchar *)0xFFFFD1 /* ポート A データ・ディレクション・レジスタ */ #define P9DR (volatile uchar *)0xFFFFD2 /* ポート 9 データ・レジスタ */ #define PADR (volatile uchar *)0xFFFFD3 /* ポート A データ・レジスタ */ #define PBDDR (volatile uchar *)0xFFFFD4 /* ポート B データ・ディレクション・レジスタ */ #define PBDR (volatile uchar *)0xFFFFD6 /* ポート B データ・レジスタ */ #define P2PCR (volatile uchar *)0xFFFFD8 /* ポート 2 プルアップ・MOSコントロール・レジスタ */ #define P4PCR (volatile uchar *)0xFFFFDA /* ポート 4 プルアップ・MOSコントロール・レジスタ */ #define P5PCR (volatile uchar *)0xFFFFDB /* ポート 5 プルアップ・MOSコントロール・レジスタ */ /* D/A変換機レジスタ宣言 */ #define DADR0 (volatile uchar *)0xFFFFDC /* D/Aデータ・レジスタ 0 */ #define DADR1 (volatile uchar *)0xFFFFDD /* D/Aデータ・レジスタ 1 */ #define DACR (volatile uchar *)0xFFFFDE /* D/Aコントロール・レジスタ */ /* A/D変換機レジスタ宣言 */ #define ADDRAH (volatile uchar *)0xFFFFE0 /* A/Dデータ・レジスタ AH */ #define ADDRAL (volatile uchar *)0xFFFFE1 /* A/Dデータ・レジスタ AL */ #define ADDRBH (volatile uchar *)0xFFFFE2 /* A/Dデータ・レジスタ BH */ #define ADDRBL (volatile uchar *)0xFFFFE3 /* A/Dデータ・レジスタ BL */ #define ADDRCH (volatile uchar *)0xFFFFE4 /* A/Dデータ・レジスタ CH */ #define ADDRCL (volatile uchar *)0xFFFFE5 /* A/Dデータ・レジスタ CL */ #define ADDRDH (volatile uchar *)0xFFFFE6 /* A/Dデータ・レジスタ DH */ #define ADDRDL (volatile uchar *)0xFFFFE7 /* A/Dデータ・レジスタ DL */ #define ADCSR (volatile uchar *)0xFFFFE8 /* A/Dコントロール/ステータス・レジスタ */ #define ADCR (volatile uchar *)0xFFFFE9 /* A/Dコントロール・レジスタ */ /* 設定レジスタ */ #define ABWCR (volatile uchar *)0xFFFFEC /* アドレスバス幅・コントロール・レジスタ */ #define ASTCR (volatile uchar *)0xFFFFED /* アクセス・ステート・コントロール・レジスタ */ #define WCR (volatile uchar *)0xFFFFEE /* ウェイト・コントロール・レジスタ */ #define WCER (volatile uchar *)0xFFFFEF /* ウェイトステイト・コントローラ・イネーブル・レジスタ */ #define MDCR (volatile uchar *)0xFFFFF1 /* モード・コントロール・レジスタ */ #define SYSCR (volatile uchar *)0xFFFFF2 /* システム・コントロール・レジスタ */ #define BRCR (volatile uchar *)0xFFFFF3 /* バス・リリース・コントロール・レジスタ */ #define ISCR (volatile uchar *)0xFFFFF4 /* IRQセンス・コントロール・レジスタ */ #define IER (volatile uchar *)0xFFFFF5 /* IERイネーブル・レジスタ */ #define ISR (volatile uchar *)0xFFFFF6 /* IRQステータス・レジスタ */ #define IPRA (volatile uchar *)0xFFFFF8 /* インタラプト・プライオリティ・レジスタ A */ #define IPRB (volatile uchar *)0xFFFFF9 /* インタラプト・プライオリティ・レジスタ B */ // ここより以下は、多目的マザーボードの宣言 /* FPGAアドレス */ #define LED_DR (volatile uchar *)0xFFFF10 /* LED表示データ・レジスタ */ #define LCD_DR (volatile uchar *)0xFFFF11 /* LCD表示データ・レジスタ */ #define SW_DR (volatile uchar *)0xFFFF12 /* スイッチ入力データ・レジスタ */ /* メモリ・アドレス */ #define MEM_1 (volatile uchar *)0x200000 /* CS1先頭アドレス */ #define MEM_2 (volatile uchar *)0x400000 /* CS2先頭アドレス */ #define MEM_3 (volatile uchar *)0x600000 /* CS3先頭アドレス */ #define MEM_4 (volatile uchar *)0x800000 /* CS4先頭アドレス */ #define MEM_5 (volatile uchar *)0xA00000 /* CS5先頭アドレス */ #define MEM_6 (volatile uchar *)0xC00000 /* CS6先頭アドレス */