#
|
#
|
# $Id: README,v 1.2 2001-09-27 12:00:35 chris Exp $
|
# $Id: README,v 1.2 2001-09-27 12:00:35 chris Exp $
|
#
|
#
|
|
|
BSP NAME: eth_comm
|
BSP NAME: eth_comm
|
BOARD: Frasca International, Inc Ethernet Comm board
|
BOARD: Frasca International, Inc Ethernet Comm board
|
BUS: N/A
|
BUS: N/A
|
CPU FAMILY: ppc
|
CPU FAMILY: ppc
|
CPU: PowerPC MPC860/MPC860T
|
CPU: PowerPC MPC860/MPC860T
|
COPROCESSORS: N/A
|
COPROCESSORS: N/A
|
MODE: 32 bit mode
|
MODE: 32 bit mode
|
|
|
DEBUG MONITOR: None
|
DEBUG MONITOR: None
|
|
|
PERIPHERALS
|
PERIPHERALS
|
===========
|
===========
|
TIMERS: PIT
|
TIMERS: PIT
|
RESOLUTION: 1 microsecond
|
RESOLUTION: 1 microsecond
|
SERIAL PORTS: 4 SCCs (one is used for ethernet on MPC860, and unused
|
SERIAL PORTS: 4 SCCs (one is used for ethernet on MPC860, and unused
|
on MPC860T), 2 SMC, 4 on external FPGA, 3 CANBUS
|
on MPC860T), 2 SMC, 4 on external FPGA, 3 CANBUS
|
REAL-TIME CLOCK:
|
REAL-TIME CLOCK:
|
DMA: Each serial port
|
DMA: Each serial port
|
VIDEO: none
|
VIDEO: none
|
SCSI: none
|
SCSI: none
|
NETWORKING: Ethernet (10 Mbps) on SCC1 (MPC860)
|
NETWORKING: Ethernet (10 Mbps) on SCC1 (MPC860)
|
Fast ethernet (100/10 Mbps) on FEC (MPC860T)
|
Fast ethernet (100/10 Mbps) on FEC (MPC860T)
|
|
|
DRIVER INFORMATION
|
DRIVER INFORMATION
|
==================
|
==================
|
CLOCK DRIVER: Periodic Interval Timer
|
CLOCK DRIVER: Periodic Interval Timer
|
IOSUPP DRIVER: SCC1, SCC2, SCC3, SCC4, SMC1, SMC2
|
IOSUPP DRIVER: SCC1, SCC2, SCC3, SCC4, SMC1, SMC2
|
SHMSUPP: none
|
SHMSUPP: none
|
TIMER DRIVER: Timebase register (lower 32 bits only)
|
TIMER DRIVER: Timebase register (lower 32 bits only)
|
|
|
STDIO
|
STDIO
|
=====
|
=====
|
PORT: SCC2
|
PORT: SCC2
|
ELECTRICAL: RS-232
|
ELECTRICAL: RS-232
|
BAUD: 9600
|
BAUD: 9600
|
BITS PER CHARACTER: 8
|
BITS PER CHARACTER: 8
|
PARITY: None
|
PARITY: None
|
STOP BITS: 1
|
STOP BITS: 1
|
|
|
NOTES
|
NOTES
|
=====
|
=====
|
On-chip resources:
|
On-chip resources:
|
SCC1 network or console
|
SCC1 network or console
|
SCC2 console
|
SCC2 console
|
SCC3 console
|
SCC3 console
|
SCC4 console
|
SCC4 console
|
CLK1 network
|
CLK1 network
|
CLK2 network
|
CLK2 network
|
CLK3
|
CLK3
|
CLK4
|
CLK4
|
CLK5
|
CLK5
|
CLK6
|
CLK6
|
CLK7
|
CLK7
|
CLK8
|
CLK8
|
BRG1 console
|
BRG1 console
|
BRG2 console
|
BRG2 console
|
BRG3 console
|
BRG3 console
|
BRG4 console
|
BRG4 console
|
RTC
|
RTC
|
PIT clock
|
PIT clock
|
TB timer
|
TB timer
|
DEC
|
DEC
|
SWT
|
SWT
|
*CS0 FLASH
|
*CS0 FLASH
|
*CS1 DRAM bank 1
|
*CS1 DRAM bank 1
|
*CS2 CAN0
|
*CS2 CAN0
|
*CS3 CAN1
|
*CS3 CAN1
|
*CS4 CAN2
|
*CS4 CAN2
|
*CS5 MB1
|
*CS5 MB1
|
*CS6 ARINC
|
*CS6 ARINC
|
*CS7 DRAM bank 0
|
*CS7 DRAM bank 0
|
UPMA
|
UPMA
|
UPMB
|
UPMB
|
IRQ0 Voltage supervisor
|
IRQ0 Voltage supervisor
|
IRQ1 ARINC-429
|
IRQ1 ARINC-429
|
IRQ2 CAN2
|
IRQ2 CAN2
|
IRQ3 CAN0
|
IRQ3 CAN0
|
IRQ4 CAN1
|
IRQ4 CAN1
|
IRQ5
|
IRQ5
|
IRQ6 Multibus I
|
IRQ6 Multibus I
|
IRQ7
|
IRQ7
|
IRQ_LVL0 clock - PIT
|
IRQ_LVL0 clock - PIT
|
IRQ_LVL1 CPM
|
IRQ_LVL1 CPM
|
IRQ_LVL2 FEC
|
IRQ_LVL2 FEC
|
IRQ_LVL3
|
IRQ_LVL3
|
IRQ_LVL4
|
IRQ_LVL4
|
IRQ_LVL5
|
IRQ_LVL5
|
IRQ_LVL6
|
IRQ_LVL6
|
IRQ_LVL7
|
IRQ_LVL7
|
Board description
|
Board description
|
-----------------
|
-----------------
|
Clock rate: 40 - 66 MHz, depending on CPU
|
Clock rate: 40 - 66 MHz, depending on CPU
|
Bus width: 16 bit Flash, 32 bit DRAM
|
Bus width: 16 bit Flash, 32 bit DRAM
|
FLASH: 128K - 1024K, 120ns
|
FLASH: 128K - 1024K, 120ns
|
RAM: 2 - 32M DRAM SIMM, autodetects size and speed
|
RAM: 2 - 32M DRAM SIMM, autodetects size and speed
|
|
|
Verification
|
Verification
|
-------------------------------
|
-------------------------------
|
Single processor tests: Passed
|
Single processor tests: Passed
|
Multi-processort tests: not applicable
|
Multi-processort tests: not applicable
|
Timing tests:
|
Timing tests:
|
Context Switch
|
Context Switch
|
|
|
context switch: self 9
|
context switch: self 9
|
context switch: to another task 10
|
context switch: to another task 10
|
context switch: no floating point contexts 23
|
context switch: no floating point contexts 23
|
fp context switch: restore 1st FP task 24
|
fp context switch: restore 1st FP task 24
|
fp context switch: save initialized, restore initialized 11
|
fp context switch: save initialized, restore initialized 11
|
fp context switch: save idle, restore initialized 11
|
fp context switch: save idle, restore initialized 11
|
fp context switch: save idle, restore idle 23
|
fp context switch: save idle, restore idle 23
|
|
|
Task Manager
|
Task Manager
|
|
|
rtems_task_create 83
|
rtems_task_create 83
|
rtems_task_ident 84
|
rtems_task_ident 84
|
rtems_task_start 30
|
rtems_task_start 30
|
rtems_task_restart: calling task 48
|
rtems_task_restart: calling task 48
|
rtems_task_restart: suspended task -- returns to caller 36
|
rtems_task_restart: suspended task -- returns to caller 36
|
rtems_task_restart: blocked task -- returns to caller 47
|
rtems_task_restart: blocked task -- returns to caller 47
|
rtems_task_restart: ready task -- returns to caller 35
|
rtems_task_restart: ready task -- returns to caller 35
|
rtems_task_restart: suspended task -- preempts caller 56
|
rtems_task_restart: suspended task -- preempts caller 56
|
rtems_task_restart: blocked task -- preempts caller 116
|
rtems_task_restart: blocked task -- preempts caller 116
|
rtems_task_restart: ready task -- preempts caller 93
|
rtems_task_restart: ready task -- preempts caller 93
|
rtems_task_delete: calling task 102
|
rtems_task_delete: calling task 102
|
rtems_task_delete: suspended task 74
|
rtems_task_delete: suspended task 74
|
rtems_task_delete: blocked task 76
|
rtems_task_delete: blocked task 76
|
rtems_task_delete: ready task 80
|
rtems_task_delete: ready task 80
|
rtems_task_suspend: calling task 37
|
rtems_task_suspend: calling task 37
|
rtems_task_suspend: returns to caller 14
|
rtems_task_suspend: returns to caller 14
|
rtems_task_resume: task readied -- returns to caller 16
|
rtems_task_resume: task readied -- returns to caller 16
|
rtems_task_resume: task readied -- preempts caller 30
|
rtems_task_resume: task readied -- preempts caller 30
|
rtems_task_set_priority: obtain current priority 12
|
rtems_task_set_priority: obtain current priority 12
|
rtems_task_set_priority: returns to caller 23
|
rtems_task_set_priority: returns to caller 23
|
rtems_task_set_priority: preempts caller 52
|
rtems_task_set_priority: preempts caller 52
|
rtems_task_mode: obtain current mode 5
|
rtems_task_mode: obtain current mode 5
|
rtems_task_mode: no reschedule 6
|
rtems_task_mode: no reschedule 6
|
rtems_task_mode: reschedule -- returns to caller 15
|
rtems_task_mode: reschedule -- returns to caller 15
|
rtems_task_mode: reschedule -- preempts caller 43
|
rtems_task_mode: reschedule -- preempts caller 43
|
rtems_task_get_note 13
|
rtems_task_get_note 13
|
rtems_task_set_note 12
|
rtems_task_set_note 12
|
rtems_task_wake_after: yield -- returns to caller 8
|
rtems_task_wake_after: yield -- returns to caller 8
|
rtems_task_wake_after: yields -- preempts caller 30
|
rtems_task_wake_after: yields -- preempts caller 30
|
rtems_task_wake_when: 49
|
rtems_task_wake_when: 49
|
|
|
Interrupt Manager
|
Interrupt Manager
|
|
|
interrupt entry overhead: returns to nested interrupt 7
|
interrupt entry overhead: returns to nested interrupt 7
|
interrupt entry overhead: returns to interrupted task 31
|
interrupt entry overhead: returns to interrupted task 31
|
interrupt entry overhead: returns to preempting task 14
|
interrupt entry overhead: returns to preempting task 14
|
interrupt exit overhead: returns to nested interrupt 10
|
interrupt exit overhead: returns to nested interrupt 10
|
interrupt exit overhead: returns to interrupted task 8
|
interrupt exit overhead: returns to interrupted task 8
|
interrupt exit overhead: returns to preempting task 45
|
interrupt exit overhead: returns to preempting task 45
|
|
|
Clock Manager
|
Clock Manager
|
|
|
rtems_clock_set 28
|
rtems_clock_set 28
|
rtems_clock_get 0
|
rtems_clock_get 0
|
rtems_clock_tick 36
|
rtems_clock_tick 36
|
|
|
Timer Manager
|
Timer Manager
|
|
|
rtems_timer_create 11
|
rtems_timer_create 11
|
rtems_timer_ident 82
|
rtems_timer_ident 82
|
rtems_timer_delete: inactive 14
|
rtems_timer_delete: inactive 14
|
rtems_timer_delete: active 16
|
rtems_timer_delete: active 16
|
rtems_timer_fire_after: inactive 20
|
rtems_timer_fire_after: inactive 20
|
rtems_timer_fire_after: active 22
|
rtems_timer_fire_after: active 22
|
rtems_timer_fire_when: inactive 24
|
rtems_timer_fire_when: inactive 24
|
rtems_timer_fire_when: active 24
|
rtems_timer_fire_when: active 24
|
rtems_timer_reset: inactive 18
|
rtems_timer_reset: inactive 18
|
rtems_timer_reset: active 21
|
rtems_timer_reset: active 21
|
rtems_timer_cancel: inactive 11
|
rtems_timer_cancel: inactive 11
|
rtems_timer_cancel: active 12
|
rtems_timer_cancel: active 12
|
|
|
Semaphore Manager
|
Semaphore Manager
|
|
|
rtems_semaphore_create 56
|
rtems_semaphore_create 56
|
rtems_semaphore_ident 94
|
rtems_semaphore_ident 94
|
rtems_semaphore_delete 34
|
rtems_semaphore_delete 34
|
rtems_semaphore_obtain: available 13
|
rtems_semaphore_obtain: available 13
|
rtems_semaphore_obtain: not available -- NO_WAIT 13
|
rtems_semaphore_obtain: not available -- NO_WAIT 13
|
rtems_semaphore_obtain: not available -- caller blocks 48
|
rtems_semaphore_obtain: not available -- caller blocks 48
|
rtems_semaphore_release: no waiting tasks 16
|
rtems_semaphore_release: no waiting tasks 16
|
rtems_semaphore_release: task readied -- returns to caller 36
|
rtems_semaphore_release: task readied -- returns to caller 36
|
rtems_semaphore_release: task readied -- preempts caller 36
|
rtems_semaphore_release: task readied -- preempts caller 36
|
|
|
Message Queue Manager
|
Message Queue Manager
|
|
|
rtems_message_queue_create 110
|
rtems_message_queue_create 110
|
rtems_message_queue_ident 82
|
rtems_message_queue_ident 82
|
rtems_message_queue_delete 43
|
rtems_message_queue_delete 43
|
rtems_message_queue_send: no waiting tasks 28
|
rtems_message_queue_send: no waiting tasks 28
|
rtems_message_queue_send: task readied -- returns to caller 31
|
rtems_message_queue_send: task readied -- returns to caller 31
|
rtems_message_queue_send: task readied -- preempts caller 46
|
rtems_message_queue_send: task readied -- preempts caller 46
|
rtems_message_queue_urgent: no waiting tasks 28
|
rtems_message_queue_urgent: no waiting tasks 28
|
rtems_message_queue_urgent: task readied -- returns to caller 31
|
rtems_message_queue_urgent: task readied -- returns to caller 31
|
rtems_message_queue_urgent: task readied -- preempts caller 46
|
rtems_message_queue_urgent: task readied -- preempts caller 46
|
rtems_message_queue_broadcast: no waiting tasks 22
|
rtems_message_queue_broadcast: no waiting tasks 22
|
rtems_message_queue_broadcast: task readied -- returns to caller 81
|
rtems_message_queue_broadcast: task readied -- returns to caller 81
|
rtems_message_queue_broadcast: task readied -- preempts caller 75
|
rtems_message_queue_broadcast: task readied -- preempts caller 75
|
rtems_message_queue_receive: available 26
|
rtems_message_queue_receive: available 26
|
rtems_message_queue_receive: not available -- NO_WAIT 15
|
rtems_message_queue_receive: not available -- NO_WAIT 15
|
rtems_message_queue_receive: not available -- caller blocks 48
|
rtems_message_queue_receive: not available -- caller blocks 48
|
rtems_message_queue_flush: no messages flushed 14
|
rtems_message_queue_flush: no messages flushed 14
|
rtems_message_queue_flush: messages flushed 14
|
rtems_message_queue_flush: messages flushed 14
|
|
|
Event Manager
|
Event Manager
|
|
|
rtems_event_send: no task readied 12
|
rtems_event_send: no task readied 12
|
rtems_event_send: task readied -- returns to caller 38
|
rtems_event_send: task readied -- returns to caller 38
|
rtems_event_send: task readied -- preempts caller 21
|
rtems_event_send: task readied -- preempts caller 21
|
rtems_event_receive: obtain current events 1
|
rtems_event_receive: obtain current events 1
|
rtems_event_receive: available 19
|
rtems_event_receive: available 19
|
rtems_event_receive: not available -- NO_WAIT 11
|
rtems_event_receive: not available -- NO_WAIT 11
|
rtems_event_receive: not available -- caller blocks 36
|
rtems_event_receive: not available -- caller blocks 36
|
|
|
Signal Manager
|
Signal Manager
|
|
|
rtems_signal_catch: 31
|
rtems_signal_catch: 31
|
rtems_signal_send: returns to caller 21
|
rtems_signal_send: returns to caller 21
|
rtems_signal_send: signal to self 39
|
rtems_signal_send: signal to self 39
|
exit ASR overhead: returns to calling task 30
|
exit ASR overhead: returns to calling task 30
|
exit ASR overhead: returns to preempting task 33
|
exit ASR overhead: returns to preempting task 33
|
|
|
Partition Manager
|
Partition Manager
|
|
|
rtems_partition_create 59
|
rtems_partition_create 59
|
rtems_partition_ident 82
|
rtems_partition_ident 82
|
rtems_partition_delete 20
|
rtems_partition_delete 20
|
rtems_partition_get_buffer: available 19
|
rtems_partition_get_buffer: available 19
|
rtems_partition_get_buffer: not available 13
|
rtems_partition_get_buffer: not available 13
|
rtems_partition_return_buffer 20
|
rtems_partition_return_buffer 20
|
|
|
Region Manager
|
Region Manager
|
|
|
rtems_region_create 37
|
rtems_region_create 37
|
rtems_region_ident 84
|
rtems_region_ident 84
|
rtems_region_delete 20
|
rtems_region_delete 20
|
rtems_region_get_segment: available 19
|
rtems_region_get_segment: available 19
|
rtems_region_get_segment: not available -- NO_WAIT 23
|
rtems_region_get_segment: not available -- NO_WAIT 23
|
rtems_region_get_segment: not available -- caller blocks 75
|
rtems_region_get_segment: not available -- caller blocks 75
|
rtems_region_return_segment: no waiting tasks 21
|
rtems_region_return_segment: no waiting tasks 21
|
rtems_region_return_segment: task readied -- returns to caller 55
|
rtems_region_return_segment: task readied -- returns to caller 55
|
rtems_region_return_segment: task readied -- preempts caller 82
|
rtems_region_return_segment: task readied -- preempts caller 82
|
|
|
Dual-Ported Memory Manager
|
Dual-Ported Memory Manager
|
|
|
rtems_port_create 23
|
rtems_port_create 23
|
rtems_port_ident 82
|
rtems_port_ident 82
|
rtems_port_delete 21
|
rtems_port_delete 21
|
rtems_port_internal_to_external 10
|
rtems_port_internal_to_external 10
|
rtems_port_external_to_internal 11
|
rtems_port_external_to_internal 11
|
|
|
IO Manager
|
IO Manager
|
|
|
rtems_io_initialize 1
|
rtems_io_initialize 1
|
rtems_io_open 1
|
rtems_io_open 1
|
rtems_io_close 1
|
rtems_io_close 1
|
rtems_io_read 1
|
rtems_io_read 1
|
rtems_io_write 1
|
rtems_io_write 1
|
rtems_io_control 1
|
rtems_io_control 1
|
|
|
Rate Monotonic Manager
|
Rate Monotonic Manager
|
|
|
rtems_rate_monotonic_create 43
|
rtems_rate_monotonic_create 43
|
rtems_rate_monotonic_ident 82
|
rtems_rate_monotonic_ident 82
|
rtems_rate_monotonic_cancel 23
|
rtems_rate_monotonic_cancel 23
|
rtems_rate_monotonic_delete: active 28
|
rtems_rate_monotonic_delete: active 28
|
rtems_rate_monotonic_delete: inactive 25
|
rtems_rate_monotonic_delete: inactive 25
|
rtems_rate_monotonic_period: obtain status 17
|
rtems_rate_monotonic_period: obtain status 17
|
rtems_rate_monotonic_period: initiate period -- returns to caller 32
|
rtems_rate_monotonic_period: initiate period -- returns to caller 32
|
rtems_rate_monotonic_period: conclude periods -- caller blocks 30
|
rtems_rate_monotonic_period: conclude periods -- caller blocks 30
|
|
|
Network tests:
|
Network tests:
|
TCP throughput (as measured by ttcp):
|
TCP throughput (as measured by ttcp):
|
Receive: 1324 kbytes/sec
|
Receive: 1324 kbytes/sec
|
Transmit: 1037 kbytes/sec
|
Transmit: 1037 kbytes/sec
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|