OpenCores
URL https://opencores.org/ocsvn/or1k/or1k/trunk

Subversion Repositories or1k

[/] [or1k/] [trunk/] [rtems-20020807/] [c/] [src/] [lib/] [libbsp/] [m68k/] [gen68360/] [README] - Blame information for rev 1765

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 1026 ivang
#
2
#  README,v 1.16 2001/09/19 17:40:51 joel Exp
3
#
4
 
5
#
6
# This package requires a version of GCC that supports the `-mcpu32' option.
7
#
8
 
9
#
10
# Please send any comments, improvements, or bug reports to:
11
#       W. Eric Norum
12
#       Deparment of Electrical Engineering
13
#       53 Campus Driver
14
#       University of Saskatchewan
15
#       Saskatoon, Saskatchewan, CANADA
16
#       S7N 5A9
17
# eric.norum@usask.ca
18
#
19
 
20
#
21
# This board support package works with several different versions of
22
# MC68360 systems.  See the conditional-compile tests in startup/init68360.c
23
# for examples.
24
#
25
# Decisions made at compile time include:
26
#       - If the CPU is a member of the 68040 family, the BSP is
27
#         compiled for a generic 68040/68360 system as described
28
#         in Chapter 9 of the MC68360 User's Manual.  This version
29
#         can be used with the Arnewsh SBC360 card.
30
#       - If the preprocessor symbol M68360_ATLAS_HSB is defined,
31
#         the BSP is compiled for an Atlas HSB card.
32
#       - Otherwise, the BSP is compiled for a generic 68360 system
33
#         as described in Chapter 9 of the MC68360 User's Manual.  This
34
#         version works with the Atlas ACE360 card.
35
#
36
 
37
BSP NAME:           gen68360 or gen68360_040
38
BOARD:              Generic 68360 as described in Motorola MC68360 User's Manual
39
BOARD:              Atlas Computer Equipment Inc. High Speed Bridge (HSB)
40
BOARD:              Atlas Computer Equipment Inc. Advanced Communication Engine (ACE)
41
BOARD:              Arnewsh SBC360 68040/68360 card
42
BUS:                none
43
CPU FAMILY:         Motorola CPU32+, Motorola 68040
44
COPROCESSORS:       none
45
MODE:               not applicable
46
 
47
DEBUG MONITOR:      none (Hardware provides BDM)
48
 
49
PERIPHERALS
50
===========
51
TIMERS:             PIT, Watchdog, 4 general purpose, 16 RISC
52
  RESOLUTION:       one microsecond
53
SERIAL PORTS:       4 SCC, 2 SMC, 1 SPI
54
REAL-TIME CLOCK:
55
DMA:                Each serial port, 2 general purpose
56
VIDEO:              none
57
SCSI:               none
58
NETWORKING:         Ethernet on SCC1.
59
 
60
DRIVER INFORMATION
61
==================
62
CLOCK DRIVER:       Programmable Interval Timer
63
IOSUPP DRIVER:      Serial Management Controller 1
64
SHMSUPP:            none
65
TIMER DRIVER:       Timer 1
66
 
67
STDIO
68
=====
69
PORT:               SMC1
70
ELECTRICAL:         EIA-232 (if board supplies level shifter)
71
BAUD:               9600
72
BITS PER CHARACTER: 8
73
PARITY:             None
74
STOP BITS:          1
75
 
76
NOTES
77
=====
78
 
79
Board description
80
-----------------
81
clock rate:     25 MHz
82
bus width:      8-bit PROM/FLASH, 32-bit DRAM
83
ROM:            To 1 MByte, 180 nsec (3 wait states), chip select 0
84
RAM:            4 or 16 MBytes of 60 nsec parity DRAM (1Mx36) to RAS1*/CAS1*
85
 
86
Host System
87
-----------
88
OPENSTEP 4.2 (Intel and Motorola), Solaris 2.5, Linux 2.0.29
89
 
90
Verification (Standalone 68360)
91
-------------------------------
92
Single processor tests:  Passed
93
Multi-processort tests:  not applicable
94
Timing tests:
95
        Context Switch
96
 
97
        context switch: self 10
98
        context switch: to another task 11
99
        context switch: no floating point contexts 38
