Skip to content

Commit 5755374

Browse files
committed
From sh3-stub_2002-03-20.tar.gz by toppers.jp.
1 parent 6aa359d commit 5755374

31 files changed

+4029
-0
lines changed

Diff for: COPYING.LIB

+482
Large diffs are not rendered by default.

Diff for: ChangeLog

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
2002-03-20 Shinya Honda <[email protected]>
2+
* sh-sci.c : IPRB������ߥ�����
3+
4+
2001-08-30 Shinya Honda <[email protected]>
5+
* README : �Х�0,1�ε��ҥߥ�����
6+
7+
2001-03-09 Shinya Honda <[email protected]>
8+
* Makefile : S�쥳���ɷ��������Ϥ����褦�ѹ�
9+
��ɬ�פʵ��Ҥ��ѹ�
10+
11+
2001-03-05 Shinya Honda <[email protected]>
12+
* ��ΩĶLSI�����ƥॺ�� MS7709ASE01�Υ��ݡ���
13+
14+
2001-03-01 Shinya Honda <[email protected]>
15+
* ʸ�������ɤ�EUC�˽���
16+
17+
2000-11-24 Shinya Honda <[email protected]>
18+
* README : ��ɩ�ŵ��ޥ����󵡴諒�եȥ������Ƚ���
19+
20+
2000-11-11 Shinya Honda <[email protected]>
21+
* README : �ե�������Խ�
22+
* shcard ���� card-e09a ��̾�����ѹ�
23+
* �ե�����̾ config.h-XXX, config.mk-XXX init-XXX ��
24+
config.h_XXX, config.mk_XXX init_XXX ����ѹ�
25+
26+
27+
2000-11-10 Shinya Honda <[email protected]>
28+
* sh-sci.h,entry.s : DVESH7700��SCI�ǤΥ�⡼�ȥ֥졼���Υ��ݡ���
29+
30+
31+
2000-11-9 Shinya Honda <[email protected]>
32+
* entry.S : �����å���Ȥ�ʤ��褦���ѹ������˥Х�0�� r0 ��
33+
�˲�����
34+
* entry_non_scrach.S : ������ entry.S �򤳤Υե������̾�����ѹ�
35+
36+
37+

Diff for: Makefile

+108
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,108 @@
1+
# $Id: Makefile,v 1.4 2001/03/09 04:55:48 honda Exp $
2+
#
3+
# gdb-sh-stub/Makefile
4+
#
5+
6+
.S.o:
7+
$(CC) -D__ASSEMBLY__ $(AFLAGS) -traditional -c -o $*.o $<
8+
9+
include config.mk
10+
11+
CROSS_COMPILE= sh-hitachi-elf-
12+
13+
CC =$(CROSS_COMPILE)gcc -I.
14+
LD =$(CROSS_COMPILE)ld
15+
OBJCOPY=$(CROSS_COMPILE)objcopy
16+
17+
CFLAGS = -O2 -g
18+
19+
ifdef CONFIG_CPU_SH3
20+
CFLAGS += -m3
21+
AFLAGS += -m3
22+
endif
23+
ifdef CONFIG_CPU_SH4
24+
CFLAGS += -m4
25+
AFLAGS += -m4
26+
endif
27+
28+
ifdef CONFIG_LITTLE_ENDIAN
29+
CFLAGS += -ml
30+
AFLAGS += -ml
31+
LINKFLAGS += -EL
32+
else
33+
CFLAGS += -mb
34+
AFLAGS += -mb
35+
LINKFLAGS += -EB
36+
endif
37+
38+
CFLAGS += -pipe
39+
LINKSCRIPT = sh-stub.lds
40+
LINKFLAGS += -T $(word 1,$(LINKSCRIPT))
41+
42+
43+
ADJUST_VMA=0x0
44+
45+
46+
ifdef CONFIG_SESH3
47+
MACHINE_DEPENDS := init_sesh3.o
48+
all : sh-stub.src
49+
endif
50+
51+
ifdef CONFIG_CARD_E09A
52+
MACHINE_DEPENDS := init_card-e09a.o
53+
endif
54+
55+
ifdef CONFIG_RSH3
56+
MACHINE_DEPENDS := init_rsh3.o
57+
endif
58+
59+
ifdef CONFIG_DVESH3
60+
MACHINE_DEPENDS := init_dvesh3.o
61+
endif
62+
63+
64+
65+
66+
67+
sh-stub.bin: sh-stub
68+
$(OBJCOPY) -S -R .stack -R .bss -R .comment -O binary \
69+
sh-stub sh-stub.bin
70+
71+
72+
sh-stub.elf: sh-stub
73+
$(OBJCOPY) -S -R .data -R .stack -R .bss -R .comment \
74+
--adjust-vma=${ADJUST_VMA} \
75+
sh-stub sh-stub.elf
76+
77+
sh-stub.hex: sh-stub
78+
$(OBJCOPY) -S -R .data -R .stack -R .bss -R .comment \
79+
--adjust-vma=${ADJUST_VMA} -O ihex \
80+
sh-stub sh-stub.hex
81+
82+
83+
sh-stub.src: sh-stub
84+
$(OBJCOPY) -S -R .stack -R .bss -R .comment \
85+
--adjust-vma=${ADJUST_VMA} -O srec \
86+
sh-stub sh-stub.src
87+
88+
89+
sh-stub: sh-stub.o entry.o ${MACHINE_DEPENDS} sh-sci.o setjmp.o string.o sh-stub.lds
90+
$(LD) $(LINKFLAGS) entry.o sh-stub.o ${MACHINE_DEPENDS} sh-sci.o \
91+
setjmp.o string.o \
92+
-o sh-stub
93+
94+
95+
sh-stub.lds: sh-stub.lds.S
96+
$(CC) -E -C -P -I. sh-stub.lds.S >sh-stub.lds
97+
98+
clean:
99+
rm -rf sh-stub sh-stub.bin sh-stub.elf *.o sh-stub.lds \
100+
sh-stub.src sh-stub.bin sh-stub.hex sh-stu.elf
101+
102+
103+
104+
105+
106+
107+
108+

