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

4.104.114.84.95
Last change on this file since 457b6ae was 457b6ae, checked in by Joel Sherrill <joel.sherrill@…>, on Mar 6, 1996 at 10:01:11 PM

Generic 68360 BSP (gen360) submitted by: W. Eric Norum <eric@…>.
Contact information:

  1. Eric Norum Saskatchewan Accelerator Laboratory 107 North Road University of Saskatchewan Saskatoon, Saskatchewan, CANADA S7N 5C6
  • Property mode set to 100644
File size: 8.7 KB
Line 
1#
2#  $Id$
3#
4
5#
6# This package requires a version of GCC that has been modified
7# to support the `-m68360' argument.  I have submitted the required changes
8# to the GCC maintainers.  Should they choose to use a different argument
9# (-mcpu32 perhaps) this board support package will have to be changed.
10#
11
12# This program is free software; you can redistribute it and/or modify
13# it under the terms of the GNU General Public License as published by
14# the Free Software Foundation; either version 2 of the License, or
15# (at your option) any later version.
16#
17# This program is distributed in the hope that it will be useful,
18# but WITHOUT ANY WARRANTY; without even the implied warranty of
19# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
20# GNU General Public License for more details.
21#
22# You should have received a copy of the GNU General Public License
23# along with this program; if not, write to the Free Software
24# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
25#
26
27#
28# Please send any comments, improvements, or bug reports to:
29#       W. Eric Norum
30#       Saskatchewan Accelerator Laboratory
31#       107 North Road
32#       University of Saskatchewan
33#       Saskatoon, Saskatchewan, CANADA
34#       S7N 5C6
35# eric@skatter.usask.ca
36#
37
38BSP NAME:           gen68360
39BOARD:              home-built
40BUS:                none
41CPU FAMILY:         Motorola CPU32+
42COPROCESSORS:       none
43MODE:               not applicable
44
45DEBUG MONITOR:      none (Hardware provides BDM)
46
47PERIPHERALS
48===========
49TIMERS:             PIT, Watchdog, 4 general purpose, 16 RISC
50  RESOLUTION:       one microsecond
51SERIAL PORTS:       4 SCC, 2 SMC, 1 SPI
52REAL-TIME CLOCK:
53DMA:                Each serial port, 2 general purpose
54VIDEO:              none
55SCSI:               none
56NETWORKING:         Ethernet on SCC1.
57
58DRIVER INFORMATION
59==================
60CLOCK DRIVER:       Programmable Interval Timer
61IOSUPP DRIVER:      Serial Management Controller 1
62SHMSUPP:            none
63TIMER DRIVER:       Timer 1
64
65STDIO
66=====
67PORT:               SMC1
68ELECTRICAL:         EIA-232 (if board supplies level shifter)
69BAUD:               9600
70BITS PER CHARACTER: 8
71PARITY:             None
72STOP BITS:          1
73
74NOTES
75=====
76
77Board description
78-----------------
79clock rate:     25 MHz
80bus width:      8-bit PROM, 32-bit DRAM
81ROM:            To 1 MByte, 180 nsec (3 wait states), chip select 0
82RAM:            4 MByte DRAM SIMM, 60 nsec (0 wait states), parity
83
84Host System
85-----------
86NEXTSTEP 3.3 (Intel and Motorola), Solaris 2.5
87gcc-2.7.2
88binutils-2.6
89
90Verification
91------------
92Single processor tests:  Passed
93Multi-processort tests:  not applicable
94Timing tests:
95        Context Switch
96
97        context switch: self 10
98        context switch: to another task 11
99        context switch: no floating point contexts 40
100        fp context switch: restore 1st FP task 41
101        fp context switch: save initialized, restore initialized 14
102        fp context switch: save idle, restore initialized 14
103        fp context switch: save idle, restore idle 43
104
105        Task Manager
106
107        rtems_task_create 133
108        rtems_task_ident 351
109        rtems_task_start 77
110        rtems_task_restart: calling task 93
111        rtems_task_restart: suspended task -- returns to caller 90
112        rtems_task_restart: blocked task -- returns to caller 120
113        rtems_task_restart: ready task -- returns to caller 92
114        rtems_task_restart: suspended task -- preempts caller 121
115        rtems_task_restart: blocked task -- preempts caller 143
116        rtems_task_restart: ready task -- preempts caller 138
117        rtems_task_delete: calling task 158
118        rtems_task_delete: suspended task 129
119        rtems_task_delete: blocked task 134
120        rtems_task_delete: ready task 136
121        rtems_task_suspend: calling task 71
122        rtems_task_suspend: returns to caller 47
123        rtems_task_resume: task readied -- returns to caller 48
124        rtems_task_resume: task readied -- preempts caller 67
125        rtems_task_set_priority: obtain current priority 36
126        rtems_task_set_priority: returns to caller 65
127        rtems_task_set_priority: preempts caller 102
128        rtems_task_mode: obtain current mode 13
129        rtems_task_mode: no reschedule 15
130        rtems_task_mode: reschedule -- returns to caller 22
131        rtems_task_mode: reschedule -- preempts caller 61
132        rtems_task_get_note 38
133        rtems_task_set_note 37
134        rtems_task_wake_after: yield -- returns to caller 22
135        rtems_task_wake_after: yields -- preempts caller 56
136        rtems_task_wake_when 110
137
138        Interrupt Manager
139
140        interrupt entry overhead: returns to nested interrupt 8
141        interrupt entry overhead: returns to interrupted task 8
142        interrupt entry overhead: returns to preempting task 8
143        interrupt exit overhead: returns to nested interrupt 7
144        interrupt exit overhead: returns to interrupted task 8
145        interrupt exit overhead: returns to preempting task 52
146
147        Clock Manager
148
149        rtems_clock_set 82
150        rtems_clock_get 2
151        rtems_clock_tick 15
152
153        Timer Manager
154
155        rtems_timer_create 33
156        rtems_timer_ident 343
157        rtems_timer_delete: inactive 47
158        rtems_timer_delete: active 50
159        rtems_timer_fire_after: inactive 59
160        rtems_timer_fire_after: active 63
161        rtems_timer_fire_when: inactive 83
162        rtems_timer_fire_when: active 83
163        rtems_timer_reset: inactive 55
164        rtems_timer_reset: active 58
165        rtems_timer_cancel: inactive 35
166        rtems_timer_cancel: active 38
167
168        Semaphore Manager
169
170        rtems_semaphore_create 62
171        rtems_semaphore_ident 368
172        rtems_semaphore_delete 61
173        rtems_semaphore_obtain: available 42
174        rtems_semaphore_obtain: not available -- NO_WAIT 42
175        rtems_semaphore_obtain: not available -- caller blocks 105
176        rtems_semaphore_release: no waiting tasks 46
177        rtems_semaphore_release: task readied -- returns to caller 64
178        rtems_semaphore_release: task readied -- preempts caller 84
179
180        Message Queue Manager
181
182        rtems_message_queue_create 240
183        rtems_message_queue_ident 342
184        rtems_message_queue_delete 79
185        rtems_message_queue_send: no waiting tasks 93
186        rtems_message_queue_send: task readied -- returns to caller 96
187        rtems_message_queue_send: task readied -- preempts caller 116
188        rtems_message_queue_urgent: no waiting tasks 93
189        rtems_message_queue_urgent: task readied -- returns to caller 97
190        rtems_message_queue_urgent: task readied -- preempts caller 117
191        rtems_message_queue_broadcast: no waiting tasks 54
192        rtems_message_queue_broadcast: task readied -- returns to caller 106
193        rtems_message_queue_broadcast: task readied -- preempts caller 126
194        rtems_message_queue_receive: available 79
195        rtems_message_queue_receive: not available -- NO_WAIT 48
196        rtems_message_queue_receive: not available -- caller blocks 111
197        rtems_message_queue_flush: no messages flushed 35
198        rtems_message_queue_flush: messages flushed 44
199
200        Event Manager
201
202        rtems_event_send: no task readied 30
203        rtems_event_send: task readied -- returns to caller 59
204        rtems_event_send: task readied -- preempts caller 81
205        rtems_event_receive: obtain current events 1
206        rtems_event_receive: available 34
207        rtems_event_receive: not available -- NO_WAIT 31
208        rtems_event_receive: not available -- caller blocks 84
209
210        Signal Manager
211
212        rtems_signal_catch 24
213        rtems_signal_send: returns to caller 42
214        rtems_signal_send: signal to self 47
215        exit ASR overhead: returns to calling task 33
216        exit ASR overhead: returns to preempting task 58
217
218        Partition Manager
219
220        rtems_partition_create 78
221        rtems_partition_ident 342
222        rtems_partition_delete 46
223        rtems_partition_get_buffer: available 40
224        rtems_partition_get_buffer: not available 39
225        rtems_partition_return_buffer 47
226
227        Region Manager
228
229        rtems_region_create 65
230        rtems_region_ident 349
231        rtems_region_delete 45
232        rtems_region_get_segment: available 55
233        rtems_region_get_segment: not available -- NO_WAIT 52
234        rtems_region_get_segment: not available -- caller blocks 119
235        rtems_region_return_segment: no waiting tasks 57
236        rtems_region_return_segment: task readied -- returns to caller 106
237        rtems_region_return_segment: task readied -- preempts caller 127
238
239        Dual-Ported Memory Manager
240
241        rtems_port_create 40
242        rtems_port_ident 342
243        rtems_port_delete 44
244        rtems_port_internal_to_external 32
245        rtems_port_external_to_internal 32
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 39
259        rtems_rate_monotonic_ident 343
260        rtems_rate_monotonic_cancel 43
261        rtems_rate_monotonic_delete: active 54
262        rtems_rate_monotonic_delete: inactive 52
263        rtems_rate_monotonic_period: obtain status 37
264        rtems_rate_monotonic_period: initiate period -- returns to caller 58
265        rtems_rate_monotonic_period: conclude periods -- caller blocks 75
266
267Porting
268-------
269This board support package is written for a 68360 system similar to that
270described in chapter 9 of the Motorola MC68360 Quad Integrated Communication
271Processor Users' Manual.  The salient details of this hardware are:
272
273        25 MHz external clock
274        DRAM address multiplexing provided by 68360
275        8-bit 180nsec PROM to CS0*
276        4 MBytes of 60 nsec parity DRAM (1Mx36) to RAS1*/CAS1*
277        Console serial port on SMC1
278
279The board support package has been tested with a home-built board and with an
280ACE360A board produced by:
281        Atlas Computer Equipment
282        703 Colina Lane
283        Santa Barbara, CA 93103
Note: See TracBrowser for help on using the repository browser.