[ee733965] | 1 | # |
---|
| 2 | # $Id$ |
---|
| 3 | # |
---|
| 4 | |
---|
| 5 | BSP NAME: eth_comm |
---|
| 6 | BOARD: Frasca International, Inc Ethernet Comm board |
---|
| 7 | BUS: N/A |
---|
| 8 | CPU FAMILY: ppc |
---|
| 9 | CPU: PowerPC MPC860/MPC860T |
---|
| 10 | COPROCESSORS: N/A |
---|
| 11 | MODE: 32 bit mode |
---|
| 12 | |
---|
| 13 | DEBUG MONITOR: None |
---|
| 14 | |
---|
| 15 | PERIPHERALS |
---|
| 16 | =========== |
---|
| 17 | TIMERS: PIT |
---|
| 18 | RESOLUTION: 1 microsecond |
---|
| 19 | SERIAL PORTS: 4 SCCs (one is used for ethernet on MPC860, and unused |
---|
| 20 | on MPC860T), 2 SMC, 4 on external FPGA, 3 CANBUS |
---|
| 21 | REAL-TIME CLOCK: |
---|
| 22 | DMA: Each serial port |
---|
| 23 | VIDEO: none |
---|
| 24 | SCSI: none |
---|
| 25 | NETWORKING: Ethernet (10 Mbps) on SCC1 (MPC860) |
---|
| 26 | Fast ethernet (100/10 Mbps) on FEC (MPC860T) |
---|
| 27 | |
---|
| 28 | DRIVER INFORMATION |
---|
| 29 | ================== |
---|
[faf7f46] | 30 | CLOCK DRIVER: Periodic Interval Timer |
---|
| 31 | IOSUPP DRIVER: SCC1, SCC2, SCC3, SCC4, SMC1, SMC2 |
---|
[ee733965] | 32 | SHMSUPP: none |
---|
[faf7f46] | 33 | TIMER DRIVER: Timebase register (lower 32 bits only) |
---|
[ee733965] | 34 | |
---|
| 35 | STDIO |
---|
| 36 | ===== |
---|
| 37 | PORT: SCC2 |
---|
| 38 | ELECTRICAL: RS-232 |
---|
| 39 | BAUD: 9600 |
---|
| 40 | BITS PER CHARACTER: 8 |
---|
| 41 | PARITY: None |
---|
| 42 | STOP BITS: 1 |
---|
| 43 | |
---|
| 44 | NOTES |
---|
| 45 | ===== |
---|
| 46 | On-chip resources: |
---|
| 47 | SCC1 network or console |
---|
| 48 | SCC2 console |
---|
| 49 | SCC3 console |
---|
| 50 | SCC4 console |
---|
| 51 | CLK1 network |
---|
| 52 | CLK2 network |
---|
| 53 | CLK3 |
---|
| 54 | CLK4 |
---|
| 55 | CLK5 |
---|
| 56 | CLK6 |
---|
| 57 | CLK7 |
---|
| 58 | CLK8 |
---|
| 59 | BRG1 console |
---|
| 60 | BRG2 console |
---|
| 61 | BRG3 console |
---|
| 62 | BRG4 console |
---|
| 63 | RTC |
---|
| 64 | PIT clock |
---|
[faf7f46] | 65 | TB timer |
---|
[ee733965] | 66 | DEC |
---|
| 67 | SWT |
---|
| 68 | *CS0 FLASH |
---|
| 69 | *CS1 DRAM bank 1 |
---|
| 70 | *CS2 CAN0 |
---|
| 71 | *CS3 CAN1 |
---|
| 72 | *CS4 CAN2 |
---|
| 73 | *CS5 MB1 |
---|
| 74 | *CS6 ARINC |
---|
| 75 | *CS7 DRAM bank 0 |
---|
| 76 | UPMA |
---|
| 77 | UPMB |
---|
[faf7f46] | 78 | IRQ0 Voltage supervisor |
---|
| 79 | IRQ1 ARINC-429 |
---|
[ee733965] | 80 | IRQ2 CAN2 |
---|
| 81 | IRQ3 CAN0 |
---|
| 82 | IRQ4 CAN1 |
---|
[faf7f46] | 83 | IRQ5 |
---|
| 84 | IRQ6 Multibus I |
---|
[ee733965] | 85 | IRQ7 |
---|
| 86 | IRQ_LVL0 clock - PIT |
---|
[faf7f46] | 87 | IRQ_LVL1 CPM |
---|
| 88 | IRQ_LVL2 FEC |
---|
[ee733965] | 89 | IRQ_LVL3 |
---|
| 90 | IRQ_LVL4 |
---|
| 91 | IRQ_LVL5 |
---|
| 92 | IRQ_LVL6 |
---|
| 93 | IRQ_LVL7 |
---|
| 94 | Board description |
---|
| 95 | ----------------- |
---|
| 96 | Clock rate: 40 - 66 MHz, depending on CPU |
---|
| 97 | Bus width: 16 bit Flash, 32 bit DRAM |
---|
| 98 | FLASH: 128K - 1024K, 120ns |
---|
| 99 | RAM: 2 - 32M DRAM SIMM, autodetects size and speed |
---|
| 100 | |
---|
[faf7f46] | 101 | Verification |
---|
| 102 | ------------------------------- |
---|
| 103 | Single processor tests: Passed |
---|
| 104 | Multi-processort tests: not applicable |
---|
| 105 | Timing tests: |
---|
| 106 | Context Switch |
---|
| 107 | |
---|
| 108 | context switch: self 9 |
---|
| 109 | context switch: to another task 10 |
---|
| 110 | context switch: no floating point contexts 23 |
---|
| 111 | fp context switch: restore 1st FP task 24 |
---|
| 112 | fp context switch: save initialized, restore initialized 11 |
---|
| 113 | fp context switch: save idle, restore initialized 11 |
---|
| 114 | fp context switch: save idle, restore idle 23 |
---|
| 115 | |
---|
| 116 | Task Manager |
---|
| 117 | |
---|
| 118 | rtems_task_create 83 |
---|
| 119 | rtems_task_ident 84 |
---|
| 120 | rtems_task_start 30 |
---|
| 121 | rtems_task_restart: calling task 48 |
---|
| 122 | rtems_task_restart: suspended task -- returns to caller 36 |
---|
| 123 | rtems_task_restart: blocked task -- returns to caller 47 |
---|
| 124 | rtems_task_restart: ready task -- returns to caller 35 |
---|
| 125 | rtems_task_restart: suspended task -- preempts caller 56 |
---|
| 126 | rtems_task_restart: blocked task -- preempts caller 116 |
---|
| 127 | rtems_task_restart: ready task -- preempts caller 93 |
---|
| 128 | rtems_task_delete: calling task 102 |
---|
| 129 | rtems_task_delete: suspended task 74 |
---|
| 130 | rtems_task_delete: blocked task 76 |
---|
| 131 | rtems_task_delete: ready task 80 |
---|
| 132 | rtems_task_suspend: calling task 37 |
---|
| 133 | rtems_task_suspend: returns to caller 14 |
---|
| 134 | rtems_task_resume: task readied -- returns to caller 16 |
---|
| 135 | rtems_task_resume: task readied -- preempts caller 30 |
---|
| 136 | rtems_task_set_priority: obtain current priority 12 |
---|
| 137 | rtems_task_set_priority: returns to caller 23 |
---|
| 138 | rtems_task_set_priority: preempts caller 52 |
---|
| 139 | rtems_task_mode: obtain current mode 5 |
---|
| 140 | rtems_task_mode: no reschedule 6 |
---|
| 141 | rtems_task_mode: reschedule -- returns to caller 15 |
---|
| 142 | rtems_task_mode: reschedule -- preempts caller 43 |
---|
| 143 | rtems_task_get_note 13 |
---|
| 144 | rtems_task_set_note 12 |
---|
| 145 | rtems_task_wake_after: yield -- returns to caller 8 |
---|
| 146 | rtems_task_wake_after: yields -- preempts caller 30 |
---|
| 147 | rtems_task_wake_when: 49 |
---|
| 148 | |
---|
| 149 | Interrupt Manager |
---|
| 150 | |
---|
| 151 | interrupt entry overhead: returns to nested interrupt 7 |
---|
| 152 | interrupt entry overhead: returns to interrupted task 31 |
---|
| 153 | interrupt entry overhead: returns to preempting task 14 |
---|
| 154 | interrupt exit overhead: returns to nested interrupt 10 |
---|
| 155 | interrupt exit overhead: returns to interrupted task 8 |
---|
| 156 | interrupt exit overhead: returns to preempting task 45 |
---|
| 157 | |
---|
| 158 | Clock Manager |
---|
| 159 | |
---|
| 160 | rtems_clock_set 28 |
---|
| 161 | rtems_clock_get 0 |
---|
| 162 | rtems_clock_tick 36 |
---|
| 163 | |
---|
| 164 | Timer Manager |
---|
| 165 | |
---|
| 166 | rtems_timer_create 11 |
---|
| 167 | rtems_timer_ident 82 |
---|
| 168 | rtems_timer_delete: inactive 14 |
---|
| 169 | rtems_timer_delete: active 16 |
---|
| 170 | rtems_timer_fire_after: inactive 20 |
---|
| 171 | rtems_timer_fire_after: active 22 |
---|
| 172 | rtems_timer_fire_when: inactive 24 |
---|
| 173 | rtems_timer_fire_when: active 24 |
---|
| 174 | rtems_timer_reset: inactive 18 |
---|
| 175 | rtems_timer_reset: active 21 |
---|
| 176 | rtems_timer_cancel: inactive 11 |
---|
| 177 | rtems_timer_cancel: active 12 |
---|
| 178 | |
---|
| 179 | Semaphore Manager |
---|
| 180 | |
---|
| 181 | rtems_semaphore_create 56 |
---|
| 182 | rtems_semaphore_ident 94 |
---|
| 183 | rtems_semaphore_delete 34 |
---|
| 184 | rtems_semaphore_obtain: available 13 |
---|
| 185 | rtems_semaphore_obtain: not available -- NO_WAIT 13 |
---|
| 186 | rtems_semaphore_obtain: not available -- caller blocks 48 |
---|
| 187 | rtems_semaphore_release: no waiting tasks 16 |
---|
| 188 | rtems_semaphore_release: task readied -- returns to caller 36 |
---|
| 189 | rtems_semaphore_release: task readied -- preempts caller 36 |
---|
| 190 | |
---|
| 191 | Message Queue Manager |
---|
| 192 | |
---|
| 193 | rtems_message_queue_create 110 |
---|
| 194 | rtems_message_queue_ident 82 |
---|
| 195 | rtems_message_queue_delete 43 |
---|
| 196 | rtems_message_queue_send: no waiting tasks 28 |
---|
| 197 | rtems_message_queue_send: task readied -- returns to caller 31 |
---|
| 198 | rtems_message_queue_send: task readied -- preempts caller 46 |
---|
| 199 | rtems_message_queue_urgent: no waiting tasks 28 |
---|
| 200 | rtems_message_queue_urgent: task readied -- returns to caller 31 |
---|
| 201 | rtems_message_queue_urgent: task readied -- preempts caller 46 |
---|
| 202 | rtems_message_queue_broadcast: no waiting tasks 22 |
---|
| 203 | rtems_message_queue_broadcast: task readied -- returns to caller 81 |
---|
| 204 | rtems_message_queue_broadcast: task readied -- preempts caller 75 |
---|
| 205 | rtems_message_queue_receive: available 26 |
---|
| 206 | rtems_message_queue_receive: not available -- NO_WAIT 15 |
---|
| 207 | rtems_message_queue_receive: not available -- caller blocks 48 |
---|
| 208 | rtems_message_queue_flush: no messages flushed 14 |
---|
| 209 | rtems_message_queue_flush: messages flushed 14 |
---|
| 210 | |
---|
| 211 | Event Manager |
---|
| 212 | |
---|
| 213 | rtems_event_send: no task readied 12 |
---|
| 214 | rtems_event_send: task readied -- returns to caller 38 |
---|
| 215 | rtems_event_send: task readied -- preempts caller 21 |
---|
| 216 | rtems_event_receive: obtain current events 1 |
---|
| 217 | rtems_event_receive: available 19 |
---|
| 218 | rtems_event_receive: not available -- NO_WAIT 11 |
---|
| 219 | rtems_event_receive: not available -- caller blocks 36 |
---|
| 220 | |
---|
| 221 | Signal Manager |
---|
| 222 | |
---|
| 223 | rtems_signal_catch: 31 |
---|
| 224 | rtems_signal_send: returns to caller 21 |
---|
| 225 | rtems_signal_send: signal to self 39 |
---|
| 226 | exit ASR overhead: returns to calling task 30 |
---|
| 227 | exit ASR overhead: returns to preempting task 33 |
---|
| 228 | |
---|
| 229 | Partition Manager |
---|
| 230 | |
---|
| 231 | rtems_partition_create 59 |
---|
| 232 | rtems_partition_ident 82 |
---|
| 233 | rtems_partition_delete 20 |
---|
| 234 | rtems_partition_get_buffer: available 19 |
---|
| 235 | rtems_partition_get_buffer: not available 13 |
---|
| 236 | rtems_partition_return_buffer 20 |
---|
| 237 | |
---|
| 238 | Region Manager |
---|
| 239 | |
---|
| 240 | rtems_region_create 37 |
---|
| 241 | rtems_region_ident 84 |
---|
| 242 | rtems_region_delete 20 |
---|
| 243 | rtems_region_get_segment: available 19 |
---|
| 244 | rtems_region_get_segment: not available -- NO_WAIT 23 |
---|
| 245 | rtems_region_get_segment: not available -- caller blocks 75 |
---|
| 246 | rtems_region_return_segment: no waiting tasks 21 |
---|
| 247 | rtems_region_return_segment: task readied -- returns to caller 55 |
---|
| 248 | rtems_region_return_segment: task readied -- preempts caller 82 |
---|
| 249 | |
---|
| 250 | Dual-Ported Memory Manager |
---|
| 251 | |
---|
| 252 | rtems_port_create 23 |
---|
| 253 | rtems_port_ident 82 |
---|
| 254 | rtems_port_delete 21 |
---|
| 255 | rtems_port_internal_to_external 10 |
---|
| 256 | rtems_port_external_to_internal 11 |
---|
| 257 | |
---|
| 258 | IO Manager |
---|
| 259 | |
---|
| 260 | rtems_io_initialize 1 |
---|
| 261 | rtems_io_open 1 |
---|
| 262 | rtems_io_close 1 |
---|
| 263 | rtems_io_read 1 |
---|
| 264 | rtems_io_write 1 |
---|
| 265 | rtems_io_control 1 |
---|
| 266 | |
---|
| 267 | Rate Monotonic Manager |
---|
| 268 | |
---|
| 269 | rtems_rate_monotonic_create 43 |
---|
| 270 | rtems_rate_monotonic_ident 82 |
---|
| 271 | rtems_rate_monotonic_cancel 23 |
---|
| 272 | rtems_rate_monotonic_delete: active 28 |
---|
| 273 | rtems_rate_monotonic_delete: inactive 25 |
---|
| 274 | rtems_rate_monotonic_period: obtain status 17 |
---|
| 275 | rtems_rate_monotonic_period: initiate period -- returns to caller 32 |
---|
| 276 | rtems_rate_monotonic_period: conclude periods -- caller blocks 30 |
---|
| 277 | |
---|
| 278 | Network tests: |
---|
| 279 | TCP throughput (as measured by ttcp): |
---|
| 280 | Receive: 1324 kbytes/sec |
---|
| 281 | Transmit: 1037 kbytes/sec |
---|
| 282 | |
---|
| 283 | |
---|
| 284 | |
---|
| 285 | |
---|
| 286 | |
---|
| 287 | |
---|
| 288 | |
---|
| 289 | |
---|