Diff for: README

+197
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,197 @@
1+
GDB stub program for SH3(Version 1.0)
2+
3+
This program may be distributed under GNU Lesser GPL.
4+
5+
1. ����
6+
���Υץ������� SH3�� GDB stub �Ǥ����������åȤǼ¹Ԥ��뤳�Ȥˤ�ꥷ
7+
�ꥢ���ͳ�ǥۥ��ȤǼ¹Ԥ���gdb�ˤ�����������ɡ���⡼�ȥǥХå���
8+
��ǽ�Ǥ������Υץ������Υ��ꥸ�ʥ�� Linux SH �ץ���������
9+
(http://www.m17n.org/linux-sh/)�dz�ȯ���줿��ΤǤ��ꡢ����򸵤�
10+
TOPPERS/JSP �����ͥ� �򥵥ݡ��Ȥ��뤿����ѹ���Ԥ��ޤ������ʤ�����ȯ
11+
�Ķ��Υ��󥹥ȡ���˴ؤ��Ƥ� TOPPERS �Υޥ˥奢��򻲾Ȥ��Ƥ���������
12+
�饤���󥹤�GNUGPL �ˤʤäƤ��ޤ���
13+
14+
���ݡ��Ȥ��Ƥ���CPU �ϡ�SH7708,SH7709,SH7709A�ǡ����ݡ��Ȥ��Ƥ��륿�����å�
15+
�ϡ��ʲ���4����Ǥ���
16+
17+
��EPSON�� CARD-E09A (SH7709A)
18+
����ɩ�ŵ��ޥ����󵡴諒�եȥ������� MU200-RSH3 (SH7709)
19+
���Ż��� DVE7700 (SH7708)
20+
����ΩĶLSI�����ƥॺ�� MS7709ASE01 (SH7709A)
21+
22+
23+
24+
2. stub���
25+
2.1 ����ΰ�
26+
stub��RAM�ΰ��������ΰ�Ȥ��ƻ��Ѥ��ޤ��������ΰ�ϥץ������ǻ�
27+
�Ѥʤ��Ǥ����������������å���λ����ΰ�ϡ�
28+
29+
��CARD-E09A 0x0C030000 �� 0x0C033000
30+
��MU200-RSH3 0x0C000000 �� 0x0C001000
31+
��DVE7700 0x0C000000 �� 0x0C001000
32+
��MS7709ASE01 0x0C000000 �� 0x0C001000
33+
34+
�Ǥ����ʤ������Υ�����ꥢ�������XXX.mem�ե������RAM�ǻϤޤ�Ԥ���
35+
����ǽ�Ǥ���
36+
37+
38+
2.2 ���ѥݡ��Ȥ�����
39+
�ۥ��Ȥ�gdb���̿���Ԥ��ݡ��Ȥȥܡ��졼�Ȥϡ����Τ褦�ˤʤ�ޤ�������
40+
�Υ������åȤˤ����� �ǡ���:8bit, �ѥ�ƥ�:̵�� ���ȥåץӥå�: 1bit
41+
�Ǥ���
42+
43+
���ѥݡ��� �ܡ��졼��
44+
��CARD-E09A SCIF 115200bps
45+
��MU200-RSH3 SCIF 115200bps
46+
��DVE7700 SCI 57600bps
47+
��MS7709ASE01 SCIF 115200bps
48+
49+
50+
2.3 trapa�ˤ�뵡ǽ
51+
trapa #0x3f ��¹Ԥ��뤳�Ȥˤ��stub�ε�ǽ��ƤӽФ��ޤ���
52+
53+
2.3.1 gdb�Υ��󥽡���ؤν���
54+
r0 ��0x00, r4 �˽��Ϥ�����ʸ�������� trapa #0x3f ��¹Ԥ���Ȥ���ʸ��
55+
���ۥ��Ȥ� gdb�Υ��󥽡���˽��Ϥ���ޤ������ν��Ϥϥ������åȤ��֥졼
56+
������������gdb�Υ��󥽡���˽��Ϥ���ޤ������ꥢ�륿����˽��Ϥ�����
57+
���ϡ�gdb�Υ�������Ÿ���������󥹥ȡ��뤷���ǥ��쥯�ȥ�ʲ���
58+
/gdb/remote.c �ˤ���ؿ�remote_console_output()��
59+
60+
else
61+
fputs_filtered (tb, gdb_stdout);
62+
63+
�βս��
64+
65+
else {
66+
fputs_filtered (tb, gdb_stdout);
67+
gdb_flush(gdb_stdout);
68+
}
69+
70+
���ѹ����ޤ���
71+
72+
73+
74+
2.3.2 �㳰/�����ߤ���Ͽ
75+
SH3 ���㳰�����ϥ٥��������ǤϤʤ����㳰/�����ߤ�ȯ������� VBR
76+
+0x100,�⤷���� +0x600 ���Ϥ���¹Ԥ򳫻Ϥ��ޤ������Τ��ᡢstub�ϵ���
77+
Ū�ʥ٥����ơ��֥������㳰/�����ߤ�ȯ������Ȥ����װ���Ƚ�ꤷ�Ƥ�
78+
�Υơ��֥����Ͽ���줿���Ϥ��¹Ԥ򳫻Ϥ��ޤ������Υ٥����ơ��֥��
79+
RAM ����֤���Ƥ��뤿�ᡢ�桼�����ץ������Ǽ�����ꤿ���㳰/����
80+
�ߤȤ��Υϥ�ɥ����Ͽ�Ǥ��ޤ�����Ͽ�ϡ�r0 �� 0x08, r4 ���㳰�װ��ֹ�
81+
(SH7709/A �ʤ� INTEVT2, SH7708 �ʤ� INTEV T�����ꤵ����ֹ�), r5 �˥�
82+
��ɥ�Υ��ɥ쥹������� trapa #0x3f ��¹Ԥ��ޤ�����Ͽ���줿�ϥ�ɥ�
83+
�¹Ի��ξ��֤� VBR +0x400, +0x600 �����֤����ץ�����बCPU�¹Ԥ����
84+
���֤�Ʊ���Ǥ����ʤ���VBR���ѹ������ꡢstub �����Ѥ����㳰/������
85+
(nmi,trapa,SCI��)���ѹ������stub��������ư��ʤ��ʤ�Τǡ����դ���
86+
����������
87+
88+
89+
2.4 gdb�ˤ�륷�ꥢ���ͳ�Υ֥졼��
90+
�������åȤǥץ�������¹���� gdb ��� ctrl-C �򲡤��ȥ֥졼������
91+
����ޤ������ε�ǽ�ϡ�gdb ���̿���Ԥ����ꥢ��ݡ��Ȥμ��������ߤˤ�
92+
��¸����Ƥ��ޤ������γ����ߤ�ͥ���٤� 0xf �����ꤷ�ޤ������ε�ǽ��
93+
���Ѥ��뤿��ˤϡ��ץ������¹���γ����ߥޥ������ͤ� 0xe �ʲ�����
94+
�ꤷ�Ƥ���������
95+
96+
97+
2.5 �쥸�����μ�갷��
98+
�㳰/������ȯ���˼¹Ԥ����롼�����entry.S�˵��Ҥ��Ƥ��ޤ�����r0
99+
�� r7 �ΥХ󥯥쥸�����λ�����ˡ���ۤʤ� entry_non_scrach.S ���Ѱդ���
100+
���ޤ���entry.S �Ǥϡ��ץ������Ǥϡ���˥Х�0����Ѥ����Τ�����
101+
���� gdb �˥Х�0�Υ쥸����������ޤ���entry_non_scrach.S �ϥХ�1��
102+
���Ѥ��뤳�Ȥ����ꤷ�ơ��㳰/������ȯ�����˥����ƥ��֤ʥХ󥯤Υ쥸
103+
������ gdb ������ޤ����쥸�����ϥХ�0,1 �����˲����ޤ��󡣤������
104+
�㳰/������ȯ�����Υ����å���쥸����������Τ��ᡢ���Ū�˻��Ѥ���
105+
���ᡢ�����å��ݥ��󥿤���������ȥꥻ�åȤ���ޤ���entry.S �Ǥϥ�����
106+
������ �Х�1�� r0,r1 �쥸��������Ѥ��뤿�ᡢ�����å��ݥ��󥿤���
107+
��ߥ���ȯ�����Ƥ�ꥻ�åȤ���ޤ��󤬡��Х�1 �Υ쥸���� r0,r1 ����
108+
�������Τǡ����դ�ɬ�פǤ���
109+
110+
111+
2.6 NMI
112+
���ƤΥ������åȤˤ�����NMI���Ϥˤ��֥졼���򥵥ݡ��Ȥ��Ƥ��ޤ���
113+
114+
115+
2.7 ¾�Υ������åȤؤΰܿ�
116+
¾�Υ������åȤؤΰܿ��ϡ�SH3���Ƽ�⥸�塼�����¢���Ƥ��뤳�Ȥ⤢�ꡢ
117+
���Ū�ưפ˹Ԥ���Ȼפ��ޤ�������Ū�ˤϰʲ��Υե�����򥿡����å��Ѥ�
118+
�񤭤ޤ���
119+
120+
init_XXX.S : �ϡ��ɥ�����������롼����
121+
XXX.mem : ����ޥå�
122+
config.h_XXX : ����ե����ե�����
123+
config.mk_XXX : �ᥤ���ե�����
124+
125+
�塢sh-sci.c �˥ܡ��졼�Ȥ���ꤹ�� SCBRR �쥸�����������ͤ� sh-stub.ld.S
126+
��XXX.mem�ե�����򥤥󥯥롼�ɤ���褦���ѹ����ޤ���
127+
128+
129+
130+
3. ���󥹥ȡ���
131+
132+
s3.1 stub���
133+
sh-stub.tar.gz��Ÿ�����������åȤ˱����� config.h_XXX, config.mk_XXX
134+
�ե�����򤽤줾�졢config.h, config.mk �Ȥ��롣
135+
136+
%cp config.h_XXX config.h
137+
%cp config.mk_XXX config.mk
138+
139+
sh-stub.tar.gz��Ÿ�������ǥ��쥯�ȥ��
140+
141+
%make
142+
143+
�Ȥ���ȡ�ELF������ sh-stub �ȥХ��ʥ��sh-stub.bin����������ޤ���¾
144+
�η������������ˤϡ�
145+
146+
make sh-stub.hex : ����ƥ�HEX�ե����ޥåȤ����
147+
make sh-stub.src : ��ȥ�����S�쥳���ɥե����ޥåȤ����
148+
149+
�Ȥ��ޤ�������ʳ��Υե����ޥåȤǽ��Ϥ��������ϡ�
150+
sh-hitachi-elf-objdump ���Ѵ����Ƥ������������Υե������RSH3,DVE7700
151+
��ROM�˾Ƥ��Ƽ������ޤ���MS7709ASE01�ϡ��ܡ��ɤ���°���Ƥ���ROM��˥�
152+
�ǥե�å������Ƭ�˽񤭤ޤ���ROM��˥��Ǥν񤭹��ߤ˴ؤ��Ƥϡ��ܡ���
153+
����°�Υޥ˥奢��򻲾Ȥ��Ʋ�������CARD-E09A�ϡ�sh-stub.bin ��CF�˽�
154+
�����ߡ�startup.dat��
155+
156+
[DEBUGGER]
157+
"sh-stub.bin"
158+
159+
���ѹ����Ƶ�ư���˼¹Ԥ���褦�ˤ��Ƥ���������
160+
161+
162+
3.2 ư���ǧ
163+
ROM���ե�å���ROM�˽񤭹�����顢�ۥ��ȥޥ���ǥ����ߥʥ륽�եȤˤ��
164+
��³���ޤ���Ŭ����1ʸ�����Ϥ��ƥ������åȤ��� $S05#b8 �Ȥ���ʸ�����֤�
165+
�Ƥ��뤫��ǧ���Ƥ����������֤äƤ��ʤ����stub��������ư��Ƥ��ʤ���
166+
��ROM�������Ѥγ�ǧ�򤷤Ƥ���������
167+
168+
169+
3.3 �¹�
170+
�ޤ��ץ�������-g���ץ������դ��ƥ���ѥ��뤷���夽�Υե������gdb
171+
�ΰ����˻��ꤷ�Ƽ¹Ԥ��ޤ���
172+
173+
gdb����ư�����鼡�Υ��ޥ�ɤ�¹Ԥ��ޤ���
174+
(gdb) set remotebaud BPS
175+
(gdb) set endian ENDIAN
176+
(gdb) target remote /dev/TTY
177+
0xc031216 in ?? ()
178+
179+
BPS �ˤϥܡ��졼�ȡ�ENDIAN �ˤϥ���ǥ�����(big�ʤ���ꤷ�ʤ��Ƥ��ɤ�)
180+
TTY�ϥ������åȤ���³���Ƥ���ݡ��Ȥ���ꤷ�ޤ���
181+
���˥ץ����������������ɤ��ޤ���
182+
183+
(gdb)load
184+
185+
�����ɤ���λ������¹Ԥ��ޤ���
186+
187+
(gdb)continue
188+
189+
�¹����ctrl-C�򲡤��ȥץ������μ¹Ԥ�֥졼�����ޤ���
190+
��ϥۥ��Ȥ��̾��gdb�ˤ��ǥХå������������Ԥ��ޤ���
191+
gdb�λȤ����ϡ��Ƽ�ޥ˥奢��򻲹ͤˤ��Ƥ���������
192+
193+
194+
-----------------------------------------------------------------------------
195+
���Ŀ���(Shinya Honda),<[email protected]> 9 Mar 2001
196+
197+

Diff for: card-e09a.mem

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
ENTRY(_PCE_header)
2+
MEMORY
3+
{
4+
ROM (rx): ORIGIN = 0x0c030000, LENGTH = 1024k
5+
RAM (rw): ORIGIN = 0x0c032000, LENGTH = 2560
6+
STACK (rw): ORIGIN = 0x0c032a00, LENGTH = 1536
7+
}

Diff for: config.h_card-09a

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#define CONFIG_LITTLE_ENDIAN 1
2+
#define CONFIG_CARD_E09A 1
3+
#define CONFIG_SCIF 1
4+
#define CONFIG_SH7709 1
5+
#define REMOTE_BREAK 1

Diff for: config.h_dvesh3

+6
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
#define CONFIG_DVESH3 1
2+
#define CONFIG_SCI 1
3+
#define CONFIG_SH7708 1
4+
/* #define CONFIG_30MHZ 1 */
5+
#define CONFIG_60MHZ 1
6+
#define REMOTE_BREAK 1

Diff for: config.h_rsh3

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#define CONFIG_RSH3 1
2+
#define CONFIG_SCIF 1
3+
#define CONFIG_40MHZ 1
4+
#define CONFIG_SH7709 1
5+
#define REMOTE_BREAK 1

Diff for: config.h_sesh3

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
#define CONFIG_LITTLE_ENDIAN 1
2+
#define CONFIG_SESH3 1
3+
#define CONFIG_SCIF 1
4+
#define CONFIG_SH7709 1
5+
#define REMOTE_BREAK 1

Diff for: config.mk_card-09a

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CONFIG_LITTLE_ENDIAN=y
2+
CONFIG_CPU_SH3=y
3+
CONFIG_CARD_E09A=y

Diff for: config.mk_dvesh3

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_CPU_SH3=y
2+
CONFIG_DVESH3=y

Diff for: config.mk_rsh3

+2
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CONFIG_CPU_SH3=y
2+
CONFIG_RSH3=y

Diff for: config.mk_sesh3

+3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
CONFIG_LITTLE_ENDIAN=y
2+
CONFIG_CPU_SH3=y
3+
CONFIG_SESH3=y

0 commit comments

Comments
 (0)