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

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [rtos/] [rtems/] [c/] [src/] [lib/] [libbsp/] [powerpc/] [eth_comm/] [network/] [README] - Blame information for rev 348

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 30 unneback
#
2
#  $Id: README,v 1.2 2001-09-27 12:00:35 chris 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
#       Saskatchewan Accelerator Laboratory
13
#       107 North Road
14
#       University of Saskatchewan
15
#       Saskatoon, Saskatchewan, CANADA
16
#       S7N 5C6
17
# eric@skatter.usask.ca
18
#
19
 
20
#
21
# This board support package works with several different versions of
22
# MC68360 systems.  The choice of hardware is made at the final link-edit
23
# phase by setting the Makefile CLAGS_LD definition appropriately.
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.
29
#       - If the preprocessor symbol M68360_ATLAS_HSB is defined,
30
#         the BSP is compiled for an Atlas HSB card.
31
#       - Otherwise, the BSP is compiled for a generic 68360 system
32
#         as described in Chapter 9 of the MC68360 User's Manual.
33
#
34
# Decisions to be made a link-edit time are:
35
#     - The size of the memory allocator heap.  The default value is
36
#       64 kbytes.  If the network package is used the heap
37
#       should be at least 256 kbytes.  If your network is large, or
38
#       busy, the heap should be even larger.
39
#       To choose a heap size of 256 kbytes,
40
#       CFLAGS_LD += -Wl,--defsym -Wl,HeapSize=0x40000
41
 
42
BSP NAME:           gen68360 or gen68360_040
43
BOARD:              Generic 68360 as described in Motorola MC68360 User's Manual
44
BOARD:              Atlas Computer Equipment Inc. High Speed Bridge (HSB)
45
BOARD:              Atlas Computer Equipment Inc. Advanced Communication Engine (ACE)
46
BOARD:              Arnewsh SBC360 68040/68360 card
47
BUS:                none
48
CPU FAMILY:         Motorola CPU32+, Motorola 68040
49
COPROCESSORS:       none
50
MODE:               not applicable
51
 
52
DEBUG MONITOR:      none (Hardware provides BDM)
53
 
54
PERIPHERALS
55
===========
56
TIMERS:             PIT, Watchdog, 4 general purpose, 16 RISC
57
  RESOLUTION:       one microsecond
58
SERIAL PORTS:       4 SCC, 2 SMC, 1 SPI
59
REAL-TIME CLOCK:
60
DMA:                Each serial port, 2 general purpose
61
VIDEO:              none
62
SCSI:               none
63
NETWORKING:         Ethernet on SCC1.
64
 
65
DRIVER INFORMATION
66
==================
67
CLOCK DRIVER:       Programmable Interval Timer
68
IOSUPP DRIVER:      Serial Management Controller 1
69
SHMSUPP:            none
70
TIMER DRIVER:       Timer 1
71
 
72
STDIO
73
=====
74
PORT:               SMC1
75
ELECTRICAL:         EIA-232 (if board supplies level shifter)
76
BAUD:               9600
77
BITS PER CHARACTER: 8
78
PARITY:             None
79
STOP BITS:          1
80
 
81
NOTES
82
=====
83
 
84
Board description
85
-----------------
86
clock rate:     25 MHz
87
bus width:      8-bit PROM, 32-bit DRAM
88
ROM:            To 1 MByte, 180 nsec (3 wait states), chip select 0
89
RAM:            1 to 16 MByte DRAM SIMM, 60 nsec (0 wait states), parity or nonparity
90
 
91
Host System
92
-----------
93
OPENSTEP 4.2 (Intel and Motorola), Solaris 2.5, Linux 2.0.29
94
 
95
Verification (Standalone 68360)
96
-------------------------------
97
Single processor tests:  Passed
98
Multi-processort tests:  not applicable
99
Timing tests:
100
        Context Switch
101
 
102
        context switch: self 10
103
        context switch: to another task 11
104
        context switch: no floating point contexts 40
105
        fp context switch: restore 1st FP task 41
106
        fp context switch: save initialized, restore initialized 14
107
        fp context switch: save idle, restore initialized 14
108
        fp context switch: save idle, restore idle 43
109
 
110
        Task Manager
111
 
112
        rtems_task_create 133
113
        rtems_task_ident 351
114
        rtems_task_start 77
115
        rtems_task_restart: calling task 93
116
        rtems_task_restart: suspended task -- returns to caller 90
117
        rtems_task_restart: blocked task -- returns to caller 120
118
        rtems_task_restart: ready task -- returns to caller 92
119
        rtems_task_restart: suspended task -- preempts caller 121
120
        rtems_task_restart: blocked task -- preempts caller 143
121
        rtems_task_restart: ready task -- preempts caller 138
122
        rtems_task_delete: calling task 158
123
        rtems_task_delete: suspended task 129
124
        rtems_task_delete: blocked task 134
125
        rtems_task_delete: ready task 136
126
        rtems_task_suspend: calling task 71
127
        rtems_task_suspend: returns to caller 47
128
        rtems_task_resume: task readied -- returns to caller 48
129
        rtems_task_resume: task readied -- preempts caller 67
130
        rtems_task_set_priority: obtain current priority 36
131
        rtems_task_set_priority: returns to caller 65
132
        rtems_task_set_priority: preempts caller 102
133
        rtems_task_mode: obtain current mode 13
134
        rtems_task_mode: no reschedule 15
135
        rtems_task_mode: reschedule -- returns to caller 22
136
        rtems_task_mode: reschedule -- preempts caller 61
137
        rtems_task_get_note 38
138
        rtems_task_set_note 37
