source: rtems/c/src/lib/libbsp/m68k/gen68360/README @ fc56b90c

4.104.114.84.95
Last change on this file since fc56b90c was bd620fe, checked in by Joel Sherrill <joel.sherrill@…>, on 01/23/98 at 17:06:17

Added information about multilib problems.

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