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

📄 sysdef_depend.h

📁 使用广泛的日本著名的开源嵌入式实时操作系统T-Kernel的源码
💻 H
字号:
/* *---------------------------------------------------------------------- *    T-Kernel * *    Copyright (C) 2004-2006 by Ken Sakamura. All rights reserved. *    T-Kernel is distributed under the T-License. *---------------------------------------------------------------------- * *    Version:   1.02.02 *    Released by T-Engine Forum(http://www.t-engine.org) at 2006/8/9. * *---------------------------------------------------------------------- *//* *	@(#)sysdef_depend.h (tk/SH7760) * *	Definition about SH7760 * *	Included also from assembler program. */#ifndef __TK_SYSDEF_DEPEND_H__#define __TK_SYSDEF_DEPEND_H__/* * Use specify register */#define SP	r15	/* Stack pointer *//* * BANK1 register *	R0	For work				With task *	R1	Reservation				With task *	R2 MDR	Operation mode register		  	With task *	R3 SST	System stack top		  	With task *	R4	For work				Task independent *	R5	Reservation				Task independent *	R6 ISP	EIT stack pointer	  		Task independent *	R7	For EIT work				Task independent *		(Available only at SR.BL=1) */#define MDR	r2	/* Operation mode register */#define SST	r3	/* System stack top */#define ISP	r6	/* EIT stack pointer *//* * MDR register */#define MDR_DCT		0x80000000	/* Delayed context trap request */#define MDR_PPL(n)	( (n) << 16 )	/* Previous protection level (0-3) */#define MDR_CPL(n)	( (n) )		/* Current protection level (0-3) *//* * SR register */#define SR_MD		0x40000000	/* Privilege mode */#define SR_RB		0x20000000	/* Register bank */#define SR_BL		0x10000000	/* Interrupt block */#define SR_FD		0x00008000	/* FPU disable (SH4) */#define SR_I(n)		( (n) << 4 )	/* Interrupt mask register (0-15) *//* * FPU status/control register (SH4) */#define FPSCR_FR	0x00200000	/* Register bank */#define FPSCR_SZ	0x00100000	/* Transfer size mode */#define FPSCR_PR	0x00080000	/* Precision mode */#define FPSCR_DN	0x00040000	/* Denormalization mode */#define FPSCR_C(n)	((n) << 12)	/* Exception cause  (6bit) */#define FPSCR_E(n)	((n) << 7)	/* Exception enable (5bit) */#define FPSCR_F(n)	((n) << 2)	/* Exception flag   (5bit) */#define FPSCR_RM(n)	(n)		/* Rounding mode    (2bit) */					/* FPU exception */#define FPE_I		0x01		/*   Inexact */#define FPE_U		0x02		/*   Underflow */#define FPE_O		0x04		/*   Overflow */#define FPE_Z		0x08		/*   Division by zero */#define FPE_V		0x10		/*   Invalid */#define FPE_E		0x20		/*   FPU error *//* * EIT register */#define TRA		0xff000020	/* W:TRAPA exception */#define EXPEVT		0xff000024	/* W:Exception event */#define INTEVT		0xff000028	/* W:Interrupt event *//* * MMU register */#define PTEH		0xff000000	/* W:Page table entry high */#define PTEL		0xff000004	/* W:Page table entry low */#define PTEA		0xff000034	/* W:Page table entry assistance */#define TTB		0xff000008	/* W:Page table base */#define TEA		0xff00000c	/* W:TLB exception address */#define MMUCR		0xff000010	/* W:MMU control */#define MMU_AT		0x00000001	/* MMU enable */#define MMU_TF		0x00000004	/* TLB flush */#define MMU_SV		0x00000100	/* Single virtual memory mode */#define MMU_SQMD	0x00000200	/* Store queue mode *//* * Cache register */#define CCR		0xff00001c	/* W:Cache control */#define QACR0		0xff000038	/* W:Queue address control 0 */#define QACR1		0xff00003c	/* W:Queue address control 1 */#define CCR_OCE		0x00000001	/* OC enable */#define CCR_WT		0x00000002	/* Write through enable (U0 P0 P3) */#define CCR_CB		0x00000004	/* Copy back enable (P1) */#define CCR_OCI		0x00000008	/* OC invalidation */#define CCR_ORA		0x00000020	/* OC RAM enable */#define CCR_OIX		0x00000080	/* OC index enable */#define CCR_ICE		0x00000100	/* IC enable */#define CCR_ICI		0x00000800	/* IC invalidation */#define CCR_IIX		0x00008000	/* IC index enable */#define CCR_EMODE	0x80000000	/* Cache double mode *//* * Interrupt controller */#define ICR		0xffd00000	/* H:Interrupt control */#define IPRA		0xffd00004	/* H:Interrupt priority A */#define IPRB		0xffd00008	/* H:Interrupt priority B */#define IPRC		0xffd0000c	/* H:Interrupt priority C */#define IPRD		0xffd00010	/* H:Interrupt priority D */#define INTPRI00	0xfe080000	/* W:Interrupt priority level 00 */#define INTPRI04	0xfe080004	/* W:Interrupt priority level 04 */#define INTPRI08	0xfe080008	/* W:Interrupt priority level 08 */#define INTPRI0C	0xfe08000C	/* W:Interrupt priority level 0C */#define INTREQ00	0xfe080020	/* W:Interrupt factor 00 */#define INTREQ04	0xfe080024	/* W:Interrupt factor 04 */#define INTMSK00	0xfe080040	/* W:Interrupt mask 00 */#define INTMSK04	0xfe080044	/* W:Interrupt mask 04 */#define INTMSKCLR00	0xfe080060	/* W:Interrupt mask clear 00 */#define INTMSKCLR04	0xfe080064	/* W:Interrupt mask clear 04 *//* * Interrupt vector number for T-Monitor */#define TRAP_MONITOR	0x90	/* Monitor service call *//* * Interrupt vector number for T-Kernel */#define TRAP_SVC	0x91	/* System call, Extension SVC */#define TRAP_RETINT	0x92	/* tk_ret_int() system call */#define TRAP_DISPATCH	0x93	/* Task dispatcher call */#define TRAP_LOADSR	0x95	/* SR register load function */#define TRAP_DEBUG	0x96	/* Debugger support function *//* * Interrupt vector number for Extension */#define TRAP_KILLPROC	0x97	/* Force process termination request */#endif /* __TK_SYSDEF_DEPEND_H__ */

⌨️ 快捷键说明

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