source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/sh1/zunda_sh1/sys_support.c@ 26

Last change on this file since 26 was 26, checked in by ykominami, 10 years ago

initial

File size: 6.4 KB
Line 
1/*
2 * TOPPERS/JSP Kernel
3 * Toyohashi Open Platform for Embedded Real-Time Systems/
4 * Just Standard Profile Kernel
5 *
6 * Copyright (C) 2000-2004 by Embedded and Real-Time Systems Laboratory
7 * Toyohashi Univ. of Technology, JAPAN
8 * Copyright (C) 2001-2004 by Industrial Technology Institute,
9 * Miyagi Prefectural Government, JAPAN
10 * Copyright (C) 2003-2004 by CHUO ELECTRIC WORKS Co.,LTD. JAPAN
11 *
12 * 上記著作権者
13は,以下の (1)〜(4) の条件か,Free Software Foundation
14 * によってå…
15¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
16 * 述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
17 * を改変したものを含む.以下同じ)を使用・複製・改変・再é…
18å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
19 * 利用と呼ぶ)することを無償で許諾する.
20 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
21 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー
22 * スコード中に含まれていること.
23 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
24 * 用できる形で再é…
25å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
26å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
27 * 者
28マニュアルなど)に,上記の著作権表示,この利用条件および下記
29 * の無保証規定を掲載すること.
30 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
31 * 用できない形で再é…
32å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこ
33 * と.
34 * (a) 再é…
35å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
36マニュアルなど)に,上記の著
37 * 作権表示,この利用条件および下記の無保証規定を掲載すること.
38 * (b) 再é…
39å¸ƒã®å½¢æ…
40‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
41 * 報告すること.
42 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
43 * 害からも,上記著作権者
44およびTOPPERSプロジェクトをå…
45è²¬ã™ã‚‹ã“と.
46 *
47 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者
48お
49 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
50 * 含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
51 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
52 *
53 */
54/*
55 * ターゲットシステム依存モジュール
56 * (株)中央製作所製μITRON搭載SH1CPUボード用
57 */
58
59#include <s_services.h>
60#include "kernel_id.h"
61
62#include <sh1.h>
63#include "sys_support.h"
64
65/*
66 * TINET使用時
67 */
68#ifdef SUPPORT_INET4
69#include <sh1_sil.h>
70#include <tinet_sys_config.h>
71/*
72 * NIC (RTL8019AS) に関する定義
73 * TINET使用時tinet_sys_config.h へ移動すること
74 */
75/*#define ED_BASE_ADDRESS 0x06000000 */ /* NIC のレジスタベースアドレス */
76/*#define INHNO_IF_ED IRQ5 */ /* IRQ5 */
77/*#define ED_PRI 7 */ /* 優å…
78ˆåº¦=7 */
79/*#define ED_LEVEL0 0 */ /* 割込み禁止 */
80/*#define ED_IPR IPRB */ /* 優å…
81ˆåº¦ãƒ¬ã‚¸ã‚¹ã‚¿å */
82/*#define ED_IPR_SHIFT 8 */ /* 優å…
83ˆåº¦ãƒ¬ã‚¸ã‚¹ã‚¿å†…
84ビット位置 */
85#endif /* SUPPORT_INET4 */
86
87/*
88 * ROMICE使用のNMIまでのROMベクタテーブル領域
89 */
90#define ROMVECT_START 0 /* ROMのベクタテーブルは0番地から */
91#define ROMVECT_SIZE ((NMI+1)*sizeof(FP)) /* ROMのベクタテーブルサイズ */
92
93/*
94 * 低レベルのターゲットシステム依存の初期化 _hardware_init_hook
95 *
96 * スタートアップモジュールの中で,メモリの初期化の前に呼び出される.
97 */
98void
99hardware_init_hook(void)
100{
101 /* WCR3:ウエイトコントロールレジスタ3
102 * WPU=1 WAIT端子プルアップ
103 * A02LW=00 エリア0,2を1ロングウェイト
104 * A6LW=00 エリア6 を1ロングウェイト
105 */
106 sil_wrh_mem(BSC_WCR3, 0x8000);
107
108 /* BCR:バスコントロールレジスタ
109 * DRANE=0 エリア1は外部メモリ空間
110 * IOE=0 エリア6は外部メモリ空間
111 * WARP=0 ノーマルモード:外部アクセスと内
112部アクセスを同時に行わない
113 * RDDTY=0 RD信号HI T1の50%
114 * BAS=0 WRH,WRL,A0信号有効
115 */
116 sil_wrh_mem(BSC_BCR, 0x0000);
117
118 /* WCR1:ウエイトコントロールレジスタ1
119 * read cycle stateで
120 * wait端子サンプルしない
121 * RWx=0 エリア1,3,4,5,7 1ステート固定
122 * RWx=0 エリア0,2,6 1ステート+ロングウェイト(計3ステート)
123 * WW1=1 エリア1外部メモリ 2ステート
124 */
125 sil_wrh_mem(BSC_WCR1, 0x00ff);
126
127 /* WCR2:ウエイトコントロールレジスタ2
128 * DMAないので初期値のまま
129 */
130 sil_wrh_mem(BSC_WCR2, 0xffff);
131
132 /*
133 * PA、PB出力バッファ初期化
134 */
135 sil_wrh_mem(PA_DR, VAL_PA_DR);
136 sil_wrh_mem(PB_DR, VAL_PB_DR);
137
138 /*
139 * PAå…
140¥å‡ºåŠ›åˆæœŸåŒ–(sys_support.h参ç…
141§ï¼‰
142 */
143 sil_wrh_mem(PFC_PACR1, VAL_PFC_PACR1);
144 sil_wrh_mem(PFC_PACR2, VAL_PFC_PACR2);
145
146 sil_wrh_mem(PFC_PAIOR, VAL_PFC_PAIOR);
147
148 sil_wrh_mem(PFC_PBCR1, VAL_PFC_PBCR1);
149 sil_wrh_mem(PFC_PBCR2, VAL_PFC_PBCR2);
150 sil_wrh_mem(PFC_PBIOR, VAL_PFC_PBIOR);
151
152 sil_wrh_mem(PFC_CASCR, VAL_PFC_CASCR);
153
154}
155
156/*
157 * ソフトウェア環境(特にライブラリ)に依存して必
158要な初期化処理 software_init_hook
159 *
160 * スタートアップモジュールの中で,カーネルを起動する前に呼び出される.
161 */
162#ifdef PARTNER
163void
164software_init_hook(void)
165{
166 /*
167 * ROMICE使用時にROMベクタテーブルを転送
168 */
169 extern FP vector_table[];
170 memcpy(vector_table, ROMVECT_START, ROMVECT_SIZE);
171}
172#endif
173
174/*
175 * NIC ハードウェア割り込み許可
176 * TINET使用時必
177要
178 */
179#ifdef SUPPORT_INET4
180void
181ed_ena_inter(void)
182{
183 SIL_PRE_LOC;
184 SIL_LOC_INT();
185 define_int_plevel(ED_IPR, ED_PRI, ED_IPR_SHIFT);// 優å…
186ˆåº¦=ED_PRI
187 SIL_UNL_INT();
188}
189
190/*
191 * NIC ハードウェア割り込み禁止
192 * TINET使用時必
193要
194 */
195void
196ed_dis_inter(void)
197{
198 SIL_PRE_LOC;
199 SIL_LOC_INT();
200 define_int_plevel(ED_IPR, ED_LEVEL0, ED_IPR_SHIFT);// 優å…
201ˆåº¦=0
202 SIL_UNL_INT();
203}
204#endif /* SUPPORT_INET4 *//* end */
205
Note: See TracBrowser for help on using the repository browser.