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

📄 vr4131.h

📁 uItron 4.0 Toppers实现源码1.4版
💻 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 *  Copyright (C) 2000-2003 by Industrial Technology Institute, *                              Miyagi Prefectural Government, JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ */#ifndef _VR4131_H_#define _VR4131_H_/* CP0ハザ〖ドのための箕粗苍ぎ NOP_FOR_CP0_HAZARD  *//* VR4131ではmtc0炭吾の木稿から充哈み敦贿になっているのでnop炭吾を赁掐しなくても   络炬勺 */#define NOP_FOR_CP0_HAZARD/* Configレジスタ  */#define BP		BIT16	/* 尸呆徒卢の肋年 *//* TLB のエントリの呵络猛  */#define TMAX_TLB	31/* TLBマスク猛 */#define TLB_VPN2	0x800/* キャッシュ炭吾 */#define Index_Invalidate_I	0x0+0x0#define Index_Store_Tag_I       0x8+0x0#define Index_Store_Tag_D       0x8+0x1/* キャッシュのラインサイズ(バイト帽疤)  */#define D_CACHE_LINE_SIZE 	0x10	/* 16バイト */#define I_CACHE_LINE_SIZE 	0x10	/* 16バイト *//*============================================================================*//* *  GDB STUB / PARTNER-Jシステムコ〖ル / 木儡钙叫し コンソ〖ル钙叫しル〖チン *  (GDB_STUB, PARTNER-J はテストしていません。) *//* *  gdb stub によるコンソ〖ル叫蜗 *//* a0($4) = 0xfe00, a1($5) = 叫蜗したいキャラクタ を洛掐して、   SYSCALL 毋嘲を券栏させる。 */#ifndef _MACRO_ONLY/* この簇眶を钙び叫す箕には、ステ〖タスレジスタのEXLビット = 0 で钙び叫すこと。   なお、附哼、カ〖ネルでは、バナ〖山绩箕、シリアル叫蜗箕に钙叫を乖っている。*/Inline void stub_putc(int c) {	Asm("	move	$5, %0;		\	     	li	$4, 0xfe00;	\		syscall;		\		nop"		:: "r"(c)		: "$4","$5" );}#endif /* _MACRO_ONLY */#ifdef GDB_STUB#define vr4131_putc(c) stub_putc(c)#else  /* GDB_STUB */#define	vr4131_putc(c) vr4131_dsiu_write_por( (VP) DSIUTH, (UB) c )#endif /* GDB_STUB *//* *  PARTNER-J のシステムコ〖ルによるコンソ〖ル叫蜗∈テストしていません。∷ */#ifndef _MACRO_ONLYInline void partner_putc(int c) {	Asm("	move	$2, %0;		\		li	$1, 0xfe00;	\		jal	SYSCALL;	\		nop"		:: "r"(c)		: "$1","$2" );}#endif /* _MACRO_ONLY */#ifdef PARTNER_J	/* PARTNER_J の眷圭 *#define vr4131_putc(c) partner_putc(c)#else  /* GDB_STUB */#define	vr4131_putc(c) vr4131_dsiu_write_por( (VP) DSIUTH, (UB) c )#endif /* GDB_STUB */#ifndef _MACRO_ONLYInline voidvr4131_exit() {	/* GDB_STUB 蝗脱箕には、STUBの片に若ぶ借妄が涩妥かも。 */}#endif /* _MACRO_ONLY *//*============================================================================*//* 笆布の年盗は、称ユニットごとに、vr4131_xxx.hとしてまとめることも涩妥かも。 *//* * クロックマスクユニット(CMU)簇犯の年盗 */#define CMUCLKMSK	(BASE_ADDR + 0x0f000060)#define MSKSIU		BIT1	/* SIU, DSIUへのTClock丁惦の扩告 */#define MSKSSIU		BIT8	/* SIUへの18.432MHzクロック丁惦の扩告 */#define MSKDSIU		BIT11	/* DSIUへの18.432MHzクロック丁惦の扩告 *//* * パワ〖マネ〖ジメントユニット(PMU)簇犯の年盗 */#define PMUINTREG	(BASE_ADDR + 0x0f0000c0)	/* PMU 充哈み】ステ〖タスレジスタ */#define PMUCNTREG	(BASE_ADDR + 0x0f0000c2)	/* PMU コントロ〖ルレジスタ */#define PMUTCLKDIVREG	(BASE_ADDR + 0x0f0000cc)/* for PMUINTREG */#define TIMOUTRST	BIT5		/* HALTimerリセット浮叫 *//* for PMUCNTREG */#define HALTIMERRST	BIT2		/* HALTimerリセット*//* for PMUTCLKDIVREG */#define VTDIV_3		BIT1 | BIT0/* * バスコントロ〖ルユニット(BCU)簇犯の年盗 */#define BCUCNTREG1	(BASE_ADDR + 0x0f000000)#define ROMSIZEREG	(BASE_ADDR + 0x0f000004)#define ROMSPEEDREG	(BASE_ADDR + 0x0f000006)#define IO0SPEEDREG	(BASE_ADDR + 0x0f000008)#define IO1SPEEDREG	(BASE_ADDR + 0x0f00000a)#define BCUCNTREG3	(BASE_ADDR + 0x0f000016)/* for ROMSIZEREG */#define SIZE3_4		BIT12#define SIZE2_4		BIT8#define SIZE1_4		BIT4#define SIZE0_4		BIT0/* for ROMSPEEDREG */#define ROM4_WAIT_5VTClock	BIT13 | BIT12#define ROM2_WAIT_8VTClock	BIT2 | BIT0/* for IO0SPEEDREG */#define IO0_1_WAIT_4	BIT1 | BIT0/* for IO1SPEEDREG */#define IO1_3_WAIT_11	BIT11/* for BCUCNTREG3 */#define EXT_ROMCS_3ROM_2ROM	BIT13 | BIT12#define IO32			BIT7#define LCDSEL1_BUFFER		BIT1#define LCDSEL0_BUFFER		BIT0/* * SDRAMコントロ〖ルユニット(SDRAMU)簇犯の年盗 */#define SDRAMMODEREG	(BASE_ADDR + 0x0f000400)#define SDRAMCNTREG	(BASE_ADDR + 0x0f000402)#define BCURFCNTREG	(BASE_ADDR + 0x0f000404)#define BCURFCOUNTREG	(BASE_ADDR + 0x0f000406)#define RAMSIZEREG	(BASE_ADDR + 0x0f000408)/* for SDRAMMODEREG */#define SCLK		BIT15#define LTMODE_2	BIT5/* for SDRAMCNTREG */#define TRC_3VTClock	BIT9 | BIT8#define TDAL_2VTClock	BIT5#define TRCD_2VTClock	BIT1/* for RAMSIZEREG */#define SIZE3_64	BIT14 | BIT12#define SIZE2_64	BIT10 | BIT8#define SIZE1_64	BIT6 | BIT4#define SIZE0_64	BIT2 | BIT0/* * シリアルインタフェ〖スユニット(SIU)簇犯の年盗 */#define SIURESET	(BASE_ADDR + 0x0f000809)/* for RESET */#define DSIURESET	BIT1	/*  DSIUをリセットするフラグ  */#endif /* _VR4131_H_ */

⌨️ 快捷键说明

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