/* * TOPPERS/SSP Kernel * Smallest Set Profile Kernel * * Copyright (C) 2008 by Witz Corporation, JAPAN * Copyright (C) 2010,2011 by Naoki Saito * Nagoya Municipal Industrial Research Institute, JAPAN * * 上記著作権者は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・ * 再配布(以下,利用と呼ぶ)することを無償で許諾する. * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権 * 表示,この利用条件および下記の無保証規定が,そのままの形でソース * コード中に含まれていること. * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用 * できる形で再配布する場合には,再配布に伴うドキュメント(利用者マ * ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保 * 証規定を掲載すること. * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用 * できない形で再配布する場合には,次のいずれかの条件を満たすこと. * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著作 * 権表示,この利用条件および下記の無保証規定を掲載すること. * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに報 * 告すること. * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害 * からも,上記著作権者およびTOPPERSプロジェクトを免責すること.また, * 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ * く請求からも,上記著作権者およびTOPPERSプロジェクトを免責すること. * * 本ソフトウェアは,無保証で提供されているものである.上記著作権者およ * びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す * る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用 * により直接的または間接的に生じたいかなる損害に関しても,その責任を負 * わない. * */ /* * R8C/23に依存する定義 */ #ifndef TOPPERS_R8C23_H #define TOPPERS_R8C23_H /* * CPU例外ハンドラ番号の定義 */ #define EXCNO_UNDEF_INSTRUNCTION 0 /* 未定義命令 */ #define EXCNO_OVERFLOW 1 /* オーバーフロー */ #define EXCNO_BRK_INSTRUCTION 2 /* BRK命令 */ #define EXCNO_ADDRESS_MATCH 3 /* アドレス一致 */ #define EXCNO_WDT 5 /* ウォッチドッグタイマ */ #define EXCNO_XIN_STOP 5 /* 発振停止検出 */ #define EXCNO_LOW_VOLT_DETECT 5 /* 電圧低下検出 */ #define EXCNO_RESET 8 /* リセット */ /* * 割込み番号の定義 */ #define INTNO_BRK 0 /* BRK */ #define INTNO_C01WK 3 /* CAN0ウェイクアップ */ #define INTNO_C0REC 4 /* CAN0受信完了 */ #define INTNO_C0TRM 5 /* CAN0送信完了 */ #define INTNO_C01ERR 6 /* CAN0エラー */ #define INTNO_TRD0 8 /* タイマRD(チャネル0) */ #define INTNO_TRD1 9 /* タイマRD(チャネル1) */ #define INTNO_TRE 10 /* タイマRE */ #define INTNO_KUP 13 /* キー入力 */ #define INTNO_AD 14 /* ADコンバータ */ #define INTNO_IIC 15 /* チップセレクト付クロック同期型シリアルIO /I2Cバスインタフェース */ #define INTNO_S0T 17 /* UART0送信,NACK */ #define INTNO_S0R 18 /* UART0受信,ACK */ #define INTNO_S1T 19 /* UART1送信,NACK */ #define INTNO_S1R 20 /* UART1受信,ACK */ #define INTNO_INT2 21 /* INT2 */ #define INTNO_TRA 22 /* タイマRA */ #define INTNO_TRB 24 /* タイマRB */ #define INTNO_INT1 25 /* INT1 */ #define INTNO_INT3 26 /* INT3 */ #define INTNO_INT0 29 /* INT0 */ /* * 割込みハンドラ番号の定義 */ #define INHNO_BRK INTNO_BRK /* BRK */ #define INHNO_C01WK INTNO_C01WK /* CAN0ウェイクアップ */ #define INHNO_C0REC INTNO_C0REC /* CAN0受信完了 */ #define INHNO_C0TRM INTNO_C0TRM /* CAN0送信完了 */ #define INHNO_C01ERR INTNO_C01ERR /* CAN0エラー */ #define INHNO_TRD0 INTNO_TRD0 /* タイマRD(チャネル0) */ #define INHNO_TRD1 INTNO_TRD1 /* タイマRD(チャネル1) */ #define INHNO_TRE INTNO_TRE /* タイマRE */ #define INHNO_KUP INTNO_KUP /* キー入力 */ #define INHNO_AD INTNO_AD /* ADコンバータ */ #define INHNO_IIC INTNO_IIC /* チップセレクト付クロック同期型シリアルIO /I2Cバスインタフェース */ #define INHNO_S0T INTNO_S0T /* UART0送信,NACK */ #define INHNO_S0R INTNO_S0R /* UART0受信,ACK */ #define INHNO_S1T INTNO_S1T /* UART1送信,NACK */ #define INHNO_S1R INTNO_S1R /* UART1受信,ACK */ #define INHNO_INT2 INTNO_INT2 /* INT2 */ #define INHNO_TRA INTNO_TRA /* タイマRA */ #define INHNO_TRB INTNO_TRB /* タイマRB */ #define INHNO_INT1 INTNO_INT1 /* INT1 */ #define INHNO_INT3 INTNO_INT3 /* INT3 */ #define INHNO_INT0 INTNO_INT0 /* INT0 */ /* * 割込み制御レジスタ定義 */ #define TADR_C01WKIC 0x0043 #define TADR_C0RECIC 0x0044 #define TADR_C0TRMIC 0x0045 #define TADR_C01ERRIC 0x0046 #define TADR_TRD0IC 0x0048 #define TADR_TRD1IC 0x0049 #define TADR_TREIC 0x004A #define TADR_KUPIC 0x004D #define TADR_ADIC 0x004E #define TADR_IICIC 0x004F #define TADR_S0TIC 0x0051 #define TADR_S0RIC 0x0052 #define TADR_S1TIC 0x0053 #define TADR_S1RIC 0x0054 #define TADR_INT2IC 0x0055 #define TADR_TRAIC 0x0056 #define TADR_TRBIC 0x0058 #define TADR_INT1IC 0x0059 #define TADR_INT3IC 0x005A #define TADR_INT0IC 0x005D /* * TRA関連レジスタ(システムティック用) */ #define TADR_TRACR 0x0100 /* タイマRA 制御レジスタ */ #define TADR_TRAIOC 0x0101 /* タイマRA I/Oレジスタ */ #define TADR_TRAMR 0x0102 /* タイマRA モードレジスタ */ #define TADR_TRAPRE 0x0103 /* タイマRA プリスケーラレジスタ */ #define TADR_TRA 0x0104 /* タイマRA レジスタ */ #define TBIT_TRACR_TSTART 0x01 /* タイマRA カウント開始ビット */ /* * 汎用ポートレジスタ */ #define TBIT_BIT0 0x01 #define TBIT_BIT1 0x02 #define TBIT_BIT2 0x04 #define TBIT_BIT3 0x08 #define TBIT_BIT4 0x10 #define TBIT_BIT5 0x20 #define TBIT_BIT6 0x40 #define TBIT_BIT7 0x80 #define TBIT_PMR_U1PINSEL TBIT_BIT4 #define TADR_P0 0x0e0 /* ポートP0レジスタ */ #define TADR_P1 0x0e1 /* ポートP1レジスタ */ #define TADR_PD0 0x0e2 /* ポートP0方向レジスタ */ #define TADR_PD1 0x0e3 /* ポートP1方向レジスタ */ #define TADR_P2 0x0e4 /* ポートP2レジスタ */ #define TADR_P3 0x0e5 /* ポートP3レジスタ */ #define TADR_PD2 0x0e6 /* ポートP2方向レジスタ */ #define TADR_PD3 0x0e7 /* ポートP3方向レジスタ */ #define TADR_P4 0x0e8 /* ポートP4レジスタ */ #define TADR_PD4 0x0ea /* ポートP4方向レジスタ */ #define TADR_P6 0x0ec /* ポートP6レジスタ */ #define TADR_PD6 0x0ee /* ポートP6方向レジスタ */ #define TADR_PMR 0x0f8 /* ポートモードレジスタ */ #define TADR_INTEN 0x0f9 /* 外部入力許可レジスタ */ #define TADR_INTF 0x0fa /* INT入力フィルタ選択レジスタ */ #define TADR_KIEN 0x0fb /* キー入力許可レジスタ */ #define TADR_PUR0 0x0fc /* プルアップ制御レジスタ0 */ #define TADR_PUR1 0x0fd /* プルアップ制御レジスタ1 */ #endif /* TOPPERS_R8C23_H */