139
        rtems_task_wake_after: yield -- returns to caller 22
140
        rtems_task_wake_after: yields -- preempts caller 56
141
        rtems_task_wake_when 110
142
 
143
        Interrupt Manager
144
 
145
        interrupt entry overhead: returns to nested interrupt 8
146
        interrupt entry overhead: returns to interrupted task 8
147
        interrupt entry overhead: returns to preempting task 8
148
        interrupt exit overhead: returns to nested interrupt 7
149
        interrupt exit overhead: returns to interrupted task 8
150
        interrupt exit overhead: returns to preempting task 52
151
 
152
        Clock Manager
153
 
154
        rtems_clock_set 82
155
        rtems_clock_get 2
156
        rtems_clock_tick 15
157
 
158
        Timer Manager
159
 
160
        rtems_timer_create 33
161
        rtems_timer_ident 343
162
        rtems_timer_delete: inactive 47
163
        rtems_timer_delete: active 50
164
        rtems_timer_fire_after: inactive 59
165
        rtems_timer_fire_after: active 63
166
        rtems_timer_fire_when: inactive 83
167
        rtems_timer_fire_when: active 83
168
        rtems_timer_reset: inactive 55
169
        rtems_timer_reset: active 58
170
        rtems_timer_cancel: inactive 35
171
        rtems_timer_cancel: active 38
172
 
173
        Semaphore Manager
174
 
175
        rtems_semaphore_create 62
176
        rtems_semaphore_ident 368
177
        rtems_semaphore_delete 61
178
        rtems_semaphore_obtain: available 42
179
        rtems_semaphore_obtain: not available -- NO_WAIT 42
180
        rtems_semaphore_obtain: not available -- caller blocks 105
181
        rtems_semaphore_release: no waiting tasks 46
182
        rtems_semaphore_release: task readied -- returns to caller 64
183
        rtems_semaphore_release: task readied -- preempts caller 84
184
 
185
        Message Queue Manager
186
 
187
        rtems_message_queue_create 240
188
        rtems_message_queue_ident 342
189
        rtems_message_queue_delete 79
190
        rtems_message_queue_send: no waiting tasks 93
191
        rtems_message_queue_send: task readied -- returns to caller 96
192
        rtems_message_queue_send: task readied -- preempts caller 116
193
        rtems_message_queue_urgent: no waiting tasks 93
194
        rtems_message_queue_urgent: task readied -- returns to caller 97
195
        rtems_message_queue_urgent: task readied -- preempts caller 117
196
        rtems_message_queue_broadcast: no waiting tasks 54
197
        rtems_message_queue_broadcast: task readied -- returns to caller 106
198
        rtems_message_queue_broadcast: task readied -- preempts caller 126
199
        rtems_message_queue_receive: available 79
200
        rtems_message_queue_receive: not available -- NO_WAIT 48
201
        rtems_message_queue_receive: not available -- caller blocks 111
202
        rtems_message_queue_flush: no messages flushed 35
203
        rtems_message_queue_flush: messages flushed 44
204
 
205
        Event Manager
206
 
207
        rtems_event_send: no task readied 30
208
        rtems_event_send: task readied -- returns to caller 59
209
        rtems_event_send: task readied -- preempts caller 81
210
        rtems_event_receive: obtain current events 1
211
        rtems_event_receive: available 34
212
        rtems_event_receive: not available -- NO_WAIT 31
213
        rtems_event_receive: not available -- caller blocks 84
214
 
215
        Signal Manager
216
 
217
        rtems_signal_catch 24
218
        rtems_signal_send: returns to caller 42
219
        rtems_signal_send: signal to self 47
220
        exit ASR overhead: returns to calling task 33
221
        exit ASR overhead: returns to preempting task 58
222
 
223
        Partition Manager
224
 
225
        rtems_partition_create 78
226
        rtems_partition_ident 342
227
        rtems_partition_delete 46
228
        rtems_partition_get_buffer: available 40
229
        rtems_partition_get_buffer: not available 39
230
        rtems_partition_return_buffer 47
231
 
232
        Region Manager
233
 
234
        rtems_region_create 65
235
        rtems_region_ident 349
236
        rtems_region_delete 45
237
        rtems_region_get_segment: available 55
238
        rtems_region_get_segment: not available -- NO_WAIT 52
239
        rtems_region_get_segment: not available -- caller blocks 119
240
        rtems_region_return_segment: no waiting tasks 57
241
        rtems_region_return_segment: task readied -- returns to caller 106
242
        rtems_region_return_segment: task readied -- preempts caller 127
243
 
244
        Dual-Ported Memory Manager
245
 
246
        rtems_port_create 40
247
        rtems_port_ident 342
248
        rtems_port_delete 44
249
        rtems_port_internal_to_external 32
250
        rtems_port_external_to_internal 32
251
 
252
        IO Manager
253
 
254
        rtems_io_initialize 4
255
        rtems_io_open 1
256
        rtems_io_close 1
257
        rtems_io_read 1
258
        rtems_io_write 1
259
        rtems_io_control 1
260
 
261
        Rate Monotonic Manager
262
 
263
        rtems_rate_monotonic_create 39
264
        rtems_rate_monotonic_ident 343
265
        rtems_rate_monotonic_cancel 43
266
        rtems_rate_monotonic_delete: active 54
267
        rtems_rate_monotonic_delete: inactive 52
268
        rtems_rate_monotonic_period: obtain status 37
269
        rtems_rate_monotonic_period: initiate period -- returns to caller 58
270
        rtems_rate_monotonic_period: conclude periods -- caller blocks 75
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.