summaryrefslogblamecommitdiffstats
path: root/c/src/lib/libbsp/powerpc/eth_comm/README
blob: 11059f1faf1454da89d85197486f66115cff7f48 (plain) (tree)




























                                                                          

                                                      
                        
                                                          






























                                          
                             











                                   

                                          


                            

                                  

                                   

                           











                                                             




























































































































































































                                                                            
#
#  $Id$
#

BSP NAME:           eth_comm
BOARD:              Frasca International, Inc Ethernet Comm board
BUS:                N/A
CPU FAMILY:         ppc
CPU:                PowerPC MPC860/MPC860T
COPROCESSORS:       N/A
MODE:               32 bit mode

DEBUG MONITOR:      None

PERIPHERALS
===========
TIMERS:             PIT 
  RESOLUTION:         1 microsecond
SERIAL PORTS:       4 SCCs (one is used for ethernet on MPC860, and unused
			on MPC860T), 2 SMC, 4 on external FPGA, 3 CANBUS
REAL-TIME CLOCK:    
DMA:                Each serial port
VIDEO:              none
SCSI:               none
NETWORKING:         Ethernet (10 Mbps) on SCC1 (MPC860)
		    Fast ethernet (100/10 Mbps) on FEC (MPC860T)

DRIVER INFORMATION
==================
CLOCK DRIVER:       Periodic Interval Timer
IOSUPP DRIVER:      SCC1, SCC2, SCC3, SCC4, SMC1, SMC2
SHMSUPP:            none
TIMER DRIVER:       Timebase register (lower 32 bits only)

STDIO
=====
PORT:               SCC2
ELECTRICAL:         RS-232
BAUD:               9600
BITS PER CHARACTER: 8
PARITY:             None
STOP BITS:          1

NOTES
=====
On-chip resources:
	SCC1		network or console
	SCC2		console
	SCC3		console
	SCC4		console
	CLK1		network
	CLK2		network
	CLK3
	CLK4
	CLK5
	CLK6
	CLK7
	CLK8
	BRG1		console
	BRG2		console
	BRG3		console
	BRG4		console
	RTC
	PIT		clock
	TB		timer
	DEC
	SWT	
	*CS0		FLASH
	*CS1		DRAM bank 1
	*CS2		CAN0
	*CS3		CAN1
	*CS4		CAN2
	*CS5		MB1
	*CS6		ARINC
	*CS7		DRAM bank 0
	UPMA
	UPMB
	IRQ0		Voltage supervisor
	IRQ1		ARINC-429
	IRQ2		CAN2
	IRQ3		CAN0
	IRQ4		CAN1
	IRQ5
	IRQ6		Multibus I
	IRQ7
	IRQ_LVL0	clock - PIT
	IRQ_LVL1	CPM
	IRQ_LVL2	FEC
	IRQ_LVL3
	IRQ_LVL4
	IRQ_LVL5
	IRQ_LVL6
	IRQ_LVL7
Board description
-----------------
Clock rate:	40 - 66 MHz, depending on CPU
Bus width:	16 bit Flash, 32 bit DRAM
FLASH:		128K - 1024K, 120ns
RAM:		2 - 32M DRAM SIMM, autodetects size and speed

