include $(KERNEL_MAKINC_DIR)/knldep.inc
-# %jp{固有の依存関係}
-$(OBJS_DIR)/kini_irc.(EXT_OBJ): $(SRC_IRC_DIR)/kini_irc.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/kexe_irc.(EXT_OBJ): $(SRC_IRC_DIR)/kexe_irc.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/ena_int.(EXT_OBJ): $(SRC_IRC_DIR)/ena_int.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/dis_int.(EXT_OBJ): $(SRC_IRC_DIR)/dis_int.c $(SRC_IRC_DIR)/aduc7000.h
-
-
# end of file
include $(KERNEL_MAKINC_DIR)/knldep.inc
-# %jp{固有の依存関係}
-$(OBJS_DIR)/kini_irc.(EXT_OBJ): $(SRC_IRC_DIR)/kini_irc.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/kexe_irc.(EXT_OBJ): $(SRC_IRC_DIR)/kexe_irc.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/ena_int.(EXT_OBJ): $(SRC_IRC_DIR)/ena_int.c $(SRC_IRC_DIR)/aduc7000.h
-$(OBJS_DIR)/dis_int.(EXT_OBJ): $(SRC_IRC_DIR)/dis_int.c $(SRC_IRC_DIR)/aduc7000.h
-
-
# end of file
#define _KERNEL__arch__irc__aduc7000__irc_h__
+/* %jp{メモリマップドレジスタ定義} */
+#define _KERNEL_IRC_IRQSTA ((volatile UW *)0xffff0000)
+#define _KERNEL_IRC_IRQSIG ((volatile UW *)0xffff0004)
+#define _KERNEL_IRC_IRQEN ((volatile UW *)0xffff0008)
+#define _KERNEL_IRC_IRQCLR ((volatile UW *)0xffff000c)
+
+#define _KERNEL_IRC_FIQSTA ((volatile UW *)0xffff0100)
+#define _KERNEL_IRC_FIQSIG ((volatile UW *)0xffff0104)
+#define _KERNEL_IRC_FIQEN ((volatile UW *)0xffff0108)
+#define _KERNEL_IRC_FIQCLR ((volatile UW *)0xffff010c)
+
+
#ifdef __cplusplus
extern "C" {
#endif
void _kernel_ini_irc(void); /**< %jp{割込みコントローラの初期化} */
-void _kernel_exe_irc(INHNO inhno);
-void _kernel_arm_irq(void); /**< %jp{割り込み処理の実施} */
-void _kernel_arm_fiq(void); /**< %jp{割り込み処理の実施} */
+void _kernel_exe_irc(INHNO inhno); /**< %jp{割込み処理} */
#ifdef __cplusplus
}
#define _KERNEL_IRCATR_IRC TRUE /**< %jp{IRCの有無} */
-#define _KERNEL_IRCATR_TMIN_INTNO 1 /**< %jp{割込み番号の最小値} */
-#define _KERNEL_IRCATR_TMAX_INTNO 23 /**< %jp{割込み番号の最大値} */
+#define _KERNEL_IRCATR_TMIN_INTNO 0 /**< %jp{割込み番号の最小値} */
+#define _KERNEL_IRCATR_TMAX_INTNO 31 /**< %jp{割込み番号の最大値} */
#endif /* _KERNEL__arch__irc__aduc7000__ircatr_h__ */
+++ /dev/null
-/**
- * Hyper Operating System V4 Advance
- *
- * @file aduc7000.h
- * @brief %jp{ADuC7000シリーズ用割込みコントローラ操作}%en{ADuC7000 series}
- *
- * Copyright (C) 1998-2007 by Project HOS
- * http://sourceforge.jp/projects/hos/
- */
-
-
-#ifndef _kernel__aduc7000_h__
-#define _kernel__aduc7000_h__
-
-
-#define IRQSTA (*(volatile UW *)0xffff0000)
-#define IRQSIG (*(volatile UW *)0xffff0004)
-#define IRQEN (*(volatile UW *)0xffff0008)
-#define IRQCLR (*(volatile UW *)0xffff000c)
-
-#define FIQSTA (*(volatile UW *)0xffff0100)
-#define FIQSIG (*(volatile UW *)0xffff0104)
-#define FIQEN (*(volatile UW *)0xffff0108)
-#define FIQCLR (*(volatile UW *)0xffff010c)
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-void _kernel_arm_irq(void);
-void _kernel_arm_fiq(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-#endif /* _kernel__aduc7000_h__ */
-
-
-/* end of file */
#include "core/core.h"
#include "object/inhobj.h"
#include "object/isrobj.h"
-#include "aduc7000.h"
-
/* 割り込みの禁止 */
ER dis_int(INTNO intno)
{
- IRQCLR = (1 << intno);
+ *_KERNEL_IRC_IRQCLR = (1 << intno);
return E_OK;
}
#include "core/core.h"
#include "object/inhobj.h"
#include "object/isrobj.h"
-#include "aduc7000.h"
/* 割り込みの許可 */
ER ena_int(INTNO intno)
{
- IRQEN |= (1 << intno);
+ *_KERNEL_IRC_IRQEN |= (1 << intno);
return E_OK;
}
#include "core/core.h"
#include "object/inhobj.h"
#include "object/isrobj.h"
-#include "aduc7000.h"
/** %jp{割込みコントローラの割込み処理} */
switch ( inhno )
{
case _KERNEL_ARM_INHNO_IRQ:
- intsta = IRQSTA;
+ intsta = *_KERNEL_IRC_IRQSTA;
break;
case _KERNEL_ARM_INHNO_FIQ:
- intsta = FIQSTA;
+ intsta = *_KERNEL_IRC_FIQSTA;
break;
default:
#include "core/core.h"
#include "object/inhobj.h"
#include "object/isrobj.h"
-#include "aduc7000.h"
/** %jp{割込みコントローラの初期化} */
void _kernel_ini_irc(void)
{
- IRQCLR = 0x00ffffff;
- FIQCLR = 0x00ffffff;
+ *_KERNEL_IRC_IRQCLR = 0x00ffffff;
+ *_KERNEL_IRC_FIQCLR = 0x00ffffff;
}