Back to home page

LXR

 
 

    


Warning, /bsps/m68k/mcf5235/README.md is written in an unsupported language. File is not indexed.

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