From eb36d1198cdf9dc1e2f776ef6e1e38755f6d13c5 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Wed, 25 Apr 2018 15:06:08 +0200 Subject: bsps: Move documentation, etc. files to bsps This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/m68k/uC5282/README | 236 ---------------------------- c/src/lib/libbsp/m68k/uC5282/TIMES | 305 ------------------------------------ 2 files changed, 541 deletions(-) delete mode 100644 c/src/lib/libbsp/m68k/uC5282/README delete mode 100644 c/src/lib/libbsp/m68k/uC5282/TIMES (limited to 'c/src/lib/libbsp/m68k/uC5282') diff --git a/c/src/lib/libbsp/m68k/uC5282/README b/c/src/lib/libbsp/m68k/uC5282/README deleted file mode 100644 index e237c695bc..0000000000 --- a/c/src/lib/libbsp/m68k/uC5282/README +++ /dev/null @@ -1,236 +0,0 @@ -Description: Arcturus Networks uC DIMM ColdFire 5282 -============ - CPU: MCF5282, 64MHz - RAM: 16M -SRAM: 64k (BSP places FEC buffer descriptors here) - ROM: 4M - -This is a credit-card sized board in a DIMM format. It is part of a family -which includes Dragonball and Coldfire CPUs, with a standardized DIMM-based bus. - -ACKNOWLEDGEMENTS: -================= -This BSP is based on the work of: - D. Peter Siddons - Till Straumann - Brett Swimley - Jay Monkman - -TODO: -===== -The bsp relies on the Arcturus monitor to set up DRAM and all chip selects. -This seems OK to me, but others may find it lame..... - -I/O pin restrictions make simultaneous operation of I2C, CAN and UART2 -impossible. The BSP configures UART2 to use the CAN pins and leaves -the I2C pins available for use. - -BSP NAME: uC5282 -BOARD: Arcturus Netrworks uCdimm 5282 -BUS: Arcturus DIMM bus, A24/D16, plus peripherals. -CPU FAMILY: ColdFire 5282 -CPU: MCF5282 -COPROCESSORS: N/A - -DEBUG MONITOR: Arcturus bootloader - -PERIPHERALS -=========== -TIMERS: Four PIT (RTEMS clock is PIT3), Four Timers - RESOLUTION: 1 microsecond -SERIAL PORTS: Internal UART 0, 1 and 2 -REAL-TIME CLOCK: none -DMA: none -VIDEO: none -SCSI: none -NETWORKING: Internal 10/100Mbs FEC, 100 Mb/s, full/half-duplex - -DRIVER INFORMATION -================== -CLOCK DRIVER: PIT3 -IOSUPP DRIVER: none -SHMSUPP: none -TIMER DRIVER: TIMER3 -TTY DRIVER: UART0, 1 and 2 - -STDIO -===== -PORT: UART0 Terminal -ELECTRICAL: RS-232 -BAUD: 9600 -BITS PER CHARACTER: 8 -PARITY: None -STOP BITS: 1 - -Downloading the image to the board. -=================================== -The bootable image is generated by the make-exe target in the bsp makefile. It -generates a simple stripped binary file which is downloaded over the ethernet -port into RAM then executed or programmed into flash memory. - -1) Power up the uC5282 board. A dump of some memory maps is produced - followed by a prompt. - -2) (first time only) - Set the uC5282 board Internet configuration: - setenv IPADDR0 www.xxx.yyy.zzz (Your board's address) - setenv NETMASK ppp.qqq.rrr.sss (Your local network address mask) - setenv HOSTNAME somename (Your board's name) - -3) Type 'tftp' - This forces the network link to half-duplex. If your network link is - locked at full duplex you'll have to find another port! - The RTEMS network driver can be forced to 100 Mbs/full-duplex by setting - the bootstrap environment variable IPADDR0_100FULL to Y. The driver can - be forced to 10 Mbs/half-duplex by setting the bootstrap environment - variable IPADDR0_10HALF to Y. - -4) Run 'tftp' on your host machine: - tftp> binary - tftp> connect www.xxx.yyy.zzz (Your ucDIMM's address) - tftp> put someFile.exe (someFile.boot for the EPICS build system) - -5) When the file has downloaded press the key to terminate - the uCDIMM tftp command. - -6) Type 'goram' to start the downloaded program, or type 'program' -to burn the code onto the uCDIMM flash. - -Clock Speed Determination Algorithm -=================================== -Till Straumann submitted a patch to provide more dynamic clock speed -selection. - -Currently, the uC5282 BSP requires relinking the application with a -special linker flag in order to make it work with 80MHz boards (breaking -run-time compatibility with 64MHz variants). - -The change aims adds support for run-time guessing/setting of -the system-clock frequency: - -1) If uCbootloader environment variable SYS_CLOCK_SPEED is set to a -non-zero number then the BSP assumes this number to specify the clock -frequency in Hz. - -2) If 1) yields no non-zero frequency then the linker-provided symbol -_CPUClockSpeed is assumed to specify the clock frequency (in Hz). This -is the traditional behavior but the default value of _CPUClockSpeed -was changed from 64000000 to 0 (in order to let step 3) do it's work -by default). - -3) If neither 1) nor 2) yield a non-zero frequency then assume a PLL -reference frequency (in Hz) as defined by the linker-provided symbol -'_PLLRefClockSpeed' (which defaults to 8000000) and compute the system -clock frequency from the divisor/multiplier settings in the SYNCR -register. - -We have both, 64MHz and 80MHz variants and both use a PLL reference of -8MHz so that run-time heuristics + detection 3) work fine. - -EPICS Bootstrap Information -=========================== -The EPICS startup code uses the following environment variables. If an -optional environment variable is missing the value in parentheses will be used. -All Internet addresses must be given in 'dotted-decimal' format. -HWADDR0 - Ethernet hardware address. -IPADDR0 - Internet address (192.168.0.2). -NETMASK - Local network address mask (255.255.252.0). -HOSTNAME - Internet host name (iocNobody). -GATEWAY - Internet address of gateway machine (NULL). -SERVER - Internet address of NFS server (192.168.0.1). -NAMESERVER - Internet address of DNS server (SERVER). -DOMAIN - DNS domain name (precompiled value from CONFIG_SITE). -NTPSERVER - Internet address of NTP server (SERVER). -BOOTFILE - Path to executable (epics/iocNobody/bin/RTEMS-uC5282/myApp.boot). -CMDLINE - Path to startup script (epics/iocBoot/iocNobody/st.cmd). -NFSMOUNT - NFS information: www.xxx.yyy.zzz:/remote/path /localpath - A : can also be used to separate the remote and local paths. - If NFSMOUNT is not set, SERVER will be used as the NFS server, - and the remote and local paths will be taken from the first - component of CMDLINE. If CMDLINE does not begin with a / - then '/tftpboot' is prepended to the remote path. This allows - a remote TFTP and NFS server to be handled transaparently. - - -============================================================================ - - Memory map as set up by dBUG bootstrap and BSP initialization - - +--------------------------------------------------+ -0000 0000 | 16 MByte SDRAM | 00FF FFFF -0100 0000 | --------------------------------------------- | - | Address space for future SDRAM expansion | - . . - . . - . . - | | 0FFF FFFF - +--------------------------------------------------+ -1000 0000 | External 4 MByte flash memory | - . . - . . - . . - | | 1FFF FFFF - +--------------------------------------------------+ -2000 0000 | 64 kByte on-chip SRAM (RAMBAR) | - . . - . . - . . - | | 2FFF FFFF - +--------------------------------------------------+ -3000 0000 | CS1* (devLib 'VME' A24 space) | 30FF FFFF -3100 0000 | CS2* (devLib 'VME' A32 and A16 space) x| 31FF FFFF - . . - . . - . . - | | 3FFF FFFF - +--------------------------------------------------+ -4000 0000 | Internal peripheral system (IPSBAR) | - . . -4400 0000 | Backdoor access to on-chip flash | - . . - . . - . . - | | 4FFF FFFF - +--------------------------------------------------+ - . . - . . - . . - +--------------------------------------------------+ -f000 0000 | 512 kByte on-chip flash (FLASHBAR) | - . . - . . - . . - | | fFFF FFFF - +--------------------------------------------------+ - -x - Final 16-bit location of CS2* space is reserved for FPGA interrupt status. - -============================================================================ - - Interrupt map - -External interrupt lines (priority is fixed between 3 and 4): - IRQ7* - Ethernet Transceiver interrupts - IRQ1* - FPGA ('VME') interrupts. -+-----+-----------------------------------------------------------------------+ -| | PRIORITY | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -|LEVEL| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 7 | | | | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 6 | | | | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 5 | | | | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 4 | FEC RX | FEC TX | | | | | | PIT | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 3 | UART 0 | UART 1 | UART 2 | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 2 | | | | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ -| 1 | | | | | | | | | -+-----+--------+--------+--------+--------+--------+--------+--------+--------+ - -============================================================================ - diff --git a/c/src/lib/libbsp/m68k/uC5282/TIMES b/c/src/lib/libbsp/m68k/uC5282/TIMES deleted file mode 100644 index b2cdecd28a..0000000000 --- a/c/src/lib/libbsp/m68k/uC5282/TIMES +++ /dev/null @@ -1,305 +0,0 @@ -TIMING TESTS 2005-01-28 -======================== - -*** TIME TEST 1 *** -rtems_semaphore_create 19 -rtems_semaphore_delete 21 -rtems_semaphore_obtain: available 4 -rtems_semaphore_obtain: not available -- NO_WAIT 5 -rtems_semaphore_release: no waiting tasks 12 -*** END OF TEST 1 *** - -*** TIME TEST 2 *** -rtems_semaphore_obtain: not available -- caller blocks 34 -*** END OF TEST 2 *** - -*** TIME TEST 3 *** -rtems_semaphore_release: task readied -- preempts caller 27 -*** END OF TEST 3 *** - -*** TIME TEST 4 *** -rtems_task_restart: blocked task -- preempts caller 54 -rtems_task_restart: ready task -- preempts caller 52 -rtems_semaphore_release: task readied -- returns to caller 18 -rtems_task_create 87 -rtems_task_start 24 -rtems_task_restart: suspended task -- returns to caller 27 -rtems_task_delete: suspended task 66 -rtems_task_restart: ready task -- returns to caller 28 -rtems_task_restart: blocked task -- returns to caller 38 -rtems_task_delete: blocked task 69 -*** END OF TEST 4 *** - -*** TIME TEST 5 *** -rtems_task_suspend: calling task 23 -rtems_task_resume: task readied -- preempts caller 22 -*** END OF TEST 5 *** - -*** TIME TEST 6 *** -rtems_task_restart: calling task 30 -rtems_task_suspend: returns to caller 9 -rtems_task_resume: task readied -- returns to caller 12 -rtems_task_delete: ready task 69 -*** END OF TEST 6 *** - -*** TIME TEST 7 *** -rtems_task_restart: suspended task -- preempts caller 44 -*** END OF TEST 7 *** - -*** TIME TEST 9 *** -rtems_message_queue_create 55 -rtems_message_queue_send: no waiting tasks 20 -rtems_message_queue_urgent: no waiting tasks 21 -rtems_message_queue_receive: available 20 -rtems_message_queue_flush: no messages flushed 8 -rtems_message_queue_flush: messages flushed 12 -rtems_message_queue_delete 29 -*** END OF TEST 9 *** - -*** TIME TEST 10 *** -rtems_message_queue_receive: not available -- NO_WAIT 10 -rtems_message_queue_receive: not available -- caller blocks 38 -*** END OF TEST 10 *** - -*** TIME TEST 11 *** -rtems_message_queue_send: task readied -- preempts caller 37 -*** END OF TEST 11 *** - -*** TIME TEST 12 *** -rtems_message_queue_send: task readied -- returns to caller 23 -*** END OF TEST 12 *** - -*** TIME TEST 13 *** -rtems_message_queue_urgent: task readied -- preempts caller 35 -*** END OF TEST 13 *** - -*** TIME TEST 14 *** -rtems_message_queue_urgent: task readied -- returns to caller 24 -*** END OF TEST 14 *** - -*** TIME TEST 15 *** -rtems_event_receive: obtain current events 0 -rtems_event_receive: not available -- NO_WAIT 5 -rtems_event_receive: not available -- caller blocks 28 -rtems_event_send: no task readied 5 -rtems_event_receive: available 9 -rtems_event_send: task readied -- returns to caller 16 -*** END OF TEST 15 *** - -*** TIME TEST 16 *** -rtems_event_send: task readied -- preempts caller 27 -*** END OF TEST 16 *** - -*** TIME TEST 17 *** -rtems_task_set_priority: preempts caller 39 -*** END OF TEST 17 *** - -*** TIME TEST 18 *** -rtems_task_delete: calling task 83 -*** END OF TEST 18 *** - -*** TIME TEST 19 *** -rtems_signal_catch 5 -rtems_signal_send: returns to caller 12 -rtems_signal_send: signal to self 20 -exit ASR overhead: returns to calling task 15 -exit ASR overhead: returns to preempting task 18 -*** END OF TEST 19 *** - -*** TIME TEST 20 *** -rtems_partition_create 20 -rtems_region_create 40 -rtems_partition_get_buffer: available 11 -rtems_partition_get_buffer: not available 7 -rtems_partition_return_buffer 12 -rtems_partition_delete 11 -rtems_region_get_segment: available 28 -rtems_region_get_segment: not available -- NO_WAIT 29 -rtems_region_return_segment: no waiting tasks 29 -rtems_region_get_segment: not available -- caller blocks 55 -rtems_region_return_segment: task readied -- preempts caller 72 -rtems_region_return_segment: task readied -- returns to caller 58 -rtems_region_delete 25 -rtems_io_initialize 1 -rtems_io_open 1 -rtems_io_close 1 -rtems_io_read 1 -rtems_io_write 1 -rtems_io_control 1 -*** END OF TEST 20 *** - -*** TIME TEST 21 *** -rtems_task_ident 60 -rtems_message_queue_ident 60 -rtems_semaphore_ident 69 -rtems_partition_ident 59 -rtems_region_ident 60 -rtems_port_ident 59 -rtems_timer_ident 61 -rtems_rate_monotonic_ident 60 -*** END OF TEST 21 *** - -*** TIME TEST 22 *** -rtems_message_queue_broadcast: task readied -- returns to caller 32 -rtems_message_queue_broadcast: no waiting tasks 14 -rtems_message_queue_broadcast: task readied -- preempts caller 39 -*** END OF TEST 22 *** - -*** TIME TEST 23 *** -rtems_timer_create 8 -rtems_timer_fire_after: inactive 12 -rtems_timer_fire_after: active 12 -rtems_timer_cancel: active 9 -rtems_timer_cancel: inactive 8 -rtems_timer_reset: inactive 14 -rtems_timer_reset: active 15 -rtems_timer_fire_when: inactive 21 -rtems_timer_fire_when: active 21 -rtems_timer_delete: active 12 -rtems_timer_delete: inactive 11 -rtems_task_wake_when 35 -*** END OF TEST 23 *** - -*** TIME TEST 24 *** -rtems_task_wake_after: yield -- returns to caller 3 -rtems_task_wake_after: yields -- preempts caller 18 -*** END OF TEST 24 *** - -*** TIME TEST 25 *** -rtems_clock_tick 7 -*** END OF TEST 25 *** - -*** TIME TEST 26 *** -_ISR_Disable 1 -_ISR_Flash 0 -_ISR_Enable 0 -_Thread_Disable_dispatch 1 -_Thread_Enable_dispatch 3 -_Thread_Set_state 7 -_Thread_Disptach (NO FP) 16 -context switch: no floating point contexts 12 -context switch: self 2 -context switch: to another task 1 -fp context switch: restore 1st FP task 14 -fp context switch: save idle, restore initialized 3 -fp context switch: save idle, restore idle 13 -fp context switch: save initialized, restore initialized 2 -_Thread_Resume 7 -_Thread_Unblock 6 -_Thread_Ready 5 -_Thread_Get 1 -_Semaphore_Get 1 -_Thread_Get: invalid id 0 -*** END OF TEST 26 *** - -*** TIME TEST 27 *** -interrupt entry overhead: returns to interrupted task 3 -interrupt exit overhead: returns to interrupted task 3 -interrupt entry overhead: returns to nested interrupt 2 -interrupt exit overhead: returns to nested interrupt 2 -interrupt entry overhead: returns to preempting task 4 -interrupt exit overhead: returns to preempting task 20 -*** END OF TEST 27 *** - -*** TIME TEST 28 *** -rtems_port_create 12 -rtems_port_external_to_internal 5 -rtems_port_internal_to_external 6 -rtems_port_delete 12 -*** END OF TEST 28 *** - -*** TIME TEST 29 *** -rtems_rate_monotonic_create 13 -rtems_rate_monotonic_period: initiate period -- returns to caller 20 -rtems_rate_monotonic_period: obtain status 10 -rtems_rate_monotonic_cancel 13 -rtems_rate_monotonic_delete: inactive 17 -rtems_rate_monotonic_delete: active 16 -rtems_rate_monotonic_period: conclude periods -- caller blocks 24 -*** END OF TEST 29 *** - -*** TIME CHECKER *** -Units may not be in microseconds for this test!!! -0 100000 -Total time = 0 -Average time = 0 -NULL timer stopped at 0 -LOOP (1000) timer stopped at 188 -LOOP (10000) timer stopped at 1875 -LOOP (50000) timer stopped at 9375 -LOOP (100000) timer stopped at 18750 -*** END OF TIME CHECKER *** - -*** TIME TEST OVERHEAD *** -rtems_initialize_executive 0 -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_get_note 0 -rtems_task_set_note 0 -rtems_task_wake_when 1 -rtems_task_wake_after 0 -rtems_interrupt_catch 0 -rtems_clock_get 1 -rtems_clock_set 1 -rtems_clock_tick 0 -rtems_timer_create 0 -rtems_timer_delete 0 -rtems_timer_ident 0 -rtems_timer_fire_after 1 -rtems_timer_fire_when 1 -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 -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 -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 *** -- cgit v1.2.3