Files
rtems/bsps/m68k/mcf5329
Shashvat Jain cc119eb1cc m68k/mcf5329:Add per-section compilation and linking support (GCI 2018)
The size of the sample executables without this option were:

   text    data     bss     dec     hex filename
  87654    1152   11968  100774   189a6 base_sp.exe
 203318    2112   14896  220326   35ca6 capture.exe
 257014    2912   12960  272886   429f6 cdtest.exe
 865750   21888   19648  907286   dd816 cxx_iostream.exe
 569078    4640   24352  598070   92036 fileio.exe
 121094    1520   12048  134662   20e06 hello.exe
  70614    1024    8768   80406   13a16 minimum.exe
 110806    1632   12080  124518   1e666 nsecs.exe
 196326    1920   12688  210934   337f6 paranoia.exe
  90406    1184   12000  103590   194a6 ticker.exe
  89958    1136   15808  106902   1a196 unlimited.exe

The size of the sample executables with this option were:

   text    data     bss     dec     hex filename
  83270    1152   11888   96310   17836 base_sp.exe
 189974    2112   14864  206950   32866 capture.exe
 188982    2144   12928  204054   31d16 cdtest.exe
 188662    2240   13072  203974   31cc6 cxx_iostream.exe
 556822    4624   24048  585494   8ef16 fileio.exe
 112422    1520   12016  125958   1ec06 hello.exe
  66086    1008    8688   75782   12806 minimum.exe
 104982    1632   11984  118598   1cf46 nsecs.exe
 187958    1904   12656  202518   31716 paranoia.exe
  85766    1184   11920   98870   18236 ticker.exe
  88406    1120   15776  105302   19b56 unlimited.exe

Closes #2569
2018-11-28 14:39:53 -06:00
..
2018-04-20 13:52:19 +02:00
2018-01-25 08:45:26 +01:00
2018-01-25 08:45:26 +01:00

Description: Motorola MCF5329EVB Zoom + (LogicPD)
============
CPU: MCF5329, 240MHz
CORESRAM: 32K
FLASH: 2M
DRAM: 32M

This is a Motorola Zoom evaluation board that uses the MCF5329 Coldfire CPU on
a logicPD card.  This board is running at 240MHz with DRAM clocking at 80MHz.

The bsp is configured for the MT46V16M16TG-75:F DRAM.

NOTES:
======

This BSP is based heavily off the 5235 BSP.

TODO:
======

Add other drivers for can, i2c, lcd (fb), qspi etc.

============================================================================

      Interrupt map

+-----+
|     |
+-----+
|LEVEL|
+-----+
|  7  |
+-----+
|  6  |
+-----+
|  5  |
+-----+
|  4  | FEC RX, FEC TX, PIT
+-----+
|  3  | UART 0, UART 1, UART 2
+-----+
|  2  |
+-----+
|  1  |
+-----+

============================================================================
      Timings

*** TIME TEST 1 ***
rtems_semaphore_create 11
rtems_semaphore_delete 9
rtems_semaphore_obtain: available 0
rtems_semaphore_obtain: not available -- NO_WAIT 0
rtems_semaphore_release: no waiting tasks 2
*** END OF TEST 1 ***

*** TIME TEST 2 ***
rtems_semaphore_obtain: not available -- caller blocks 14
*** END OF TEST 2 ***

*** TIME TEST 3 ***
rtems_semaphore_release: task readied -- preempts caller 11
*** END OF TEST 3 ***

*** TIME TEST 4 ***
rtems_task_restart: blocked task -- preempts caller 24
rtems_task_restart: ready task -- preempts caller 15
rtems_semaphore_release: task readied -- returns to caller 3
rtems_task_create 40
rtems_task_start 7
rtems_task_restart: suspended task -- returns to caller 8
rtems_task_delete: suspended task 18
rtems_task_restart: ready task -- returns to caller 9
rtems_task_restart: blocked task -- returns to caller 10
rtems_task_delete: blocked task 19
*** END OF TEST 4 ***

*** TIME TEST 5 ***
rtems_task_suspend: calling task 11
rtems_task_resume: task readied -- preempts caller 9
*** END OF TEST 5 ***

*** TIME TEST 6 ***
rtems_task_restart: calling task 4
rtems_task_suspend: returns to caller 2
rtems_task_resume: task readied -- returns to caller 2
rtems_task_delete: ready task 19
*** END OF TEST 6 ***

