source: rtems/c/src/lib/libbsp/m68k/uC5282/README @ 46fa1f64

4.104.114.84.95
Last change on this file since 46fa1f64 was 46fa1f64, checked in by Eric Norum <WENorum@…>, on 11/11/05 at 15:48:24

Clean up UART2 pin setup. Protect pin setup code.

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