source: atk1_sh2/trunk/config/sh2-gnu/cq7144a/sys_support.S@ 4

Last change on this file since 4 was 4, checked in by msugi, 14 years ago

Interface誌2006年8月号添付のTOPPERS/OSEK用SH2をTOPPERS/ATK1に対応させました.多少のバグフィックスも行っています.

File size: 4.1 KB
Line 
1/*
2* TOPPERS/OSEK Kernel
3* Toyohashi Open Platform for Embedded Real-Time Systems/
4* OSEK Kernel
5*
6* Copyright (C) 2000-2003 by Embedded and Real-Time Systems Laboratory
7* Toyohashi Univ. of Technology, JAPAN
8* Copyright (C) 2004 by Embedded and Real-Time Systems Laboratory
9* Graduate School of Information Science, Nagoya Univ., JAPAN
10* Copyright (C) 2005-2006 by Witz Corporation, JAPAN
11*
12* ã‹L’˜ìŒ ŽÒ‚́CˆÈ‰º‚Ì (1)`(4) ‚ÌðŒ‚©CFree Software Foundation
13* ‚É‚æ‚Á‚ÄŒö•\‚³‚ê‚Ä‚¢‚é GNU General Public License ‚Ì Version 2 ‚É‹L
14* q‚³‚ê‚Ä‚¢‚éðŒ‚ð–ž‚½‚·ê‡‚ÉŒÀ‚èC–{ƒ\ƒtƒgƒEƒFƒAi–{ƒ\ƒtƒgƒEƒFƒA
15* ‚ð‰ü•Ï‚µ‚½‚à‚Ì‚ðŠÜ‚ށDˆÈ‰º“¯‚¶j‚ðŽg—pE•¡»E‰ü•ÏEÄ”z•ziˆÈ‰ºC
16* —˜—p‚ƌĂԁj‚·‚邱‚Ƃ𖳏ž‚Å‹–‘ø‚·‚éD
17* (1) –{ƒ\ƒtƒgƒEƒFƒA‚ðƒ\[ƒXƒR[ƒh‚ÌŒ`‚Å—˜—p‚·‚éê‡‚ɂ́Cã‹L‚Ì’˜ì
18* Œ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’肪C‚»‚Ì‚Ü‚Ü‚ÌŒ`‚Ń\[
19* ƒXƒR[ƒh’†‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚邱‚ƁD
20* (2) –{ƒ\ƒtƒgƒEƒFƒA‚ðCƒ‰ƒCƒuƒ‰ƒŠŒ`Ž®‚ȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
21* —p‚Å‚«‚éŒ`‚ōĔz•z‚·‚éê‡‚ɂ́CÄ”z•z‚É”º‚¤ƒhƒLƒ…
22ƒƒ“ƒgi—˜—p
23* ŽÒƒ}ƒjƒ…
24ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L
25* ‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
26* (3) –{ƒ\ƒtƒgƒEƒFƒA‚ðC‹@Ší‚É‘g‚ݍž‚ނȂǁC‘¼‚̃\ƒtƒgƒEƒFƒAŠJ”­‚ÉŽg
27* —p‚Å‚«‚È‚¢Œ`‚ōĔz•z‚·‚éê‡‚ɂ́CŽŸ‚Ì‚¢‚¸‚ê‚©‚ÌðŒ‚ð–ž‚½‚·‚±
28* ‚ƁD
29* (a) Ä”z•z‚É”º‚¤ƒhƒLƒ…
30ƒƒ“ƒgi—˜—pŽÒƒ}ƒjƒ…
31ƒAƒ‹‚Ȃǁj‚ɁCã‹L‚Ì’˜
32* ìŒ •\Ž¦C‚±‚Ì—˜—pðŒ‚¨‚æ‚щº‹L‚Ì–³•ÛØ‹K’è‚ðŒfÚ‚·‚邱‚ƁD
33* (b) Ä”z•z‚ÌŒ`‘Ô‚ðC•Ê‚É’è‚ß‚é•û–@‚É‚æ‚Á‚āCTOPPERSƒvƒƒWƒFƒNƒg‚É
34* •ñ‚·‚邱‚ƁD
35* (4) –{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚é‚¢‚©‚Ȃ鑹
36* ŠQ‚©‚ç‚àCã‹L’˜ìŒ ŽÒ‚¨‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚ð–Ɛӂ·‚邱‚ƁD
37*
38* –{ƒ\ƒtƒgƒEƒFƒA‚́C–³•ÛØ‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚à‚Ì‚Å‚ ‚éDã‹L’˜ìŒ ŽÒ‚¨
39* ‚æ‚ÑTOPPERSƒvƒƒWƒFƒNƒg‚́C–{ƒ\ƒtƒgƒEƒFƒA‚ÉŠÖ‚µ‚āC‚»‚Ì“K—p‰Â”\«‚à
40* ŠÜ‚߂āC‚¢‚©‚È‚é•ÛØ‚às‚í‚È‚¢D‚Ü‚½C–{ƒ\ƒtƒgƒEƒFƒA‚Ì—˜—p‚É‚æ‚è’¼
41* Ú“I‚Ü‚½‚͊ԐړI‚ɐ¶‚¶‚½‚¢‚©‚Ȃ鑹ŠQ‚ÉŠÖ‚µ‚Ä‚àC‚»‚̐ӔC‚𕉂í‚È‚¢D
42*/
43
44/*
45 * ƒ^[ƒQƒbƒgƒVƒXƒeƒ€ˆË‘¶ƒ‚ƒWƒ…
46[ƒ‹ ƒAƒZƒ“ƒuƒŠŒ¾Œê•”iSH2—pj
47 */
48
49
50 .section ".text", "ax"
51
52/*
53 * ’჌ƒxƒ‹‚̃^[ƒQƒbƒgƒVƒXƒeƒ€ˆË‘¶‚̏‰Šú‰»
54 *
55 * ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
56[ƒ‹‚Ì’†‚ŁCƒXƒ^ƒbƒN‰Šú‰»‚ÌŒã‚ɌĂяo‚³‚ê‚éD
57 */
58 .globl hardware_init_hook
59/*
60 * hardware_init_hook‚𖳌ø‚É‚·‚éê‡‚͉º‹L.equ ’è‹`‚ðƒRƒƒ“ƒgƒAƒEƒg‚µC
61 * ŠÖ”‚Ì‹Lq‚ðíœ‚·‚邱‚ƁD
62*/
63hardware_init_hook:
64#ifdef USE_SRAM
65 /*
66 * CS1‹óŠÔA16ƒrƒbƒgƒAƒNƒZƒXAƒAƒT[ƒgŠg’£‚È‚µ AƒEƒFƒCƒgƒTƒCƒNƒ‹1
67 * ƒTƒCƒNƒ‹ŠÔƒAƒCƒhƒ‹‚È‚µA˜A‘±ƒAƒNƒZƒXƒAƒCƒhƒ‹‚ ‚è
68 */
69 mov.w bcr1_init , r0
70 mov.l bcr1_adr , r1
71 mov.w r0 , @r1
72 mov.w bcr2_init , r0
73 mov.l bcr2_adr , r1
74 mov.w r0 , @r1
75 mov.w wcr1_init , r0
76 mov.l wcr1_adr , r1
77 mov.w r0 , @r1
78 mov.w wcr2_init , r0
79 mov.l wcr2_adr , r1
80 mov.w r0 , @r1
81 /* PFCÝ’è */
82 mov.w pacrh_init , r0
83 mov.l pacrh_adr , r1
84 mov.w r0 , @r1
85 mov.w pacrl1_init , r0
86 mov.l pacrl1_adr , r1
87 mov.w r0 , @r1
88 mov.w pccr_init , r0
89 mov.l pccr_adr , r1
90 mov.w r0 , @r1
91 mov.w pdcrl1_init , r0
92 mov.l pdcrl1_adr , r1
93 mov.w r0 , @r1
94 mov.w pdcrl2_init , r0
95 mov.l pdcrl2_adr , r1
96 mov.w r0 , @r1
97 rts
98 nop
99
100bcr1_init:
101 .word 0x500f
102bcr2_init:
103 .word 0xf3fd
104wcr1_init:
105 .word 0xff1f
106wcr2_init:
107 .word 0x000f
108pacrh_init:
109 .word 0x0000
110pacrl1_init:
111 .word 0x1540
112pccr_init:
113 .word 0xffff
114pdcrl1_init:
115 .word 0xffff
116pdcrl2_init:
117 .word 0x0000
118
119.align 4
120bcr1_adr:
121 .long 0xffff8620
122bcr2_adr:
123 .long 0xffff8622
124wcr1_adr:
125 .long 0xffff8624
126wcr2_adr:
127 .long 0xffff8626
128pacrh_adr:
129 .long 0xffff8388
130pacrl1_adr:
131 .long 0xffff838c
132pccr_adr:
133 .long 0xffff839c
134pdcrl1_adr:
135 .long 0xffff83ac
136pdcrl2_adr:
137 .long 0xffff83ae
138
139#else
140.align 4
141 .long 0
142#endif /* USE_SRAM */
143
144
145/*
146 * ’჌ƒxƒ‹‚̃\ƒtƒgƒEƒFƒAˆË‘¶‚̏‰Šú‰»
147 *
148 * ƒXƒ^[ƒgƒAƒbƒvƒ‚ƒWƒ…
149[ƒ‹‚Ì’†‚ŁCƒ†[ƒUƒƒCƒ“ŠÖ”ŒÄ‚яo‚µ‚Ì‘O‚É
150 * ŒÄ‚яo‚³‚ê‚éD
151 */
152 .globl software_init_hook
153/*
154 * software_init_hook‚ð—LŒø‚É‚·‚éê‡‚͉º‹L.equ ’è‹`‚ðƒRƒƒ“ƒg‰»‚µC
155 * ŠÖ”ƒVƒ“ƒ{ƒ‹‚̃Rƒƒ“ƒgƒAƒEƒg‚Ɗ֐”“à•”‚Ì‹Lq‚ðs‚¤‚±‚ƁD
156 */
157.align 4
158software_init_hook:
159 .long 0
160/*software_init_hook:
161 * rts
162 * nop
163 */
164 .end
Note: See TracBrowser for help on using the repository browser.