*** TIME TEST 7 ***
rtems_task_restart: suspended task -- preempts caller 15
*** END OF TEST 7 ***

*** TIME TEST 9 ***
rtems_message_queue_create 45
rtems_message_queue_send: no waiting tasks 2
rtems_message_queue_urgent: no waiting tasks 2
rtems_message_queue_receive: available 3
rtems_message_queue_flush: no messages flushed 1
rtems_message_queue_flush: messages flushed 1
rtems_message_queue_delete 12
*** END OF TEST 9 ***

*** TIME TEST 10 ***
rtems_message_queue_receive: not available -- NO_WAIT 1
rtems_message_queue_receive: not available -- caller blocks 14
*** END OF TEST 10 ***

*** TIME TEST 11 ***
rtems_message_queue_send: task readied -- preempts caller 13
*** END OF TEST 11 ***

*** TIME TEST 12 ***
rtems_message_queue_send: task readied -- returns to caller 5
*** END OF TEST 12 ***

*** TIME TEST 13 ***
rtems_message_queue_urgent: task readied -- preempts caller 13
*** END OF TEST 13 ***

*** TIME TEST 14 ***
rtems_message_queue_urgent: task readied -- returns to caller 5
*** END OF TEST 14 ***

*** TIME TEST 15 ***
rtems_event_receive: obtain current events 0
rtems_event_receive: not available -- NO_WAIT 1
rtems_event_receive: not available -- caller blocks 12
rtems_event_send: no task readied 1
rtems_event_receive: available 3
rtems_event_send: task readied -- returns to caller 4
*** END OF TEST 15 ***

*** TIME TEST 16 ***
rtems_event_send: task readied -- preempts caller 13
*** END OF TEST 16 ***

*** TIME TEST 17 ***
rtems_task_set_priority: preempts caller 13
*** END OF TEST 17 ***

*** TIME TEST 18 ***
rtems_task_delete: calling task 30
*** END OF TEST 18 ***

*** TIME TEST 19 ***
rtems_signal_catch 2
rtems_signal_send: returns to caller 5
rtems_signal_send: signal to self 11
exit ASR overhead: returns to calling task 6
exit ASR overhead: returns to preempting task 11
*** END OF TEST 19 ***

*** TIME TEST 20 ***
rtems_partition_create 15
rtems_region_create 20
rtems_partition_get_buffer: available 4
rtems_partition_get_buffer: not available 1
rtems_partition_return_buffer 4
rtems_partition_delete 6
rtems_region_get_segment: available 6
rtems_region_get_segment: not available -- NO_WAIT 5
rtems_region_return_segment: no waiting tasks 5
rtems_region_get_segment: not available -- caller blocks 29
rtems_region_return_segment: task readied -- preempts caller 29
rtems_region_return_segment: task readied -- returns to caller 11
rtems_region_delete 6
rtems_io_initialize 0
rtems_io_open 0
rtems_io_close 0
rtems_io_read 0
rtems_io_write 0
rtems_io_control 0
*** END OF TEST 20 ***

*** TIME TEST 21 ***
rtems_task_ident 4
rtems_message_queue_ident 3
rtems_semaphore_ident 4
rtems_partition_ident 3
rtems_region_ident 3
rtems_port_ident 3
rtems_timer_ident 3
rtems_rate_monotonic_ident 3
*** END OF TEST 21 ***

*** TIME TEST 22 ***
rtems_message_queue_broadcast: task readied -- returns to caller 16
rtems_message_queue_broadcast: no waiting tasks 2
rtems_message_queue_broadcast: task readied -- preempts caller 12
*** END OF TEST 22 ***

*** TIME TEST 23 ***
rtems_timer_create 2
rtems_timer_fire_after: inactive 2
rtems_timer_fire_after: active 1
rtems_timer_cancel: active 1
rtems_timer_cancel: inactive 1
rtems_timer_reset: inactive 2
rtems_timer_reset: active 2
rtems_timer_fire_when: inactive 2
rtems_timer_fire_when: active 2
rtems_timer_delete: active 2
rtems_timer_delete: inactive 2
rtems_task_wake_when 13
*** END OF TEST 23 ***