Verification
-------------------------------
Single processor tests:  Passed
Multi-processort tests:  not applicable
Timing tests:
	Context Switch

	context switch: self 9
	context switch: to another task 10
	context switch: no floating point contexts 23
	fp context switch: restore 1st FP task 24
	fp context switch: save initialized, restore initialized 11
	fp context switch: save idle, restore initialized 11
	fp context switch: save idle, restore idle 23

	Task Manager

	rtems_task_create 83
	rtems_task_ident 84
	rtems_task_start 30
	rtems_task_restart: calling task 48
	rtems_task_restart: suspended task -- returns to caller 36
	rtems_task_restart: blocked task -- returns to caller 47
	rtems_task_restart: ready task -- returns to caller 35
	rtems_task_restart: suspended task -- preempts caller 56 
	rtems_task_restart: blocked task -- preempts caller 116
	rtems_task_restart: ready task -- preempts caller 93
	rtems_task_delete: calling task 102
	rtems_task_delete: suspended task 74
	rtems_task_delete: blocked task 76
	rtems_task_delete: ready task 80
	rtems_task_suspend: calling task 37
	rtems_task_suspend: returns to caller 14
	rtems_task_resume: task readied -- returns to caller 16
	rtems_task_resume: task readied -- preempts caller 30
	rtems_task_set_priority: obtain current priority 12
	rtems_task_set_priority: returns to caller 23
	rtems_task_set_priority: preempts caller 52
	rtems_task_mode: obtain current mode 5
	rtems_task_mode: no reschedule 6
	rtems_task_mode: reschedule -- returns to caller 15
	rtems_task_mode: reschedule -- preempts caller 43
	rtems_task_get_note 13
	rtems_task_set_note 12
	rtems_task_wake_after: yield -- returns to caller 8
	rtems_task_wake_after: yields -- preempts caller 30
	rtems_task_wake_when: 49

	Interrupt Manager

	interrupt entry overhead: returns to nested interrupt 7
	interrupt entry overhead: returns to interrupted task 31
	interrupt entry overhead: returns to preempting task 14
	interrupt exit overhead: returns to nested interrupt 10
	interrupt exit overhead: returns to interrupted task 8
	interrupt exit overhead: returns to preempting task 45

	Clock Manager

	rtems_clock_set 28
	rtems_clock_get 0
	rtems_clock_tick 36

	Timer Manager

	rtems_timer_create 11
	rtems_timer_ident 82
	rtems_timer_delete: inactive 14
	rtems_timer_delete: active 16
	rtems_timer_fire_after: inactive 20
	rtems_timer_fire_after: active 22
	rtems_timer_fire_when: inactive 24
	rtems_timer_fire_when: active 24
	rtems_timer_reset: inactive 18
	rtems_timer_reset: active 21
	rtems_timer_cancel: inactive 11
	rtems_timer_cancel: active 12

	Semaphore Manager

	rtems_semaphore_create 56
	rtems_semaphore_ident 94
	rtems_semaphore_delete 34
	rtems_semaphore_obtain: available 13
	rtems_semaphore_obtain: not available -- NO_WAIT 13
	rtems_semaphore_obtain: not available -- caller blocks 48
	rtems_semaphore_release: no waiting tasks 16
	rtems_semaphore_release: task readied -- returns to caller 36
	rtems_semaphore_release: task readied -- preempts caller   36

	Message Queue Manager

	rtems_message_queue_create 110
	rtems_message_queue_ident 82
	rtems_message_queue_delete 43
	rtems_message_queue_send: no waiting tasks 28
	rtems_message_queue_send: task readied -- returns to caller 31
	rtems_message_queue_send: task readied -- preempts caller 46
	rtems_message_queue_urgent: no waiting tasks 28
	rtems_message_queue_urgent: task readied -- returns to caller 31
	rtems_message_queue_urgent: task readied -- preempts caller 46
	rtems_message_queue_broadcast: no waiting tasks 22
	rtems_message_queue_broadcast: task readied -- returns to caller 81
	rtems_message_queue_broadcast: task readied -- preempts caller 75
	rtems_message_queue_receive: available 26
	rtems_message_queue_receive: not available -- NO_WAIT 15
	rtems_message_queue_receive: not available -- caller blocks 48
	rtems_message_queue_flush: no messages flushed 14
	rtems_message_queue_flush: messages flushed 14

	Event Manager

	rtems_event_send: no task readied 12
	rtems_event_send: task readied -- returns to caller 38
	rtems_event_send: task readied -- preempts caller 21
	rtems_event_receive: obtain current events 1
	rtems_event_receive: available 19
	rtems_event_receive: not available -- NO_WAIT 11
	rtems_event_receive: not available -- caller blocks 36

	Signal Manager

	rtems_signal_catch: 31
	rtems_signal_send: returns to caller 21
	rtems_signal_send: signal to self 39
	exit ASR overhead: returns to calling task 30
	exit ASR overhead: returns to preempting task 33

	Partition Manager

	rtems_partition_create 59
	rtems_partition_ident 82
	rtems_partition_delete 20
	rtems_partition_get_buffer: available 19
	rtems_partition_get_buffer: not available 13
	rtems_partition_return_buffer 20

	Region Manager

	rtems_region_create 37
	rtems_region_ident 84
	rtems_region_delete 20
	rtems_region_get_segment: available 19
	rtems_region_get_segment: not available -- NO_WAIT 23
	rtems_region_get_segment: not available -- caller blocks 75
	rtems_region_return_segment: no waiting tasks 21
	rtems_region_return_segment: task readied -- returns to caller 55
	rtems_region_return_segment: task readied -- preempts caller 82

	Dual-Ported Memory Manager

	rtems_port_create 23
	rtems_port_ident 82
	rtems_port_delete 21
	rtems_port_internal_to_external 10
	rtems_port_external_to_internal 11

	IO Manager

	rtems_io_initialize 1
	rtems_io_open 1
	rtems_io_close 1
	rtems_io_read 1
	rtems_io_write 1
	rtems_io_control 1

	Rate Monotonic Manager

	rtems_rate_monotonic_create 43
	rtems_rate_monotonic_ident 82
	rtems_rate_monotonic_cancel 23
	rtems_rate_monotonic_delete: active 28
	rtems_rate_monotonic_delete: inactive 25
	rtems_rate_monotonic_period: obtain status 17
	rtems_rate_monotonic_period: initiate period -- returns to caller 32
	rtems_rate_monotonic_period: conclude periods -- caller blocks 30

Network tests:
       TCP throughput (as measured by ttcp):
               Receive: 1324 kbytes/sec
               Transmit: 1037 kbytes/sec