Warning, /bsps/m68k/av5282/README.md is written in an unsupported language. File is not indexed.
0001 Avnet MCF5282
0002 =============
0003 ```
0004 CPU: MCF5282, 59MHz
0005 RAM: 16M
0006 ROM: 8M
0007 ```
0008 This is an evaluation board that uses the MCF5282 Coldfire CPU. It runs at about 59MHz scaled
0009 from a 7.372MHz crystal and is integrated with the Avnet designed AvBus.
0010
0011 ACKNOWLEDGEMENTS
0012 ----------------
0013 This BSP is based on the work of:
0014 D. Peter Siddons
0015 Brett Swimley
0016 Jay Monkman
0017 Eric Norum
0018 Mike Bertosh
0019
0020 ```
0021 BSP NAME: av5282
0022 BOARD: Avnet MCF5282
0023 CPU FAMILY: ColdFire 5282
0024 CPU: MCF5282
0025 COPROCESSORS: N/A
0026
0027 DEBUG MONITOR: AVMON
0028 ```
0029
0030
0031 PERIPHERALS
0032 -----------
0033 ```
0034 TIMERS: Four PIT (RTEMS clock is PIT3), Four Timers
0035 RESOLUTION: 10 microsecond
0036 SERIAL PORTS: Internal UART 1, 2 and 3
0037 REAL-TIME CLOCK: none
0038 DMA: none
0039 VIDEO: none
0040 SCSI: none
0041 NETWORKING: Internal 10/100MHz FEC
0042 ```
0043
0044 DRIVER INFORMATION
0045 ------------------
0046 ```
0047 CLOCK DRIVER: PIT3
0048 IOSUPP DRIVER: none
0049 SHMSUPP: none
0050 TIMER DRIVER: TIMER3
0051 TTY DRIVER: UART1, 2 and 3
0052 ```
0053
0054 STDIO
0055 -----
0056 ```
0057 PORT: UART1 Terminal
0058 ELECTRICAL: RS-232
0059 BAUD: 19200
0060 BITS PER CHARACTER: 8
0061 PARITY: None
0062 STOP BITS: 1
0063 ```
0064
0065 Memory map
0066 ==========
0067 Memory map as set up by AVMON bootstrap and BSP initialization
0068 ```
0069 +--------------------------------------------------+
0070 0000 0000 | 16 MByte SDRAM | 00FF FFFF
0071 0100 0000 | --------------------------------------------- |
0072 | Address space for future SDRAM expansion |
0073 . .
0074 . .
0075 . .
0076 | | 0FFF FFFF
0077 +--------------------------------------------------+
0078 1000 0000 | |
0079 . .
0080 . .
0081 . .
0082 | | 1FFF FFFF
0083 +--------------------------------------------------+
0084 2000 0000 | 64 kByte on-chip SRAM (RAMBAR) |
0085 . .
0086 . .
0087 . .
0088 | | 2FFF FFFF
0089 +--------------------------------------------------+
0090 3000 0000 | | 30FF FFFF
0091 . .
0092 . .
0093 . .
0094 | | 3FFF FFFF
0095 +--------------------------------------------------+
0096 4000 0000 | Internal peripheral system (IPSBAR) |
0097 . .
0098 | |
0099 . .
0100 . .
0101 . .
0102 | | 4FFF FFFF
0103 +--------------------------------------------------+
0104 . .
0105 . .
0106 . .
0107 +--------------------------------------------------+
0108 F000 0000 | 512 kByte on-chip flash (FLASHBAR) |
0109 . .
0110 FF80 0000 | External 8 MByte Flash memory .
0111 . .
0112 | | FFFF FFFF
0113 +--------------------------------------------------+
0114 ```
0115
0116
0117 Interrupt map
0118 =============
0119 ```
0120 +-----+-----------------------------------------------------------------------+
0121 | | PRIORITY |
0122 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0123 |LEVEL| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
0124 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0125 | 7 | | | | | | | | |
0126 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0127 | 6 | | | | | | | | |
0128 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0129 | 5 | | | | | | | | |
0130 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0131 | 4 | FEC RX | FEC TX | | | | | | PIT |
0132 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0133 | 3 | UART 0 | UART 1 | UART 2 | | | | | |
0134 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0135 | 2 | | | | | | | | |
0136 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0137 | 1 | | | | | | | | |
0138 +-----+--------+--------+--------+--------+--------+--------+--------+--------+
0139 ```
0140
0141 TIMING TESTS
0142 ------------
0143 ```
0144 *** TIME TEST 1 ***
0145 rtems_semaphore_create 28
0146 rtems_semaphore_delete 31
0147 rtems_semaphore_obtain: available 6
0148 rtems_semaphore_obtain: not available -- NO_WAIT 7
0149 rtems_semaphore_release: no waiting tasks 14
0150 *** END OF TEST 1 ***
0151
0152 *** TIME TEST 2 ***
0153 rtems_semaphore_obtain: not available -- caller blocks 57
0154 *** END OF TEST 2 ***
0155
0156 *** TIME TEST 3 ***
0157 rtems_semaphore_release: task readied -- preempts caller 39
0158 *** END OF TEST 3 ***
0159
0160 *** TIME TEST 4 ***
0161 rtems_task_restart: blocked task -- preempts caller 86
0162 rtems_task_restart: ready task -- preempts caller 82
0163 rtems_semaphore_release: task readied -- returns to caller 28
0164 rtems_task_create 139
0165 rtems_task_start 32
0166 rtems_task_restart: suspended task -- returns to caller 42
0167 rtems_task_delete: suspended task 99
0168 rtems_task_restart: ready task -- returns to caller 44
0169 rtems_task_restart: blocked task -- returns to caller 59
0170 rtems_task_delete: blocked task 104
0171 *** END OF TEST 4 ***
0172
0173 *** TIME TEST 5 ***
0174 rtems_task_suspend: calling task 36
0175 rtems_task_resume: task readied -- preempts caller 33
0176 *** END OF TEST 5 ***
0177
0178 *** TIME TEST 6 ***
0179 rtems_task_restart: calling task 45
0180 rtems_task_suspend: returns to caller 12
0181 rtems_task_resume: task readied -- returns to caller 15
0182 rtems_task_delete: ready task 106
0183 *** END OF TEST 6 ***
0184
0185 *** TIME TEST 7 ***
0186 rtems_task_restart: suspended task -- preempts caller 68
0187 *** END OF TEST 7 ***
0188
0189 *** TIME TEST 9 ***
0190 rtems_message_queue_create 81
0191 rtems_message_queue_send: no waiting tasks 30
0192 rtems_message_queue_urgent: no waiting tasks 31
0193 rtems_message_queue_receive: available 30
0194 rtems_message_queue_flush: no messages flushed 12
0195 rtems_message_queue_flush: messages flushed 18
0196 rtems_message_queue_delete 42
0197 *** END OF TEST 9 ***
0198
0199 *** TIME TEST 10 ***
0200 rtems_message_queue_receive: not available -- NO_WAIT 16
0201 rtems_message_queue_receive: not available -- caller blocks 58
0202 *** END OF TEST 10 ***
0203
0204 *** TIME TEST 11 ***
0205 rtems_message_queue_send: task readied -- preempts caller 53
0206 *** END OF TEST 11 ***
0207
0208 *** TIME TEST 12 ***
0209 rtems_message_queue_send: task readied -- returns to caller 35
0210 *** END OF TEST 12 ***
0211
0212 *** TIME TEST 13 ***
0213 rtems_message_queue_urgent: task readied -- preempts caller 51
0214 *** END OF TEST 13 ***
0215
0216 *** TIME TEST 14 ***
0217 rtems_message_queue_urgent: task readied -- returns to caller 33
0218 *** END OF TEST 14 ***
0219
0220 *** TIME TEST 15 ***
0221 rtems_event_receive: obtain current events 0
0222 rtems_event_receive: not available -- NO_WAIT 9
0223 rtems_event_receive: not available -- caller blocks 46
0224 rtems_event_send: no task readied 7
0225 rtems_event_receive: available 13
0226 rtems_event_send: task readied -- returns to caller 19
0227 *** END OF TEST 15 ***
0228
0229 *** TIME TEST 16 ***
0230 rtems_event_send: task readied -- preempts caller 35
0231 *** END OF TEST 16 ***
0232
0233 *** TIME TEST 17 ***
0234 rtems_task_set_priority: preempts caller 56
0235 *** END OF TEST 17 ***
0236
0237 *** TIME TEST 18 ***
0238 rtems_task_delete: calling task 124
0239 *** END OF TEST 18 ***
0240
0241 *** TIME TEST 19 ***
0242 rtems_signal_catch 8
0243 rtems_signal_send: returns to caller 17
0244 rtems_signal_send: signal to self 29
0245 exit ASR overhead: returns to calling task 23
0246 exit ASR overhead: returns to preempting task 26
0247 *** END OF TEST 19 ***
0248
0249 *** TIME TEST 20 ***
0250 rtems_partition_create 29
0251 rtems_region_create 59
0252 rtems_partition_get_buffer: available 15
0253 rtems_partition_get_buffer: not available 8
0254 rtems_partition_return_buffer 16
0255 rtems_partition_delete 14
0256 rtems_region_get_segment: available 38
0257 rtems_region_get_segment: not available -- NO_WAIT 41
0258 rtems_region_return_segment: no waiting tasks 42
0259 rtems_region_get_segment: not available -- caller blocks 80
0260 rtems_region_return_segment: task readied -- preempts caller 108
0261 rtems_region_return_segment: task readied -- returns to caller 86
0262 rtems_region_delete 36
0263 rtems_io_initialize 1
0264 rtems_io_open 2
0265 rtems_io_close 2
0266 rtems_io_read 1
0267 rtems_io_write 1
0268 rtems_io_control 1
0269 *** END OF TEST 20 ***
0270
0271 *** TIME TEST 21 ***
0272 rtems_task_ident 73
0273 rtems_message_queue_ident 74
0274 rtems_semaphore_ident 85
0275 rtems_partition_ident 73
0276 rtems_region_ident 75
0277 rtems_port_ident 73
0278 rtems_timer_ident 76
0279 rtems_rate_monotonic_ident 72
0280 *** END OF TEST 21 *
0281
0282 *** TIME TEST 22 ***
0283 rtems_message_queue_broadcast: task readied -- returns to caller 48
0284 rtems_message_queue_broadcast: no waiting tasks 18
0285 rtems_message_queue_broadcast: task readied -- preempts caller 58
0286 *** END OF TEST 22 ***
0287
0288 *** TIME TEST 23 ***
0289 rtems_timer_create 10
0290 rtems_timer_fire_after: inactive 20
0291 rtems_timer_fire_after: active 24
0292 rtems_timer_cancel: active 8
0293 rtems_timer_cancel: inactive 8
0294 rtems_timer_reset: inactive 16
0295 rtems_timer_reset: active 17
0296 rtems_timer_fire_when: inactive 35
0297 rtems_timer_fire_when: active 35
0298 rtems_timer_delete: active 16
0299 rtems_timer_delete: inactive 14
0300 rtems_task_wake_when 53
0301 *** END OF TEST 23 ***
0302
0303 *** TIME TEST 24 ***
0304 rtems_task_wake_after: yield -- returns to caller 5
0305 rtems_task_wake_after: yields -- preempts caller 30
0306 *** END OF TEST 24 ***
0307
0308 *** TIME TEST 25 ***
0309 rtems_clock_tick 11
0310 *** END OF TEST 25 ***
0311
0312 *** TIME TEST 26 ***
0313 _ISR_Disable 0
0314 _ISR_Flash 0
0315 _ISR_Enable 0
0316 _Thread_Disable_dispatch 0
0317 _Thread_Enable_dispatch 3
0318 _Thread_Set_state 12
0319 _Thread_Disptach (NO FP) 23
0320 context switch: no floating point contexts 19
0321 context switch: self 3
0322 context switch: to another task 2
0323 fp context switch: restore 1st FP task 19
0324 fp context switch: save idle, restore initialized 4
0325 fp context switch: save idle, restore idle 17
0326 fp context switch: save initialized, restore initialized 4
0327 _Thread_Resume 11
0328 _Thread_Unblock 8
0329 _Thread_Ready 7
0330 _Thread_Get 4
0331 _Semaphore_Get 2
0332 _Thread_Get: invalid id 0
0333 *** END OF TEST 26 ***
0334
0335 *** TIME TEST 27 ***
0336 interrupt entry overhead: returns to interrupted task 5
0337 interrupt exit overhead: returns to interrupted task 4
0338 interrupt entry overhead: returns to nested interrupt 3
0339 interrupt exit overhead: returns to nested interrupt 3
0340 interrupt entry overhead: returns to preempting task 6
0341 interrupt exit overhead: returns to preempting task 30
0342 *** END OF TEST 27 ***
0343
0344 *** TIME TEST 28 ***
0345 rtems_port_create 18
0346 rtems_port_external_to_internal 6
0347 rtems_port_internal_to_external 7
0348 rtems_port_delete 18
0349 *** END OF TEST 28 ***
0350
0351 *** TIME TEST 29 ***
0352 rtems_rate_monotonic_create 18
0353 rtems_rate_monotonic_period: initiate period -- returns to caller 29
0354 rtems_rate_monotonic_period: obtain status 15
0355 rtems_rate_monotonic_cancel 19
0356 rtems_rate_monotonic_delete: inactive 22
0357 rtems_rate_monotonic_delete: active 24
0358 rtems_rate_monotonic_period: conclude periods -- caller blocks 36
0359 *** END OF TEST 29 ***
0360
0361 *** TIME CHECKER ***
0362 Units may not be in microseconds for this test!!!
0363 0 100000
0364 Total time = 0
0365 Average time = 0
0366 <pause>
0367 NULL timer stopped at 0
0368 LOOP (1000) timer stopped at 225
0369 LOOP (10000) timer stopped at 2242
0370 LOOP (50000) timer stopped at 11207
0371 LOOP (100000) timer stopped at 22414
0372 *** END OF TIME CHECKER ***
0373
0374 *** TIME TEST OVERHEAD ***
0375 rtems_initialize_executive 0
0376 rtems_shutdown_executive 0
0377 rtems_task_create 1
0378 rtems_task_ident 0
0379 rtems_task_start 0
0380 rtems_task_restart 0
0381 rtems_task_delete 0
0382 rtems_task_suspend 0
0383 rtems_task_resume 0
0384 rtems_task_set_priority 0
0385 rtems_task_mode 0
0386 rtems_task_wake_when 1
0387 rtems_task_wake_after 0
0388 rtems_interrupt_catch 0
0389 rtems_clock_get 1
0390 rtems_clock_set 1
0391 rtems_clock_tick 0
0392 <pause>
0393 rtems_timer_create 0
0394 rtems_timer_delete 0
0395 rtems_timer_ident 0
0396 rtems_timer_fire_after 0
0397 rtems_timer_fire_when 1
0398 rtems_timer_reset 0
0399 rtems_timer_cancel 0
0400 rtems_semaphore_create 1
0401 rtems_semaphore_delete 0
0402 rtems_semaphore_ident 0
0403 rtems_semaphore_obtain 0
0404 rtems_semaphore_release 0
0405 rtems_message_queue_create 0
0406 rtems_message_queue_ident 0
0407 rtems_message_queue_delete 0
0408 rtems_message_queue_send 0
0409 rtems_message_queue_urgent 0
0410 rtems_message_queue_broadcast 0
0411 rtems_message_queue_receive 0
0412 rtems_message_queue_flush 0
0413 <pause>
0414 rtems_event_send 0
0415 rtems_event_receive 0
0416 rtems_signal_catch 0
0417 rtems_signal_send 0
0418 rtems_partition_create 1
0419 rtems_partition_ident 0
0420 rtems_partition_delete 0
0421 rtems_partition_get_buffer 0
0422 rtems_partition_return_buffer 0
0423 rtems_region_create 1
0424 rtems_region_ident 0
0425 rtems_region_delete 0
0426 rtems_region_get_segment 1
0427 rtems_region_return_segment 0
0428 rtems_port_create 1
0429 rtems_port_ident 0
0430 rtems_port_delete 0
0431 rtems_port_external_to_internal 0
0432 rtems_port_internal_to_external 0
0433 <pause>
0434 rtems_io_initialize 0
0435 rtems_io_open 0
0436 rtems_io_close 0
0437 rtems_io_read 0
0438 rtems_io_write 0
0439 rtems_io_control 0
0440 rtems_fatal_error_occurred 0
0441 rtems_rate_monotonic_create 0
0442 rtems_rate_monotonic_ident 0
0443 rtems_rate_monotonic_delete 0
0444 rtems_rate_monotonic_cancel 0
0445 rtems_rate_monotonic_period 0
0446 rtems_multiprocessing_announce 0
0447 *** END OF TIME OVERHEAD ***
0448 ```