sys_support.s

来自「免费的OS源代码 符合ITRON4.0规范 http://www.toppe」· S 代码 · 共 167 行

S
167
字号
/* *  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) 2007 by Embedded and Real-Time Systems Laboratory *              Graduate School of Information Science, Nagoya Univ., JAPAN *  *  惧淡螟侯涪荚は·笆布の (1)×(4) の掘凤か·Free Software Foundation  *  によって给山されている GNU General Public License の Version 2 に淡 *  揭されている掘凤を塔たす眷圭に嘎り·塑ソフトウェア∈塑ソフトウェア *  を猖恃したものを崔むˉ笆布票じ∷を蝗脱ˇ剩澜ˇ猖恃ˇ浩芹邵∈笆布· *  网脱と钙ぶ∷することを痰浸で钓满するˉ *  (1) 塑ソフトウェアをソ〖スコ〖ドの妨で网脱する眷圭には·惧淡の螟侯 *      涪山绩·この网脱掘凤および布淡の痰瘦沮惮年が·そのままの妨でソ〖 *      スコ〖ド面に崔まれていることˉ *  (2) 塑ソフトウェアを·ライブラリ妨及など·戮のソフトウェア倡券に蝗 *      脱できる妨で浩芹邵する眷圭には·浩芹邵に燃うドキュメント∈网脱 *      荚マニュアルなど∷に·惧淡の螟侯涪山绩·この网脱掘凤および布淡 *      の痰瘦沮惮年を非很することˉ *  (3) 塑ソフトウェアを·怠达に寥み哈むなど·戮のソフトウェア倡券に蝗 *      脱できない妨で浩芹邵する眷圭には·肌のいずれかの掘凤を塔たすこ *      とˉ *    (a) 浩芹邵に燃うドキュメント∈网脱荚マニュアルなど∷に·惧淡の螟 *        侯涪山绩·この网脱掘凤および布淡の痰瘦沮惮年を非很することˉ *    (b) 浩芹邵の妨轮を·侍に年める数恕によって·TOPPERSプロジェクトに *        鼠桂することˉ *  (4) 塑ソフトウェアの网脱により木儡弄または粗儡弄に栏じるいかなる禄 *      巢からも·惧淡螟侯涪荚およびTOPPERSプロジェクトを倘勒することˉ *  *  塑ソフトウェアは·痰瘦沮で捏丁されているものであるˉ惧淡螟侯涪荚お *  よびTOPPERSプロジェクトは·塑ソフトウェアに簇して·その努脱材墙拉も *  崔めて·いかなる瘦沮も乖わないˉまた·塑ソフトウェアの网脱により木 *  儡弄または粗儡弄に栏じたいかなる禄巢に簇しても·その勒扦を砷わないˉ *  *  @(#) $Id: sys_support.S,v 1.2 2007/05/28 02:03:55 honda Exp $ *//* *  タ〖ゲットシステム巴赂モジュ〖ル アセンブリ咐胳婶∈m3a_za36脱∷ */#define	_MACRO_ONLY#include <m32rasm.inc>/* *  蝗脱するSFR年盗 */#define BSEL0CR		0x00ef5000	/* BSEL0扩告レジスタ */#define SDRF0		0x00ef6000	/* SDRAMリフレッシュ扩告レジスタ0 */#define SDRF1		0x00ef6004	/* SDRAMリフレッシュ扩告レジスタ1 */#define SDIR0		0x00ef6008	/* SDRAM介袋步レジスタ0 */#define SDIR1		0x00ef600c	/* SDRAM介袋步レジスタ1 */#define SD0ADR		0x00ef6020	/* SDRAM0アドレスレジスタ */#define SD0ER		0x00ef6024	/* SDRAM0アクセスイネ〖ブルレジスタ */#define SD0TR		0x00ef6028	/* SDRAM0タイミングレジスタ */#define SD0MOD		0x00ef602c	/* SDRAM0モ〖ドレジスタ */#define SD1ADR		0x00ef6040	/* SDRAM1アドレスレジスタ */#define SD1ER		0x00ef6044	/* SDRAM1アクセスイネ〖ブルレジスタ */#define SD1TR		0x00ef6048	/* SDRAM1タイミングレジスタ */#define SD1MOD		0x00ef604c	/* SDRAM1モ〖ドレジスタ */#define MCCR		0xfffffffc	/* キャッシュ扩告レジスタ */#define ICUIMASK	0x00eff01c	/* 充哈みマスクレジスタ	*//* *	SDRAM肋年マクロ年盗 */#define SDRF1_VAL	0x00010017	/* SDRAMリフレッシュ扩告レジスタ1肋年猛	*/#define	SDIR0_VAL	0x00000001	/* SDRAM介袋步レジスタ0肋年猛			*/#define	SD0ADR_VAL	0x04000004	/* SDRAM0アドレスレジスタ肋年猛			*/#define SD0TR_VAL	0x00020102	/* SDRAM0タイミングレジスタ肋年猛		*/#define SD0MOD_VAL	0x00000020	/* SDRAM0モ〖ドレジスタ肋年猛			*//* *	ブロックセレクトコントロ〖ラの肋年猛 */#define BSEL0CR_VAL	0x01011100/* *  ハ〖ドウェア介袋步借妄 * *  data·bssセクションをSDRAM挝拌に芹弥する眷圭には·デバッガ娄で *  SDRAMを介袋步するˉその眷圭は·hardware_init_hookでは部もしないˉ */#if 0Function hardware_init_hook	/*	 * ブロックセレクトコントロ〖ラの肋年	 */	mLdadr	r2, BSEL0CR_VAL	ld24	r3, #BSEL0CR	st		r2, @r3	/*	 *  キャッシュモ〖ドの肋年	 */	ldi	r0, #0x00   /* キャッシュOFF */	ldi	r2, #MCCR	/* 射规橙磨させてアドレスをロ〖ド */	st	r0, @r2		/* 炭吾/デ〖タキャッシュモ〖ド联买 */	/*	 *  嘲婶SDRAMの肋年 	 */	/* --- SDRAM介袋步 -- */	ld24	r2, #SDIR0		/* SDRAM介袋步レジスタ0 */	mLdadr	r3, SDIR0_VAL	/* 介袋步プリチャ〖ジ稿ウエイト(DPC)       3BCLK	*/							/* 介袋步オ〖トリフレッシュ搀眶(DARFC)     8搀		*/							/* 介袋步オ〖トリフレッシュ妥滇粗持(DARFI) 8BCLK	*/	st		r3, @r2		/* 肋年	*/	ld24	r2, #SDIR1			/* H'00EF600c	*/	ldi		r3, #0x00000001		/* 介袋步倡幌	*/	st		r3, @r2	/* --- SDRAM介袋步シ〖ケンス窗位略ち -- */wait_sdram:	ldh		r3, @r2	bnez	r3, wait_sdram		/* 介袋步姜位々 */	/* -- SDRAMモ〖ドレジスタセットコマンド券乖 */	ld24	r2, #SD0MOD			/* SDRAM0モ〖ドレジスタ					*/	mLdadr	r3, SD0MOD_VAL			/* バ〖ストモ〖ド						*/								/* CL=2									*/								/* バ〖ストタイプ¨シ〖ケンシャル		*/								/* バ〖スト墓							*/	st		r3, @r2				/* 肋年	*/	/* ---- SDRAMタイミングレジスタ肋年 -- */	ld24	r2, #SD0TR			/* SDRAMタイミングレジスタ							*/	mLdadr	r3, SD0TR_VAL		/* RASアクティブ袋粗(DRAS)             3BCLK		*/								/* RAS-CASレ〖テンシ(DRCD)             1BCLK		*/								/* RASプリチャ〖ジ(DPCG)               1BCLK		*/								/* ライトリカバリ箕粗(DWR)             2BCLK		*/								/* SDRAMコントロ〖ラCASレ〖テンシ(DCL) 2BCLK		*/	st      r3, @r2			/* 肋年	*/	/* --- SDRAM挝拌肋年(H'04000000から32Mバイト,32bitBUS)	*/	ld24	r2, #SD0ADR		/* SDRAM0アドレスレジスタ							*/	mLdadr	r3, SD0ADR_VAL		/* 黎片アドレス(DADR)         H'0400 xxxx			*/								/* デ〖タバス升联买(DBSZ)     32ビット				*/								/* チャネルサイズ肋年(DSZ)    64Mバイト				*/	st		r3, @r2			/* 肋年	*/	/* ---- オ〖トリフレッシュ铜跟、妥滇粗持:1344クロックに肋年	*/	ld24	r2, #SDRF1		/* SDRAMリフレッシュ扩告レジスタ1					*/	mLdadr	r3, SDRF1_VAL		/* オ〖トリフレッシュ(DRFEN)	1(铜跟∷			*/								/* オ〖トリフレッシュウェイト(DREFW) 8BCLK			*/								/* オ〖トリフレッシュ妥滇粗持(DRFC)  1344BCLK		*/	st		r3, @r2	/* SDRAMアクセス铜跟 */	ld24	r2, #SD0ER			/* SDRAMアクセスイネ〖ブルレジスタ	*/	ldi		r3, #0x01			/* 肋年猛をレジスタに呈羌			*/	st		r3, @r2	rts#endif		Function software_init_hook	ld24 	r0, ICUIMASK + 1	ldi 	r1, 7	stb 	r1, @r0 			/* 充哈みマスクを链钓材に肋年 */	rts

⌨️ 快捷键说明

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