100
        fp context switch: restore 1st FP task 39
101
        fp context switch: save initialized, restore initialized 14
102
        fp context switch: save idle, restore initialized 15
103
        fp context switch: save idle, restore idle 41
104
 
105
        Task Manager
106
 
107
        rtems_task_create 202
108
        rtems_task_ident 390
109
        rtems_task_start 71
110
        rtems_task_restart: calling task 99
111
        rtems_task_restart: suspended task -- returns to caller 86
112
        rtems_task_restart: blocked task -- returns to caller 116
113
        rtems_task_restart: ready task -- returns to caller 88
114
        rtems_task_restart: suspended task -- preempts caller 132
115
        rtems_task_restart: blocked task -- preempts caller 153
116
        rtems_task_restart: ready task -- preempts caller 149
117
        rtems_task_delete: calling task 236
118
        rtems_task_delete: suspended task 191
119
        rtems_task_delete: blocked task 195
120
        rtems_task_delete: ready task 198
121
        rtems_task_suspend: calling task 78
122
        rtems_task_suspend: returns to caller 36
123
        rtems_task_resume: task readied -- returns to caller 39
124
        rtems_task_resume: task readied -- preempts caller 67
125
        rtems_task_set_priority: obtain current priority 26
126
        rtems_task_set_priority: returns to caller 59
127
        rtems_task_set_priority: preempts caller 110
128
        rtems_task_mode: obtain current mode 13
129
        rtems_task_mode: no reschedule 15
130
        rtems_task_mode: reschedule -- returns to caller 20
131
        rtems_task_mode: reschedule -- preempts caller 67
132
        rtems_task_get_note 28
133
        rtems_task_set_note 27
134
        rtems_task_wake_after: yield -- returns to caller 16
135
        rtems_task_wake_after: yields -- preempts caller 65
136
        rtems_task_wake_when 116
137
 
138
        Interrupt Manager
139
 
140
        interrupt entry overhead: returns to nested interrupt 10
141
        interrupt entry overhead: returns to interrupted task 10
142
        interrupt entry overhead: returns to preempting task 10
143
        interrupt exit overhead: returns to nested interrupt 8
144
        interrupt exit overhead: returns to interrupted task 10
145
        interrupt exit overhead: returns to preempting task 59
146
 
147
        Clock Manager
148
 
149
        rtems_clock_set 73
150
        rtems_clock_get 1
151
        rtems_clock_tick 16
152
 
153
        Timer Manager
154
 
155
        rtems_timer_create 31
156
        rtems_timer_ident 380
157
        rtems_timer_delete: inactive 43
158
        rtems_timer_delete: active 46
159
        rtems_timer_fire_after: inactive 53
160
        rtems_timer_fire_after: active 56
161
        rtems_timer_fire_when: inactive 72
162
        rtems_timer_fire_when: active 72
163
        rtems_timer_reset: inactive 47
164
        rtems_timer_reset: active 51
165
        rtems_timer_cancel: inactive 25
166
        rtems_timer_cancel: active 28
167
 
168
        Semaphore Manager
169
 
170
        rtems_semaphore_create 59
171
        rtems_semaphore_ident 438
172
        rtems_semaphore_delete 57
173
        rtems_semaphore_obtain: available 31
174
        rtems_semaphore_obtain: not available -- NO_WAIT 31
175
        rtems_semaphore_obtain: not available -- caller blocks 108
176
        rtems_semaphore_release: no waiting tasks 40
177
        rtems_semaphore_release: task readied -- returns to caller 56
178
        rtems_semaphore_release: task readied -- preempts caller 83
179
 
180
        Message Queue Manager
181
 
182
        rtems_message_queue_create 241
183
        rtems_message_queue_ident 379
184
        rtems_message_queue_delete 75
185
        rtems_message_queue_send: no waiting tasks 72
186
        rtems_message_queue_send: task readied -- returns to caller 72
187
        rtems_message_queue_send: task readied -- preempts caller 99
188
        rtems_message_queue_urgent: no waiting tasks 72
189
        rtems_message_queue_urgent: task readied -- returns to caller 72
190
        rtems_message_queue_urgent: task readied -- preempts caller 99
191
        rtems_message_queue_broadcast: no waiting tasks 43
