forked from Imagelibrary/rtems
Patch from Jay Monkman <jmonkman@frasca.com> to address minor issues
in the eth_comm BSP documentation.
This commit is contained in:
@@ -136,8 +136,9 @@ The following persons/organizations have made contributions:
|
|||||||
Puchheim,Germany submitted some improvements to the PPC403
|
Puchheim,Germany submitted some improvements to the PPC403
|
||||||
support and added the helas403 BSP.
|
support and added the helas403 BSP.
|
||||||
|
|
||||||
+ Jay Monkman (jmonkman@frasca.com) of Frasca submitted the
|
+ Jay Monkman (jmonkman@frasca.com) of Frasca International, Inc
|
||||||
eth_comm BSP and support for the MPC860 PowerPC CPU model.
|
submitted the support for the Motorola MPC860 CPU including the
|
||||||
|
'eth_comm' BSP
|
||||||
|
|
||||||
+ Charles Gauthier <Charles.Gauthier@iit.nrc.ca> of the Institute for
|
+ Charles Gauthier <Charles.Gauthier@iit.nrc.ca> of the Institute for
|
||||||
Information Technology for the National Research Council of Canada
|
Information Technology for the National Research Council of Canada
|
||||||
|
|||||||
@@ -27,10 +27,10 @@ NETWORKING: Ethernet (10 Mbps) on SCC1 (MPC860)
|
|||||||
|
|
||||||
DRIVER INFORMATION
|
DRIVER INFORMATION
|
||||||
==================
|
==================
|
||||||
CLOCK DRIVER:
|
CLOCK DRIVER: Periodic Interval Timer
|
||||||
IOSUPP DRIVER:
|
IOSUPP DRIVER: SCC1, SCC2, SCC3, SCC4, SMC1, SMC2
|
||||||
SHMSUPP: none
|
SHMSUPP: none
|
||||||
TIMER DRIVER:
|
TIMER DRIVER: Timebase register (lower 32 bits only)
|
||||||
|
|
||||||
STDIO
|
STDIO
|
||||||
=====
|
=====
|
||||||
@@ -62,7 +62,7 @@ On-chip resources:
|
|||||||
BRG4 console
|
BRG4 console
|
||||||
RTC
|
RTC
|
||||||
PIT clock
|
PIT clock
|
||||||
TB
|
TB timer
|
||||||
DEC
|
DEC
|
||||||
SWT
|
SWT
|
||||||
*CS0 FLASH
|
*CS0 FLASH
|
||||||
@@ -75,17 +75,17 @@ On-chip resources:
|
|||||||
*CS7 DRAM bank 0
|
*CS7 DRAM bank 0
|
||||||
UPMA
|
UPMA
|
||||||
UPMB
|
UPMB
|
||||||
IRQ0
|
IRQ0 Voltage supervisor
|
||||||
IRQ1
|
IRQ1 ARINC-429
|
||||||
IRQ2 CAN2
|
IRQ2 CAN2
|
||||||
IRQ3 CAN0
|
IRQ3 CAN0
|
||||||
IRQ4 CAN1
|
IRQ4 CAN1
|
||||||
IRQ5
|
IRQ5
|
||||||
IRQ6
|
IRQ6 Multibus I
|
||||||
IRQ7
|
IRQ7
|
||||||
IRQ_LVL0 clock - PIT
|
IRQ_LVL0 clock - PIT
|
||||||
IRQ_LVL1
|
IRQ_LVL1 CPM
|
||||||
IRQ_LVL2
|
IRQ_LVL2 FEC
|
||||||
IRQ_LVL3
|
IRQ_LVL3
|
||||||
IRQ_LVL4
|
IRQ_LVL4
|
||||||
IRQ_LVL5
|
IRQ_LVL5
|
||||||
@@ -98,3 +98,192 @@ 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
|
||||||
|
-------------------------------
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -7,188 +7,189 @@
|
|||||||
# $Id$
|
# $Id$
|
||||||
#
|
#
|
||||||
|
|
||||||
Board:
|
Board: eth_comm
|
||||||
CPU: include coprocessor if applicable
|
CPU: Motorola MPC860T
|
||||||
Clock Speed:
|
Clock Speed: 40 Mhz
|
||||||
Memory Configuration: SRAM, DRAM, cache, etc
|
Memory Configuration: DRAM, 60ns
|
||||||
Wait States:
|
Wait States:
|
||||||
|
|
||||||
Times Reported in: cycles, microseconds, etc
|
Times Reported in: cycles, microseconds, etc
|
||||||
Timer Source: Count Down Timer, on-CPU cycle counter, etc
|
Timer Source: Time Base register
|
||||||
|
|
||||||
Column X:
|
Column X:
|
||||||
Column Y:
|
Column Y:
|
||||||
|
|
||||||
# DESCRIPTION A B
|
# DESCRIPTION A B
|
||||||
== ================================================================= ==== ====
|
== ================================================================= ==== ====
|
||||||
1 rtems_semaphore_create 20
|
1 rtems_semaphore_create 56
|
||||||
rtems_semaphore_delete 21
|
rtems_semaphore_delete 35
|
||||||
rtems_semaphore_obtain: available 15
|
rtems_semaphore_obtain: available 13
|
||||||
rtems_semaphore_obtain: not available -- NO_WAIT 15
|
rtems_semaphore_obtain: not available -- NO_WAIT 13
|
||||||
rtems_semaphore_release: no waiting tasks 16
|
rtems_semaphore_release: no waiting tasks 16
|
||||||
|
|
||||||
2 rtems_semaphore_obtain: not available -- caller blocks 62
|
2 rtems_semaphore_obtain: not available -- caller blocks 48
|
||||||
|
|
||||||
3 rtems_semaphore_release: task readied -- preempts caller 55
|
3 rtems_semaphore_release: task readied -- preempts caller 36
|
||||||
|
|
||||||
4 rtems_task_restart: blocked task -- preempts caller 77
|
4 rtems_task_restart: blocked task -- preempts caller 117
|
||||||
rtems_task_restart: ready task -- preempts caller 70
|
rtems_task_restart: ready task -- preempts caller 94
|
||||||
rtems_semaphore_release: task readied -- returns to caller 25
|
rtems_semaphore_release: task readied -- returns to caller 22
|
||||||
rtems_task_create 57
|
rtems_task_create 83
|
||||||
rtems_task_start 31
|
rtems_task_start 30
|
||||||
rtems_task_restart: suspended task -- returns to caller 36
|
rtems_task_restart: suspended task -- returns to caller 36
|
||||||
rtems_task_delete: suspended task 47
|
rtems_task_delete: suspended task 74
|
||||||
rtems_task_restart: ready task -- returns to caller 37
|
rtems_task_restart: ready task -- returns to caller 35
|
||||||
rtems_task_restart: blocked task -- returns to caller 46
|
rtems_task_restart: blocked task -- returns to caller 47
|
||||||
rtems_task_delete: blocked task 50
|
rtems_task_delete: blocked task 76
|
||||||
|
|
||||||
5 rtems_task_suspend: calling task 51
|
5 rtems_task_suspend: calling task 37
|
||||||
rtems_task_resume: task readied -- preempts caller 49
|
rtems_task_resume: task readied -- preempts caller 31
|
||||||
|
|
||||||
6 rtems_task_restart: calling task 59
|
6 rtems_task_restart: calling task 48
|
||||||
rtems_task_suspend: returns to caller 18
|
rtems_task_suspend: returns to caller 14
|
||||||
rtems_task_resume: task readied -- returns to caller 19
|
rtems_task_resume: task readied -- returns to caller 16
|
||||||
rtems_task_delete: ready task 50
|
rtems_task_delete: ready task 80
|
||||||
|
|
||||||
7 rtems_task_restart: suspended task -- preempts caller 70
|
7 rtems_task_restart: suspended task -- preempts caller 56
|
||||||
|
|
||||||
8 rtems_task_set_priority: obtain current priority 12
|
8 rtems_task_set_priority: obtain current priority 12
|
||||||
rtems_task_set_priority: returns to caller 27
|
rtems_task_set_priority: returns to caller 23
|
||||||
rtems_task_mode: obtain current mode 5
|
rtems_task_mode: obtain current mode 5
|
||||||
rtems_task_mode: no reschedule 5
|
rtems_task_mode: no reschedule 7
|
||||||
rtems_task_mode: reschedule -- returns to caller 8
|
rtems_task_mode: reschedule -- returns to caller 14
|
||||||
rtems_task_mode: reschedule -- preempts caller 39
|
rtems_task_mode: reschedule -- preempts caller 43
|
||||||
rtems_task_set_note 13
|
rtems_task_set_note 13
|
||||||
rtems_task_get_note 13
|
rtems_task_get_note 12
|
||||||
rtems_clock_set 33
|
rtems_clock_set 28
|
||||||
rtems_clock_get 3
|
rtems_clock_get 0
|
||||||
|
|
||||||
9 rtems_message_queue_create 110
|
9 rtems_message_queue_create 110
|
||||||
rtems_message_queue_send: no waiting tasks 37
|
rtems_message_queue_send: no waiting tasks 28
|
||||||
rtems_message_queue_urgent: no waiting tasks 37
|
rtems_message_queue_urgent: no waiting tasks 28
|
||||||
rtems_message_queue_receive: available 31
|
rtems_message_queue_receive: available 26
|
||||||
rtems_message_queue_flush: no messages flushed 12
|
rtems_message_queue_flush: no messages flushed 13
|
||||||
rtems_message_queue_flush: messages flushed 16
|
rtems_message_queue_flush: messages flushed 14
|
||||||
rtems_message_queue_delete 26
|
rtems_message_queue_delete 45
|
||||||
|
|
||||||
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
10 rtems_message_queue_receive: not available -- NO_WAIT 15
|
||||||
rtems_message_queue_receive: not available -- caller blocks 62
|
rtems_message_queue_receive: not available -- caller blocks 48
|
||||||
|
|
||||||
11 rtems_message_queue_send: task readied -- preempts caller 72
|
11 rtems_message_queue_send: task readied -- preempts caller 46
|
||||||
|
|
||||||
12 rtems_message_queue_send: task readied -- returns to caller 39
|
12 rtems_message_queue_send: task readied -- returns to caller 31
|
||||||
|
|
||||||
13 rtems_message_queue_urgent: task readied -- preempts caller 72
|
13 rtems_message_queue_urgent: task readied -- preempts caller 46
|
||||||
|
|
||||||
14 rtems_message_queue_urgent: task readied -- returns to caller 39
|
14 rtems_message_queue_urgent: task readied -- returns to caller 31
|
||||||
|
|
||||||
15 rtems_event_receive: obtain current events 1
|
15 rtems_event_receive: obtain current events 1
|
||||||
rtems_event_receive: not available -- NO_WAIT 12
|
rtems_event_receive: not available -- NO_WAIT 11
|
||||||
rtems_event_receive: not available -- caller blocks 56
|
rtems_event_receive: not available -- caller blocks 36
|
||||||
rtems_event_send: no task readied 12
|
rtems_event_send: no task readied 12
|
||||||
rtems_event_receive: available 12
|
rtems_event_receive: available 19
|
||||||
rtems_event_send: task readied -- returns to caller 24
|
rtems_event_send: task readied -- returns to caller 21
|
||||||
|
|
||||||
16 rtems_event_send: task readied -- preempts caller 55
|
16 rtems_event_send: task readied -- preempts caller 38
|
||||||
|
|
||||||
17 rtems_task_set_priority: preempts caller 62
|
17 rtems_task_set_priority: preempts caller 51
|
||||||
|
|
||||||
18 rtems_task_delete: calling task 83
|
18 rtems_task_delete: calling task 102
|
||||||
|
|
||||||
19 rtems_signal_catch 9
|
19 rtems_signal_catch 31
|
||||||
rtems_signal_send: returns to caller 15
|
rtems_signal_send: returns to caller 21
|
||||||
rtems_signal_send: signal to self 18
|
rtems_signal_send: signal to self 39
|
||||||
exit ASR overhead: returns to calling task 22
|
exit ASR overhead: returns to calling task 30
|
||||||
exit ASR overhead: returns to preempting task 49
|
exit ASR overhead: returns to preempting task 33
|
||||||
|
|
||||||
20 rtems_partition_create 35
|
20 rtems_partition_create 59
|
||||||
rtems_region_create 23
|
rtems_region_create 37
|
||||||
rtems_partition_get_buffer: available 15
|
rtems_partition_get_buffer: available 19
|
||||||
rtems_partition_get_buffer: not available 13
|
rtems_partition_get_buffer: not available 12
|
||||||
rtems_partition_return_buffer 18
|
rtems_partition_return_buffer 21
|
||||||
rtems_partition_delete 16
|
rtems_partition_delete 20
|
||||||
rtems_region_get_segment: available 22
|
rtems_region_get_segment: available 20
|
||||||
rtems_region_get_segment: not available -- NO_WAIT 21
|
rtems_region_get_segment: not available -- NO_WAIT 24
|
||||||
rtems_region_return_segment: no waiting tasks 19
|
rtems_region_return_segment: no waiting tasks 21
|
||||||
rtems_region_get_segment: not available -- caller blocks 64
|
rtems_region_get_segment: not available -- caller blocks 76
|
||||||
rtems_region_return_segment: task readied -- preempts caller 74
|
rtems_region_return_segment: task readied -- preempts caller 82
|
||||||
rtems_region_return_segment: task readied -- returns to caller 44
|
rtems_region_return_segment: task readied -- returns to caller 55
|
||||||
rtems_region_delete 16
|
rtems_region_delete 20
|
||||||
rtems_io_initialize 2
|
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
|
||||||
|
|
||||||
21 rtems_task_ident 149
|
21 rtems_task_ident 84
|
||||||
rtems_message_queue_ident 145
|
rtems_message_queue_ident 82
|
||||||
rtems_semaphore_ident 156
|
rtems_semaphore_ident 94
|
||||||
rtems_partition_ident 145
|
rtems_partition_ident 82
|
||||||
rtems_region_ident 148
|
rtems_region_ident 84
|
||||||
rtems_port_ident 145
|
rtems_port_ident 82
|
||||||
rtems_timer_ident 145
|
rtems_timer_ident 82
|
||||||
rtems_rate_monotonic_ident 145
|
rtems_rate_monotonic_ident 82
|
||||||
|
|
||||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 42
|
22 rtems_message_queue_broadcast: task readied -- returns to caller 81
|
||||||
rtems_message_queue_broadcast: no waiting tasks 17
|
rtems_message_queue_broadcast: no waiting tasks 22
|
||||||
rtems_message_queue_broadcast: task readied -- preempts caller 78
|
rtems_message_queue_broadcast: task readied -- preempts caller 76
|
||||||
|
|
||||||
23 rtems_timer_create 14
|
23 rtems_timer_create 11
|
||||||
rtems_timer_fire_after: inactive 22
|
rtems_timer_fire_after: inactive 20
|
||||||
rtems_timer_fire_after: active 24
|
rtems_timer_fire_after: active 22
|
||||||
rtems_timer_cancel: active 15
|
rtems_timer_cancel: active 12
|
||||||
rtems_timer_cancel: inactive 13
|
rtems_timer_cancel: inactive 11
|
||||||
rtems_timer_reset: inactive 21
|
rtems_timer_reset: inactive 18
|
||||||
rtems_timer_reset: active 23
|
rtems_timer_reset: active 21
|
||||||
rtems_timer_fire_when: inactive 34
|
rtems_timer_fire_when: inactive 24
|
||||||
rtems_timer_fire_when: active 34
|
rtems_timer_fire_when: active 24
|
||||||
rtems_timer_delete: active 19
|
rtems_timer_delete: active 16
|
||||||
rtems_timer_delete: inactive 17
|
rtems_timer_delete: inactive 14
|
||||||
rtems_task_wake_when 69
|
rtems_task_wake_when 49
|
||||||
|
|
||||||
24 rtems_task_wake_after: yield -- returns to caller 9
|
24 rtems_task_wake_after: yield -- returns to caller 8
|
||||||
rtems_task_wake_after: yields -- preempts caller 45
|
rtems_task_wake_after: yields -- preempts caller 30
|
||||||
|
|
||||||
25 rtems_clock_tick 4
|
25 rtems_clock_tick 35
|
||||||
|
|
||||||
26 _ISR_Disable 0
|
26 _ISR_Disable 24
|
||||||
_ISR_Flash 1
|
_ISR_Flash 0
|
||||||
_ISR_Enable 1
|
_ISR_Enable 1
|
||||||
_Thread_Disable_dispatch 0
|
_Thread_Disable_dispatch 1
|
||||||
_Thread_Enable_dispatch 7
|
_Thread_Enable_dispatch 7
|
||||||
_Thread_Set_state 11
|
_Thread_Set_state 7
|
||||||
_Thread_Disptach (NO FP) 31
|
_Thread_Disptach (NO FP) 31
|
||||||
context switch: no floating point contexts 21
|
context switch: no floating point contexts 22
|
||||||
context switch: self 10
|
context switch: self 9
|
||||||
context switch: to another task 10
|
context switch: to another task 10
|
||||||
context switch: restore 1st FP task 25
|
fp context switch: restore 1st FP task 24
|
||||||
fp context switch: save idle, restore idle 31
|
fp context switch: save idle, restore initialized 10
|
||||||
fp context switch: save idle, restore initialized 19
|
fp context switch: save idle, restore idle 23
|
||||||
fp context switch: save initialized, restore initialized 20
|
fp context switch: save initialized, restore initialized 10
|
||||||
_Thread_Resume 7
|
_Thread_Resume 11
|
||||||
_Thread_Unblock 7
|
_Thread_Unblock 6
|
||||||
_Thread_Ready 9
|
_Thread_Ready 10
|
||||||
_Thread_Get 4
|
_Thread_Get 3
|
||||||
_Semaphore_Get 2
|
_Semaphore_Get 2
|
||||||
_Thread_Get: invalid id 0
|
_Thread_Get: invalid id 0
|
||||||
|
|
||||||
27 interrupt entry overhead: returns to interrupted task 6
|
|
||||||
interrupt exit overhead: returns to interrupted task 6
|
|
||||||
interrupt entry overhead: returns to nested interrupt 6
|
|
||||||
interrupt exit overhead: returns to nested interrupt 5
|
|
||||||
interrupt entry overhead: returns to preempting task 7
|
|
||||||
interrupt exit overhead: returns to preempting task 36
|
|
||||||
|
|
||||||
28 rtems_port_create 16
|
27 interrupt entry overhead: returns to interrupted task 14
|
||||||
rtems_port_external_to_internal 11
|
interrupt exit overhead: returns to interrupted task 26
|
||||||
rtems_port_internal_to_external 11
|
interrupt entry overhead: returns to nested interrupt 7
|
||||||
rtems_port_delete 16
|
interrupt exit overhead: returns to nested interrupt 10
|
||||||
|
interrupt entry overhead: returns to preempting task 14
|
||||||
|
interrupt exit overhead: returns to preempting task 45
|
||||||
|
|
||||||
29 rtems_rate_monotonic_create 15
|
28 rtems_port_create 23
|
||||||
rtems_rate_monotonic_period: initiate period -- returns to caller 21
|
rtems_port_external_to_internal 10
|
||||||
rtems_rate_monotonic_period: obtain status 13
|
rtems_port_internal_to_external 10
|
||||||
rtems_rate_monotonic_cancel 16
|
rtems_port_delete 21
|
||||||
rtems_rate_monotonic_delete: inactive 18
|
|
||||||
rtems_rate_monotonic_delete: active 20
|
29 rtems_rate_monotonic_create 43
|
||||||
rtems_rate_monotonic_period: conclude periods -- caller blocks 53
|
rtems_rate_monotonic_period: initiate period -- returns to caller 32
|
||||||
|
rtems_rate_monotonic_period: obtain status 17
|
||||||
|
rtems_rate_monotonic_cancel 22
|
||||||
|
rtems_rate_monotonic_delete: inactive 25
|
||||||
|
rtems_rate_monotonic_delete: active 28
|
||||||
|
rtems_rate_monotonic_period: conclude periods -- caller blocks 30
|
||||||
|
|||||||
@@ -4,19 +4,16 @@
|
|||||||
|
|
||||||
Various non BSP dependant support routines.
|
Various non BSP dependant support routines.
|
||||||
|
|
||||||
clock - Uses the 403 PIT (Programmable interval timer) to
|
clock - Uses the MPC860 PITPIT (Programmable interval timer) to
|
||||||
generate RTEMS clock ticks.
|
generate RTEMS clock ticks.
|
||||||
|
|
||||||
console - Uses the 403 Internal serial port to do RTEMS
|
console_generic - Uses the MPC860 SCCs and SMCs to to serial I/O
|
||||||
console I/O. Not ALL members of the 403 family
|
|
||||||
have this.
|
|
||||||
|
|
||||||
include - Currently empty
|
include - console.h: function declarations for console related functions
|
||||||
|
|
||||||
timer - Uses the 403 timebase register for timing
|
timer - Uses the MPC860 timebase register for timing
|
||||||
tests. Other PowerPCs have slightly different
|
tests. It only uses the lower 32 bits
|
||||||
timebase register definitions.
|
|
||||||
|
|
||||||
vectors - PowerPC 403 specific vector entry points.
|
vectors - MPC860 specific vector entry points.
|
||||||
Includes CPU dependant, application independant
|
Includes CPU dependant, application independant
|
||||||
handlers: alignment.
|
handlers: alignment.
|
||||||
|
|||||||
@@ -10,16 +10,11 @@ From the comments at the head of vectors.s:
|
|||||||
The first vector MUST be at address 0x????0100.
|
The first vector MUST be at address 0x????0100.
|
||||||
How this is achieved is dependant on the tool chain.
|
How this is achieved is dependant on the tool chain.
|
||||||
|
|
||||||
However the basic mechanism for ELF assemblers is to create a
|
...
|
||||||
section called ".vectors", which will be loaded to an address
|
|
||||||
between 0x????0000 and 0x????0100 (inclusive) via a link script.
|
|
||||||
|
|
||||||
The basic mechanism for XCOFF assemblers is to place it in the
|
|
||||||
normal text section, and arrange for this file to be located
|
|
||||||
at an appropriate position on the linker command line.
|
|
||||||
|
|
||||||
The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
|
The variable 'PPC_VECTOR_FILE_BASE' must be defined to be the
|
||||||
offset from 0x????0000 to the first location in the file. This
|
offset from 0x????0000 to the first location in the file. This
|
||||||
will usually be 0x0000 or 0x0100.
|
will be either 0x0000 or 0xfff0.
|
||||||
|
|
||||||
|
The eth_comm BSP defines PPC_VECTOR_FILE_BASE to be 0x00000000
|
||||||
|
|
||||||
Andrew Bray 18/8/1995
|
|
||||||
|
|||||||
Reference in New Issue
Block a user