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

4.104.114.84.95
Last change on this file since b1b5a7cb was 996a9cb4, checked in by Joel Sherrill <joel.sherrill@…>, on 05/01/96 at 15:25:33

Updates from Eric Norum.

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