source: rtems/c/src/lib/libbsp/m68k/uC5282/README @ 9d5993b

4.104.114.84.95
Last change on this file since 9d5993b was 9d5993b, checked in by Eric Norum <WENorum@…>, on 04/26/05 at 18:29:03

Fix typos.

  • Property mode set to 100644
File size: 17.3 KB
Line 
1#
2#  $Id$
3#
4
5Description: Arcturus Networks uC DIMM ColdFire 5282
6============
7 CPU: MCF5282, 64MHz
8 RAM: 16M
9SRAM: 64k (BSP places FEC buffer descriptors here)
10 ROM: 4M
11
12This is a credit-card sized board in a DIMM format. It is part of a family
13which includes Dragonball and Coldfire CPUs, with a standardized DIMM-based bus.
14
15ACKNOWLEDGEMENTS:
16=================
17This BSP is based on the work of:
18    D. Peter Siddons
19    Till Straumann
20    Brett Swimley
21    Jay Monkman
22
23TODO:
24=====
25Make a clean exit routine to return to Arcturus monitor
26
27The bsp relies on the Arcturus monitor to set up DRAM and all chip selects.
28This seems OK to me, but others may find it lame.....
29
30I/O pin restrictions make simultatenous operation
31of I2C, CAN and UART2 impossible.
32 
33BSP NAME:           uC5282
34BOARD:              Arcturus Netrworks uCdimm 5282
35BUS:                Arcturus DIMM bus, A24/D16, plus peripherals.
36CPU FAMILY:         ColdFire 5282
37CPU:                MCF5282
38COPROCESSORS:       N/A
39
40DEBUG MONITOR:      Arcturus bootloader
41
42PERIPHERALS
43===========
44TIMERS:             Four PIT (RTEMS clock is PIT3), Four Timers
45  RESOLUTION:       1 microsecond
46SERIAL PORTS:       Internal UART 0, 1 and 2
47REAL-TIME CLOCK:    none
48DMA:                none
49VIDEO:              none
50SCSI:               none
51NETWORKING:         Internal 10/100Mbs FEC, locked at 100 Mbs, full-duplex
52
53DRIVER INFORMATION
54==================
55CLOCK DRIVER:       PIT3
56IOSUPP DRIVER:      none
57SHMSUPP:            none
58TIMER DRIVER:       TIMER3
59TTY DRIVER:         UART0, 1 and 2
60
61STDIO
62=====
63PORT:               UART0 Terminal
64ELECTRICAL:         RS-232
65BAUD:               9600
66BITS PER CHARACTER: 8
67PARITY:             None
68STOP BITS:          1
69
70Downloading the image to the board.
71===================================
72
73The bootable image is generated by the make-exe target in the bsp makefile. It
74generates a simple stripped binary file which is downloaded over the ethernet
75port into RAM then executed or programmed into flash memory.
76
771) Power up the uC5282 board. A dump of some memory map is produced
78   followed by a prompt.
79
802) type 'tftp<CR>'
81
823) Run 'tftp' on your host machine:
83            tftp> binary
84            tftp> connect www.xxx.yyy.zzz      (Your ucDIMM's address)
85            tftp> put someFile.exe
86
874) When the file has downloaded press the <ESC> key to terminate
88   the uCDIMM tftp command.
89
905) Type 'goram<CR>' to start the downloaded program, or type 'program<CR>'
91to burn the code onto the uCDIMM flash.
92
93EPICS Bootstrap Information
94===========================
95The EPICS startup code uses the following environment variables.  If an
96optional environment variable is missing the value in parentheses will be used.
97All Internet addresses must be given in 'dotted-decimal' format.
98HWADDR0    - Ethernet hardware address.
99IPADDR0    - Internet address (192.168.0.2).
100NETMASK    - Local network address mask (255.255.252.0).
101HOSTNAME   - Internet host name (iocNobody).
102GATEWAY    - Internet address of gateway machine (NULL).
103SERVER     - Internet address of NFS server (192.168.0.1).
104NAMESERVER - Internet address of DNS server (SERVER).
105DOMAIN     - DNS domain name (precompiled value from CONFIG_SITE).
106NTPSERVER  - Internet address of NTP server (SERVER).
107BOOTFILE   - Path to executable (epics/iocNobody/bin/RTEMS-uC5282/myApp.boot).
108CMDLINE    - Path to startup script (epics/iocBoot/iocNobody/st.cmd).
109NFSMOUNT   - NFS information: www.xxx.yyy.zzz:/remote/path /localpath
110             A : can also be used to separate the remote and local paths.
111             If NFSMOUNT is not set, SERVER will be used as the NFS server,
112             and the remote and local paths will be taken from the first
113             component of CMDLINE.  If CMDLINE does not begin with a /
114             then '/tftpboot' is prepended to the remote path.  This allows
115             a remote TFTP and NFS server to be handled transaparently.
116
117
118============================================================================
119
120      Memory map as set up by dBUG bootstrap and BSP initialization
121
122          +--------------------------------------------------+
1230000 0000 |       16 MByte SDRAM                             | 00FF FFFF
1240100 0000 |  ---------------------------------------------   |
125          |    Address space for future SDRAM expansion      |
126          .                                                  .
127          .                                                  .
128          .                                                  .
129          |                                                  | 0FFF FFFF
130          +--------------------------------------------------+
1311000 0000 | External 4 MByte flash memory                    |
132          .                                                  .
133          .                                                  .
134          .                                                  .
135          |                                                  | 1FFF FFFF
136          +--------------------------------------------------+
1372000 0000 | 64 kByte on-chip SRAM (RAMBAR)                   |
138          .                                                  .
139          .                                                  .
140          .                                                  .
141          |                                                  | 2FFF FFFF
142          +--------------------------------------------------+
1433000 0000 |  CS1* (devLib 'VME' A24 space)                   | 30FF FFFF
1443100 0000 |  CS2* (devLib 'VME' A32 and A16 space)           | 31FF FFFF
145          .                                                  .
146          .                                                  .
147          .                                                  .
148          |                                                 x| 3FFF FFFF
149          +--------------------------------------------------+
1504000 0000 | Internal peripheral system (IPSBAR)              |
151          .                                                  .
1524400 0000 | Backdoor access to on-chip flash                 |
153          .                                                  .
154          .                                                  .
155          .                                                  .
156          |                                                  | 4FFF FFFF
157          +--------------------------------------------------+
158          .                                                  .
159          .                                                  .
160          .                                                  .
161          +--------------------------------------------------+
162f000 0000 | 512 kByte on-chip flash (FLASHBAR)               |
163          .                                                  .
164          .                                                  .
165          .                                                  .
166          |                                                  | fFFF FFFF
167          +--------------------------------------------------+
168
169x - Final 16-bit location of CS2* space is reserved for FPGA interrupt status.
170
171============================================================================
172
173      Interrupt map
174
175+-----+-----------------------------------------------------------------------+
176|     |                                PRIORITY                               |
177+-----+--------+--------+--------+--------+--------+--------+--------+--------+
178|LEVEL|    7   |    6   |    5   |    4   |    3   |    2   |    1   |    0   |
179+-----+--------+--------+--------+--------+--------+--------+--------+--------+
180|  7  |        |        |        |        |        |        |        |        |
181+-----+--------+--------+--------+--------+--------+--------+--------+--------+
182|  6  |        |        |        |        |        |        |        |        |
183+-----+--------+--------+--------+--------+--------+--------+--------+--------+
184|  5  |        |        |        |        |        |        |        |        |
185+-----+--------+--------+--------+--------+--------+--------+--------+--------+
186|  4  | FEC RX | FEC TX |        |        |        |        |        |   PIT  |
187+-----+--------+--------+--------+--------+--------+--------+--------+--------+
188|  3  | UART 0 | UART 1 | UART 2 |        |        |        |        |        |
189+-----+--------+--------+--------+--------+--------+--------+--------+--------+
190|  2  |        |        |        |        |        |        |        |        |
191+-----+--------+--------+--------+--------+--------+--------+--------+--------+
192|  1  |        |        |        |        |        |        |        |        |
193+-----+--------+--------+--------+--------+--------+--------+--------+--------+
194
195============================================================================
196
197TIMING TESTS  2005-01-28
198========================
199
200*** TIME TEST 1 ***
201rtems_semaphore_create 19
202rtems_semaphore_delete 21
203rtems_semaphore_obtain: available 4
204rtems_semaphore_obtain: not available -- NO_WAIT 5
205rtems_semaphore_release: no waiting tasks 12
206*** END OF TEST 1 ***
207
208*** TIME TEST 2 ***
209rtems_semaphore_obtain: not available -- caller blocks 34
210*** END OF TEST 2 ***
211
212*** TIME TEST 3 ***
213rtems_semaphore_release: task readied -- preempts caller 27
214*** END OF TEST 3 ***
215
216*** TIME TEST 4 ***
217rtems_task_restart: blocked task -- preempts caller 54
218rtems_task_restart: ready task -- preempts caller 52
219rtems_semaphore_release: task readied -- returns to caller 18
220rtems_task_create 87
221rtems_task_start 24
222rtems_task_restart: suspended task -- returns to caller 27
223rtems_task_delete: suspended task 66
224rtems_task_restart: ready task -- returns to caller 28
225rtems_task_restart: blocked task -- returns to caller 38
226rtems_task_delete: blocked task 69
227*** END OF TEST 4 ***
228
229*** TIME TEST 5 ***
230rtems_task_suspend: calling task 23
231rtems_task_resume: task readied -- preempts caller 22
232*** END OF TEST 5 ***
233
234*** TIME TEST 6 ***
235rtems_task_restart: calling task 30
236rtems_task_suspend: returns to caller 9
237rtems_task_resume: task readied -- returns to caller 12
238rtems_task_delete: ready task 69
239*** END OF TEST 6 ***
240
241*** TIME TEST 7 ***
242rtems_task_restart: suspended task -- preempts caller 44
243*** END OF TEST 7 ***
244
245*** TIME TEST 8 ***
246rtems_task_set_priority: obtain current priority 6
247rtems_task_set_priority: returns to caller 17
248rtems_task_mode: obtain current mode 3
249rtems_task_mode: no reschedule 3
250rtems_task_mode: reschedule -- returns to caller 8
251rtems_task_mode: reschedule -- preempts caller 22
252rtems_task_set_note 6
253rtems_task_get_note 6
254rtems_clock_set 22
255rtems_clock_get 1
256*** END OF TEST 8 ***
257
258*** TIME TEST 9 ***
259rtems_message_queue_create 55
260rtems_message_queue_send: no waiting tasks 20
261rtems_message_queue_urgent: no waiting tasks 21
262rtems_message_queue_receive: available 20
263rtems_message_queue_flush: no messages flushed 8
264rtems_message_queue_flush: messages flushed 12
265rtems_message_queue_delete 29
266*** END OF TEST 9 ***
267
268*** TIME TEST 10 ***
269rtems_message_queue_receive: not available -- NO_WAIT 10
270rtems_message_queue_receive: not available -- caller blocks 38
271*** END OF TEST 10 ***
272
273*** TIME TEST 11 ***
274rtems_message_queue_send: task readied -- preempts caller 37
275*** END OF TEST 11 ***
276
277*** TIME TEST 12 ***
278rtems_message_queue_send: task readied -- returns to caller 23
279*** END OF TEST 12 ***
280
281*** TIME TEST 13 ***
282rtems_message_queue_urgent: task readied -- preempts caller 35
283*** END OF TEST 13 ***
284
285*** TIME TEST 14 ***
286rtems_message_queue_urgent: task readied -- returns to caller 24
287*** END OF TEST 14 ***
288
289*** TIME TEST 15 ***
290rtems_event_receive: obtain current events 0
291rtems_event_receive: not available -- NO_WAIT 5
292rtems_event_receive: not available -- caller blocks 28
293rtems_event_send: no task readied 5
294rtems_event_receive: available 9
295rtems_event_send: task readied -- returns to caller 16
296*** END OF TEST 15 ***
297
298*** TIME TEST 16 ***
299rtems_event_send: task readied -- preempts caller 27
300*** END OF TEST 16 ***
301
302*** TIME TEST 17 ***
303rtems_task_set_priority: preempts caller 39
304*** END OF TEST 17 ***
305
306*** TIME TEST 18 ***
307rtems_task_delete: calling task 83
308*** END OF TEST 18 ***
309
310*** TIME TEST 19 ***
311rtems_signal_catch 5
312rtems_signal_send: returns to caller 12
313rtems_signal_send: signal to self 20
314exit ASR overhead: returns to calling task 15
315exit ASR overhead: returns to preempting task 18
316*** END OF TEST 19 ***
317
318*** TIME TEST 20 ***
319rtems_partition_create 20
320rtems_region_create 40
321rtems_partition_get_buffer: available 11
322rtems_partition_get_buffer: not available 7
323rtems_partition_return_buffer 12
324rtems_partition_delete 11
325rtems_region_get_segment: available 28
326rtems_region_get_segment: not available -- NO_WAIT 29
327rtems_region_return_segment: no waiting tasks 29
328rtems_region_get_segment: not available -- caller blocks 55
329rtems_region_return_segment: task readied -- preempts caller 72
330rtems_region_return_segment: task readied -- returns to caller 58
331rtems_region_delete 25
332rtems_io_initialize 1
333rtems_io_open 1
334rtems_io_close 1
335rtems_io_read 1
336rtems_io_write 1
337rtems_io_control 1
338*** END OF TEST 20 ***
339
340*** TIME TEST 21 ***
341rtems_task_ident 60
342rtems_message_queue_ident 60
343rtems_semaphore_ident 69
344rtems_partition_ident 59
345rtems_region_ident 60
346rtems_port_ident 59
347rtems_timer_ident 61
348rtems_rate_monotonic_ident 60
349*** END OF TEST 21 ***
350
351*** TIME TEST 22 ***
352rtems_message_queue_broadcast: task readied -- returns to caller 32
353rtems_message_queue_broadcast: no waiting tasks 14
354rtems_message_queue_broadcast: task readied -- preempts caller 39
355*** END OF TEST 22 ***
356
357*** TIME TEST 23 ***
358rtems_timer_create 8
359rtems_timer_fire_after: inactive 12
360rtems_timer_fire_after: active 12
361rtems_timer_cancel: active 9
362rtems_timer_cancel: inactive 8
363rtems_timer_reset: inactive 14
364rtems_timer_reset: active 15
365rtems_timer_fire_when: inactive 21
366rtems_timer_fire_when: active 21
367rtems_timer_delete: active 12
368rtems_timer_delete: inactive 11
369rtems_task_wake_when 35
370*** END OF TEST 23 ***
371
372*** TIME TEST 24 ***
373rtems_task_wake_after: yield -- returns to caller 3
374rtems_task_wake_after: yields -- preempts caller 18
375*** END OF TEST 24 ***
376
377*** TIME TEST 25 ***
378rtems_clock_tick 7
379*** END OF TEST 25 ***
380
381*** TIME TEST 26 ***
382_ISR_Disable 1
383_ISR_Flash 0
384_ISR_Enable 0
385_Thread_Disable_dispatch 1
386_Thread_Enable_dispatch 3
387_Thread_Set_state 7
388_Thread_Disptach (NO FP) 16
389context switch: no floating point contexts 12
390context switch: self 2
391context switch: to another task 1
392fp context switch: restore 1st FP task 14
393fp context switch: save idle, restore initialized 3
394fp context switch: save idle, restore idle 13
395fp context switch: save initialized, restore initialized 2
396_Thread_Resume 7
397_Thread_Unblock 6
398_Thread_Ready 5
399_Thread_Get 1
400_Semaphore_Get 1
401_Thread_Get: invalid id 0
402*** END OF TEST 26 ***
403
404*** TIME TEST 27 ***
405interrupt entry overhead: returns to interrupted task 3
406interrupt exit overhead: returns to interrupted task 3
407interrupt entry overhead: returns to nested interrupt 2
408interrupt exit overhead: returns to nested interrupt 2
409interrupt entry overhead: returns to preempting task 4
410interrupt exit overhead: returns to preempting task 20
411*** END OF TEST 27 ***
412
413*** TIME TEST 28 ***
414rtems_port_create 12
415rtems_port_external_to_internal 5
416rtems_port_internal_to_external 6
417rtems_port_delete 12
418*** END OF TEST 28 ***
419
420*** TIME TEST 29 ***
421rtems_rate_monotonic_create 13
422rtems_rate_monotonic_period: initiate period -- returns to caller 20
423rtems_rate_monotonic_period: obtain status 10
424rtems_rate_monotonic_cancel 13
425rtems_rate_monotonic_delete: inactive 17
426rtems_rate_monotonic_delete: active 16
427rtems_rate_monotonic_period: conclude periods -- caller blocks 24
428*** END OF TEST 29 ***
429
430*** TIME CHECKER ***
431Units may not be in microseconds for this test!!!
4320 100000
433Total time = 0
434Average time = 0
435NULL timer stopped at 0
436LOOP (1000) timer stopped at 188
437LOOP (10000) timer stopped at 1875
438LOOP (50000) timer stopped at 9375
439LOOP (100000) timer stopped at 18750
440*** END OF TIME CHECKER ***
441
442*** TIME TEST OVERHEAD ***
443rtems_initialize_executive 0
444rtems_shutdown_executive 0
445rtems_task_create 0
446rtems_task_ident 0
447rtems_task_start 0
448rtems_task_restart 0
449rtems_task_delete 0
450rtems_task_suspend 0
451rtems_task_resume 0
452rtems_task_set_priority 0
453rtems_task_mode 0
454rtems_task_get_note 0
455rtems_task_set_note 0
456rtems_task_wake_when 1
457rtems_task_wake_after 0
458rtems_interrupt_catch 0
459rtems_clock_get 1
460rtems_clock_set 1
461rtems_clock_tick 0
462rtems_timer_create 0
463rtems_timer_delete 0
464rtems_timer_ident 0
465rtems_timer_fire_after 1
466rtems_timer_fire_when 1
467rtems_timer_reset 0
468rtems_timer_cancel 0
469rtems_semaphore_create 0
470rtems_semaphore_delete 0
471rtems_semaphore_ident 0
472rtems_semaphore_obtain 0
473rtems_semaphore_release 0
474rtems_message_queue_create 0
475rtems_message_queue_ident 0
476rtems_message_queue_delete 0
477rtems_message_queue_send 0
478rtems_message_queue_urgent 0
479rtems_message_queue_broadcast 0
480rtems_message_queue_receive 0
481rtems_message_queue_flush 0
482rtems_event_send 0
483rtems_event_receive 0
484rtems_signal_catch 0
485rtems_signal_send 0
486rtems_partition_create 0
487rtems_partition_ident 0
488rtems_partition_delete 0
489rtems_partition_get_buffer 0
490rtems_partition_return_buffer 0
491rtems_region_create 0
492rtems_region_ident 0
493rtems_region_delete 0
494rtems_region_get_segment 0
495rtems_region_return_segment 0
496rtems_port_create 0
497rtems_port_ident 0
498rtems_port_delete 0
499rtems_port_external_to_internal 0
500rtems_port_internal_to_external 0
501rtems_io_initialize 0
502rtems_io_open 0
503rtems_io_close 0
504rtems_io_read 0
505rtems_io_write 0
506rtems_io_control 0
507rtems_fatal_error_occurred 0
508rtems_rate_monotonic_create 0
509rtems_rate_monotonic_ident 0
510rtems_rate_monotonic_delete 0
511rtems_rate_monotonic_cancel 0
512rtems_rate_monotonic_period 0
513rtems_multiprocessing_announce 0
514*** END OF TIME OVERHEAD ***
Note: See TracBrowser for help on using the repository browser.