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 + -
显示快捷键?