source: anotherchoice/tags/jsp-1.4.4-full-UTF8/config/tlcs900-toshiba/start.app@ 26

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

initial

File size: 7.6 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) 2006-2010 by Witz Corporation, JAPAN
7;
8; The above copyright holders grant permission gratis to use,
9; duplicate, modify, or redistribute (hereafter called use) this
10; software (including the one made by modifying this software),
11; provided that the following four conditions (1) through (4) are
12; satisfied.
13;
14; (1) When this software is used in the form of source code, the above
15; copyright notice, this use conditions, and the disclaimer shown
16; below must be retained in the source code without modification.
17;
18; (2) When this software is redistributed in the forms usable for the
19; development of other software, such as in library form, the above
20; copyright notice, this use conditions, and the disclaimer shown
21; below must be shown without modification in the document provided
22; with the redistributed software, such as the user manual.
23;
24; (3) When this software is redistributed in the forms unusable for the
25; development of other software, such as the case when the software
26; is embedded in a piece of equipment, either of the following two
27; conditions must be satisfied:
28;
29; (a) The above copyright notice, this use conditions, and the
30; disclaimer shown below must be shown without modification in
31; the document provided with the redistributed software, such as
32; the user manual.
33;
34; (b) How the software is to be redistributed must be reported to the
35; TOPPERS Project according to the procedure described
36; separately.
37;
38; (4) The above copyright holders and the TOPPERS Project are exempt
39; from responsibility for any type of damage directly or indirectly
40; caused from the use of this software and are indemnified by any
41; users or end users of this software from any and all causes of
42; action whatsoever.
43;
44; THIS SOFTWARE IS PROVIDED "AS IS." THE ABOVE COPYRIGHT HOLDERS AND
45; THE TOPPERS PROJECT DISCLAIM ANY EXPRESS OR IMPLIED WARRANTIES,
46; INCLUDING, BUT NOT LIMITED TO, ITS APPLICABILITY TO A PARTICULAR
47; PURPOSE. IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS AND THE
48; TOPPERS PROJECT BE LIABLE FOR ANY TYPE OF DAMAGE DIRECTLY OR
49; INDIRECTLY CAUSED FROM THE USE OF THIS SOFTWARE.
50;
51; 上記著作権者
52は,以下の (1)〜(4) の条件を満たす場合に限り,本ソフトウェ
53; ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改変・
54; 再é…
55å¸ƒï¼ˆä»¥ä¸‹ï¼Œåˆ©ç”¨ã¨å‘¼ã¶ï¼‰ã™ã‚‹ã“とを無償で許諾する.
56; (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作権
57; 表示,この利用条件および下記の無保証規定が,そのままの形でソース
58; コード中に含まれていること.
59; (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使用
60; できる形で再é…
61å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é…
62å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
63マ
64; ニュアルなど)に,上記の著作権表示,この利用条件および下記の無保
65; 証規定を掲載すること.
66; (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使用
67; できない形で再é…
68å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®ã„ずれかの条件を満たすこと.
69; (a) 再é…
70å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€…
71マニュアルなど)に,上記の著作
72; 権表示,この利用条件および下記の無保証規定を掲載すること.
73; (b) 再é…
74å¸ƒã®å½¢æ…
75‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに報
76; 告すること.
77; (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損害
78; からも,上記著作権者
79およびTOPPERSプロジェクトをå…
80è²¬ã™ã‚‹ã“と.また,
81; 本ソフトウェアのユーザまたはエンドユーザからのいかなる理由に基づ
82; く請求からも,上記著作権者
83およびTOPPERSプロジェクトをå…
84è²¬ã™ã‚‹ã“と.
85;
86; 本ソフトウェアは,無保証で提供されているものである.上記著作権者
87およ
88; びTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的に対す
89; る適合性も含めて,いかなる保証も行わない.また,本ソフトウェアの利用
90; により直接的または間接的に生じたいかなる損害に関しても,その責任を負
91; わない.
92;
93; @(#) $Id: start.app,v 1.1 2006/04/10 08:19:25 honda Exp $
94;
95
96 $MAXIMUM
97 module start_app
98
99;
100; カーネル用のスタートアップモジュール(TLCS-900用)
101;
102#include "jsp_rename.h"
103#include "cpu_rename.h"
104#include "sys_rename.h"
105#include "tlcs900vec.inc"
106
107; 外部参ç…
108§ã‚·ãƒ³ãƒœãƒ«å®šç¾©
109 extern large __StackTop
110 extern large __AreaRAM
111 extern large __AreaRAM_size
112 extern large __DataRAM
113 extern large __DataRAM_ini
114 extern large __DataRAM_size
115 extern large hardware_init_hook
116 extern large software_init_hook
117 extern large _kernel_start
118
119f_code section code large align=1,1
120
121 public _start
122_start:
123; 割込み禁止
124 di ; リセット時はIFFに7が設定されるためDI状æ…
125‹ã¨ãªã‚‹
126 ; ハードウェアリセット時はdi命令不要
127 ; ソフトにて jp _start する可能性を考æ…
128®ã—コードを残す
129
130; スタック初期化
131 ld xsp, __StackTop
132
133; INTNESTレジスタ初期化
134 ld hl, 0
135 ldc intnest, hl
136
137; hardware_init_hook を呼出し(0 でない場合)
138; ターゲットハードウェアに依存して必
139要な初期化処理がある場合
140; は,hardware_init_hook という関数を用意する.
141 ld xhl, hardware_init_hook
142 cp xhl, 0
143 call nz, hardware_init_hook
144
145; 初期値無しRAM領域のクリア
146 ld xde, __AreaRAM ; å…
147ˆé ­ç•ªåœ°ã¨ã‚µã‚¤ã‚ºå–å¾—
148 ld xbc, __AreaRAM_size
149 ld ix, bc ; 最下位bit保持(後で使用)
150 srl 1, xbc ; 2byte単位で処理するためサイズ/2
151 jr z, area_clr_byte
152 ld xhl, xde ; å…
153ˆé ­ç•ªåœ°ä¿æŒ(後で使用)
154 ldw (xde+), 0 ; å…
155ˆé ­ç•ªåœ°ã‚¯ãƒªã‚¢
156 sub xbc, 1 ; サイズデクリメント
157 jr z, area_clr_byte
158 ldirw (xde+), (xhl+) ; å…
159ˆé ­ç•ªåœ°(前で0設定)の値を次番地へ...
160 ; の要領でBCレジスタ分ブロックロード
161 cp qbc, 0
162 jr eq, area_clr_byte ; 上位16bitが0なら終了
163 ld wa, qbc
164area_clr_loop: ; 上位16bit(0x10000単位)での処理
165 ldirw (xde+), (xhl+) ; 0x10000分ブロックロード
166 djnz wa, area_clr_loop
167area_clr_byte:
168 bit 0, ix ; 領域サイズが奇数なら1byteクリア
169 jr z, area_clr_end
170 ldb (xde), 0
171area_clr_end:
172
173; 初期値有りRAM領域へのデータロード
174 ld xde, __DataRAM ; ロードå…
175ƒãƒ»ãƒ­ãƒ¼ãƒ‰å…
176ˆç•ªåœ°ã¨ã‚µã‚¤ã‚ºå–å¾—
177 ld xhl, __DataRAM_ini
178 ld xbc, __DataRAM_size
179 or xbc, xbc ; サイズ0なら終了
180 jr z, data_ld_end
181 ldirb (xde+), (xhl+) ; BCレジスタ分ブロックロード
182 cp qbc, 0
183 jr eq, data_ld_end ; 上位16bitが0なら終了
184 ld wa, qbc
185data_ld_loop: ; 上位16bit(0x10000単位)での処理
186 ldirb (xde+), (xhl+) ; 0x10000分ブロックロード
187 djnz wa, data_ld_loop
188data_ld_end:
189
190; software_init_hook を呼出し(0 でない場合)
191; ソフトウェア環境(特にライブラリ)に依存して必
192要な初期化処
193; 理がある場合は,software_init_hook という関数を用意する.
194 ld xhl, software_init_hook
195 cp xhl, 0
196 call nz, software_init_hook
197
198; カーネル起動
199 jp _kernel_start
200
201; EXITループ
202exit:
203 jr exit
204
205 end
Note: See TracBrowser for help on using the repository browser.