source: rtems/bsps/m68k/gen68360/README @ b82a4b4

5
Last change on this file since b82a4b4 was eb36d11, checked in by Sebastian Huber <sebastian.huber@…>, on 04/25/18 at 13:06:08

bsps: Move documentation, etc. files to bsps

This patch is a part of the BSP source reorganization.

Update #3285.

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