*** TIME TEST 24 ***
rtems_task_wake_after: yield -- returns to caller 0
rtems_task_wake_after: yields -- preempts caller 9
*** END OF TEST 24 ***

*** TIME TEST 25 ***
rtems_clock_tick 10
*** END OF TEST 25 ***

*** TIME TEST 26 ***
_ISR_Disable 1
_ISR_Flash 0
_ISR_Enable 0
_Thread_Disable_dispatch 0
_Thread_Enable_dispatch 1
_Thread_Set_state 4
_Thread_Disptach (NO FP) 11
context switch: no floating point contexts 5
context switch: self 0
context switch: to another task 1
fp context switch: restore 1st FP task 5
fp context switch: save idle, restore initialized 1
fp context switch: save idle, restore idle 6
fp context switch: save initialized, restore initialized 1
_Thread_Resume 5
_Thread_Unblock 3
_Thread_Ready 2
_Thread_Get 0
_Semaphore_Get 0
_Thread_Get: invalid id 0
*** END OF TEST 26 ***

*** TIME TEST 27 ***
interrupt entry overhead: returns to interrupted task 1
interrupt exit overhead: returns to interrupted task 1
interrupt entry overhead: returns to nested interrupt 0
interrupt exit overhead: returns to nested interrupt 0
interrupt entry overhead: returns to preempting task 1
interrupt exit overhead: returns to preempting task 9
*** END OF TEST 27 ***

*** TIME TEST 28 ***
rtems_port_create 5
rtems_port_external_to_internal 1
rtems_port_internal_to_external 1
rtems_port_delete 4
*** END OF TEST 28 ***

*** TIME TEST 29 ***
rtems_rate_monotonic_create 8
rtems_rate_monotonic_period: initiate period -- returns to caller 14
rtems_rate_monotonic_period: obtain status 3
rtems_rate_monotonic_cancel 6
rtems_rate_monotonic_delete: inactive 7
rtems_rate_monotonic_delete: active 3
rtems_rate_monotonic_period: conclude periods -- caller blocks 15
*** END OF TEST 29 ***


*** TIME TEST OVERHEAD ***
rtems_shutdown_executive 0
rtems_task_create 0
rtems_task_ident 0
rtems_task_start 0
rtems_task_restart 0
rtems_task_delete 0
rtems_task_suspend 0
rtems_task_resume 0
rtems_task_set_priority 0
rtems_task_mode 0
rtems_task_wake_when 0
rtems_task_wake_after 0
rtems_interrupt_catch 0
rtems_clock_get 0
rtems_clock_set 0
rtems_clock_tick 0
<pause>
rtems_timer_create 0
rtems_timer_delete 0
rtems_timer_ident 0
rtems_timer_fire_after 0
rtems_timer_fire_when 0
rtems_timer_reset 0
rtems_timer_cancel 0
rtems_semaphore_create 0
rtems_semaphore_delete 0
rtems_semaphore_ident 0
rtems_semaphore_obtain 0
rtems_semaphore_release 0
rtems_message_queue_create 0
rtems_message_queue_ident 0
rtems_message_queue_delete 0
rtems_message_queue_send 0
rtems_message_queue_urgent 0
rtems_message_queue_broadcast 0
rtems_message_queue_receive 0
rtems_message_queue_flush 0
<pause>
rtems_event_send 0
rtems_event_receive 0
rtems_signal_catch 0
rtems_signal_send 0
rtems_partition_create 0
rtems_partition_ident 0
rtems_partition_delete 0
rtems_partition_get_buffer 0
rtems_partition_return_buffer 0
rtems_region_create 0
rtems_region_ident 0
rtems_region_delete 0
rtems_region_get_segment 0
rtems_region_return_segment 0
rtems_port_create 0
rtems_port_ident 0
rtems_port_delete 0
rtems_port_external_to_internal 0
rtems_port_internal_to_external 0
<pause>
rtems_io_initialize 0
rtems_io_open 0
rtems_io_close 0
rtems_io_read 0
rtems_io_write 0
rtems_io_control 0
rtems_fatal_error_occurred 0
rtems_rate_monotonic_create 0
rtems_rate_monotonic_ident 0
rtems_rate_monotonic_delete 0
rtems_rate_monotonic_cancel 0
rtems_rate_monotonic_period 0
rtems_multiprocessing_announce 0
*** END OF TIME OVERHEAD ***