192
        rtems_message_queue_broadcast: task readied -- returns to caller 82
193
        rtems_message_queue_broadcast: task readied -- preempts caller 109
194
        rtems_message_queue_receive: available 52
195
        rtems_message_queue_receive: not available -- NO_WAIT 34
196
        rtems_message_queue_receive: not available -- caller blocks 111
197
        rtems_message_queue_flush: no messages flushed 25
198
        rtems_message_queue_flush: messages flushed 34
199
 
200
        Event Manager
201
 
202
        rtems_event_send: no task readied 22
203
        rtems_event_send: task readied -- returns to caller 50
204
        rtems_event_send: task readied -- preempts caller 80
205
        rtems_event_receive: obtain current events -1
206
        rtems_event_receive: available 26
207
        rtems_event_receive: not available -- NO_WAIT 22
208
        rtems_event_receive: not available -- caller blocks 89
209
 
210
        Signal Manager
211
 
212
        rtems_signal_catch 16
213
        rtems_signal_send: returns to caller 32
214
        rtems_signal_send: signal to self 51
215
        exit ASR overhead: returns to calling task 42
216
        exit ASR overhead: returns to preempting task 58
217
 
218
        Partition Manager
219
 
220
        rtems_partition_create 74
221
        rtems_partition_ident 379
222
        rtems_partition_delete 40
223
        rtems_partition_get_buffer: available 29
224
        rtems_partition_get_buffer: not available 27
225
        rtems_partition_return_buffer 34
226
 
227
        Region Manager
228
 
229
        rtems_region_create 63
230
        rtems_region_ident 388
231
        rtems_region_delete 40
232
        rtems_region_get_segment: available 43
233
        rtems_region_get_segment: not available -- NO_WAIT 40
234
        rtems_region_get_segment: not available -- caller blocks 120
235
        rtems_region_return_segment: no waiting tasks 48
236
        rtems_region_return_segment: task readied -- returns to caller 98
237
        rtems_region_return_segment: task readied -- preempts caller 125
238
 
239
        Dual-Ported Memory Manager
240
 
241
        rtems_port_create 38
242
        rtems_port_ident 380
243
        rtems_port_delete 40
244
        rtems_port_internal_to_external 22
245
        rtems_port_external_to_internal 22
246
 
247
        IO Manager
248
 
249
        rtems_io_initialize 4
250
        rtems_io_open 1
251
        rtems_io_close 1
252
        rtems_io_read 1
253
        rtems_io_write 1
254
        rtems_io_control 1
255
 
256
        Rate Monotonic Manager
257
 
258
        rtems_rate_monotonic_create 36
259
        rtems_rate_monotonic_ident 380
260
        rtems_rate_monotonic_cancel 34
261
        rtems_rate_monotonic_delete: active 51
262
        rtems_rate_monotonic_delete: inactive 47
263
        rtems_rate_monotonic_period: obtain status 27
264
        rtems_rate_monotonic_period: initiate period -- returns to caller 50
265
        rtems_rate_monotonic_period: conclude periods -- caller blocks 72
266
 
267
Network tests:
268
       TCP throughput (as measured by ttcp):
269
               Receive: 1081 kbytes/sec
270
               Transmit: 953 kbytes/sec
271
 
272
Porting
273
-------
274
This board support package is written for a 68360 system similar to that
275
described in chapter 9 of the Motorola MC68360 Quad Integrated Communication
276
Processor Users' Manual.  The salient features of this hardware are:
277
 
278
        25 MHz external clock
279
        DRAM address multiplexing provided by 68360
280
        8-bit 180nsec PROM to CS0*
281
        4 MBytes of 60 nsec parity DRAM (1Mx36) to RAS1*/CAS1*
282
        Console serial port on SMC1
283
        Ethernet interface on SCC1
284
 
285
The board support package has been tested with:
286
        A home-built 68360 board
287
        An ACE360A and an HSB board produced by:
288
                Atlas Computer Equipment
289
                703 Colina Lane
290
                Santa Barbara, CA 93103
291
        A 68040/68360 board (SBC360) produced by:
292
                Arnewsh Inc.
293
                P.O. Box 270352
294
                Fort Collins, CO 80527-0352

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.