mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-22 06:14:27 +08:00
2004-08-03 Jay Monkman <jtm@lopingdog.com>
* .cvsignore, ChangeLog, Makefile.am, README, bsp_specs, configure.ac, times, console/.cvsignore, console/console-io.c, include/.cvsignore, include/bsp.h, include/coverhd.h, include/tm27.h, network/network.c, start/.cvsignore, start/start.S, startup/.cvsignore, startup/bspclean.c, startup/bspstart.c, startup/init5272.c, startup/linkcmds: New files.
This commit is contained in:
@@ -1,3 +1,16 @@
|
||||
2004-08-03 Jay Monkman <jtm@lopingdog.com>
|
||||
|
||||
* acinclude.m4: Added CSB360 BSP
|
||||
* csb360/.cvsignore, csb360/ChangeLog, csb360/Makefile.am,
|
||||
csb360/README, csb360/bsp_specs, csb360/configure.ac, csb360/times,
|
||||
csb360/console/.cvsignore, csb360/console/console-io.c,
|
||||
csb360/include/.cvsignore, csb360/include/bsp.h,
|
||||
csb360/include/coverhd.h, csb360/include/tm27.h,
|
||||
csb360/network/network.c, csb360/start/.cvsignore,
|
||||
csb360/start/start.S, csb360/startup/.cvsignore,
|
||||
csb360/startup/bspclean.c, csb360/startup/bspstart.c,
|
||||
csb360/startup/init5272.c, csb360/startup/linkcmds: New files.
|
||||
|
||||
2004-02-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* acinclude.m4: Regenerate.
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
AC_DEFUN([RTEMS_CHECK_BSPDIR],
|
||||
[
|
||||
case "$1" in
|
||||
csb360 )
|
||||
AC_CONFIG_SUBDIRS([csb360]);;
|
||||
dmv152 )
|
||||
AC_CONFIG_SUBDIRS([dmv152]);;
|
||||
gen68302 )
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
aclocal.m4
|
||||
autom4te*.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
depcomp
|
||||
install-sh
|
||||
Makefile
|
||||
Makefile.in
|
||||
missing
|
||||
mkinstalldirs
|
||||
@@ -0,0 +1,9 @@
|
||||
2004-08-03 Jay Monkman <jtm@lopingdog.com>
|
||||
|
||||
* .cvsignore, ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
|
||||
times, console/.cvsignore, console/console-io.c, include/.cvsignore,
|
||||
include/bsp.h, include/coverhd.h, include/tm27.h, network/network.c,
|
||||
start/.cvsignore, start/start.S, startup/.cvsignore,
|
||||
startup/bspclean.c, startup/bspstart.c, startup/init5272.c,
|
||||
startup/linkcmds: New files.
|
||||
|
||||
@@ -0,0 +1,129 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../../../../aclocal
|
||||
|
||||
include $(top_srcdir)/../../../../automake/compile.am
|
||||
include $(top_srcdir)/../../bsp.am
|
||||
|
||||
dist_project_lib_DATA = bsp_specs
|
||||
|
||||
include_HEADERS = include/bsp.h
|
||||
include_HEADERS += include/tm27.h
|
||||
nodist_include_HEADERS = include/bspopts.h
|
||||
|
||||
EXTRA_PROGRAMS =
|
||||
CLEANFILES =
|
||||
noinst_DATA =
|
||||
|
||||
include_HEADERS += include/coverhd.h
|
||||
|
||||
EXTRA_DIST = times
|
||||
|
||||
EXTRA_DIST += start/start.S
|
||||
start$(LIB_VARIANT).$(OBJEXT): start/start.S
|
||||
$(CPPASCOMPILE) -DASM -o $@ -c $<
|
||||
|
||||
project_lib_DATA = start$(LIB_VARIANT).$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += startup/linkcmds
|
||||
|
||||
EXTRA_PROGRAMS += startup.rel
|
||||
CLEANFILES += startup.rel
|
||||
startup_rel_SOURCES = startup/bspclean.c ../../shared/bsplibc.c \
|
||||
../../shared/bsppost.c ../../m68k/shared/m68kpretaskinghook.c \
|
||||
startup/bspstart.c startup/init5272.c ../../shared/bootcard.c \
|
||||
../../shared/main.c ../../shared/sbrk.c ../../m68k/shared/setvec.c \
|
||||
../../shared/gnatinstallhandler.c
|
||||
startup_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
|
||||
startup_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
EXTRA_PROGRAMS += startup_g.rel
|
||||
CLEANFILES += startup_g.rel
|
||||
startup_g_rel_SOURCES = $(startup_rel_SOURCES)
|
||||
startup_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
|
||||
startup_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_DATA += startup$(LIB_VARIANT).rel
|
||||
|
||||
# console
|
||||
EXTRA_PROGRAMS += console.rel
|
||||
CLEANFILES += console.rel
|
||||
console_rel_SOURCES = console/console-io.c ../../shared/console-polled.c
|
||||
console_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_OPTIMIZE_V)
|
||||
console_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
EXTRA_PROGRAMS += console_g.rel
|
||||
CLEANFILES += console_g.rel
|
||||
console_g_rel_SOURCES = $(console_rel_SOURCES)
|
||||
console_g_rel_CPPFLAGS = $(AM_CPPFLAGS) $(CFLAGS_DEBUG_V)
|
||||
console_g_rel_LDFLAGS = $(RTEMS_RELLDFLAGS)
|
||||
|
||||
noinst_DATA += console$(LIB_VARIANT).rel
|
||||
|
||||
EXTRA_LIBRARIES = libbsp.a
|
||||
CLEANFILES += libbsp.a
|
||||
libbsp_a_SOURCES =
|
||||
libbsp_a_LIBADD = startup$(LIB_VARIANT).rel console$(LIB_VARIANT).rel
|
||||
libbsp_a_LIBADD += \
|
||||
../../../libcpu/@RTEMS_CPU@/shared/misc$(LIB_VARIANT).rel \
|
||||
../../../libcpu/@RTEMS_CPU@/mcf5272/clock$(LIB_VARIANT).rel \
|
||||
../../../libcpu/@RTEMS_CPU@/mcf5272/timer$(LIB_VARIANT).rel
|
||||
|
||||
EXTRA_LIBRARIES += libbsp_g.a
|
||||
CLEANFILES += libbsp_g.a
|
||||
libbsp_g_a_SOURCES = $(libbsp_a_SOURCES)
|
||||
libbsp_g_a_LIBADD = $(libbsp_a_LIBADD)
|
||||
|
||||
noinst_DATA += libbsp$(LIB_VARIANT).a
|
||||
|
||||
all-local: $(PREINSTALL_FILES) $(TMPINSTALL_FILES)
|
||||
|
||||
PREINSTALL_DIRS =
|
||||
PREINSTALL_FILES =
|
||||
TMPINSTALL_FILES =
|
||||
|
||||
$(PROJECT_INCLUDE)/$(dirstamp):
|
||||
@$(mkdir_p) $(PROJECT_INCLUDE)
|
||||
@: > $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
|
||||
$(PROJECT_LIB)/$(dirstamp):
|
||||
@$(mkdir_p) $(PROJECT_LIB)
|
||||
@: > $(PROJECT_LIB)/$(dirstamp)
|
||||
PREINSTALL_DIRS += $(PROJECT_LIB)/$(dirstamp)
|
||||
|
||||
$(PROJECT_LIB)/bsp_specs: bsp_specs $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/bsp_specs
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/bsp_specs
|
||||
|
||||
$(PROJECT_INCLUDE)/bsp.h: include/bsp.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp.h
|
||||
|
||||
$(PROJECT_INCLUDE)/tm27.h: include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h
|
||||
|
||||
$(PROJECT_INCLUDE)/bspopts.h: include/bspopts.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bspopts.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/bspopts.h
|
||||
|
||||
$(PROJECT_INCLUDE)/coverhd.h: include/coverhd.h $(PROJECT_INCLUDE)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_INCLUDE)/coverhd.h
|
||||
PREINSTALL_FILES += $(PROJECT_INCLUDE)/coverhd.h
|
||||
|
||||
$(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT): start$(LIB_VARIANT).$(OBJEXT) $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
|
||||
TMPINSTALL_FILES += $(PROJECT_LIB)/start$(LIB_VARIANT).$(OBJEXT)
|
||||
|
||||
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
|
||||
|
||||
CLEANFILES += $(PREINSTALL_FILES)
|
||||
DISTCLEANFILES = $(PREINSTALL_DIRS)
|
||||
CLEANFILES += $(TMPINSTALL_FILES)
|
||||
|
||||
include $(top_srcdir)/../../../../automake/local.am
|
||||
@@ -0,0 +1,51 @@
|
||||
#
|
||||
# README for CSB360
|
||||
#
|
||||
# Copyright (C) 2004 by Cogent Computer Systems
|
||||
# Author: Jay Monkman <jtm@lopingdog.com>
|
||||
#
|
||||
# @(#) README,v 1.1 2001/10/26 19:30:10 joel Exp
|
||||
#
|
||||
|
||||
BSP NAME: csb360
|
||||
BOARD: Cogent CSB360
|
||||
BUS: none
|
||||
CPU FAMILY: Motorola ColdFire MCF5272
|
||||
COPROCESSORS: none
|
||||
MODE: not applicable
|
||||
DEBUG MONITOR: none (Hardware provides BDM)
|
||||
|
||||
PERIPHERALS
|
||||
===========
|
||||
TIMERS:
|
||||
RESOLUTION:
|
||||
SERIAL PORTS:
|
||||
REAL-TIME CLOCK:
|
||||
NVRAM:
|
||||
DMA:
|
||||
VIDEO:
|
||||
SCSI:
|
||||
NETWORKING:
|
||||
I2C BUS:
|
||||
|
||||
DRIVER INFORMATION
|
||||
==================
|
||||
CLOCK DRIVER:
|
||||
IOSUPP DRIVER:
|
||||
SHMSUPP:
|
||||
TIMER DRIVER:
|
||||
I2C DRIVER:
|
||||
|
||||
STDIO
|
||||
=====
|
||||
PORT:
|
||||
ELECTRICAL:
|
||||
BAUD:
|
||||
BITS PER CHARACTER:
|
||||
PARITY:
|
||||
STOP BITS:
|
||||
|
||||
NOTES
|
||||
=====
|
||||
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
%rename cpp old_cpp
|
||||
%rename lib old_lib
|
||||
%rename endfile old_endfile
|
||||
%rename startfile old_startfile
|
||||
%rename link old_link
|
||||
|
||||
*cpp:
|
||||
%(old_cpp) %{qrtems: -D__embedded__} -Asystem(embedded)
|
||||
|
||||
*lib:
|
||||
%{!qrtems: %(old_lib)} %{!nostdlib: %{qrtems: --start-group \
|
||||
%{!qrtems_debug: -lrtemsbsp -lrtemscpu} %{qrtems_debug: -lrtemsbsp_g -lrtemscpu_g} \
|
||||
-lc -lgcc --end-group \
|
||||
%{!qnolinkcmds: \
|
||||
%{!qflash: -T linkcmds%s} %{qflash: -T linkcmds.flash%s}}}}
|
||||
|
||||
*startfile:
|
||||
%{!qrtems: %(old_startfile)} %{!nostdlib: %{qrtems: \
|
||||
%{!qrtems_debug: start.o%s} \
|
||||
%{qrtems_debug: start_g.o%s} \
|
||||
crti.o%s crtbegin.o%s }}
|
||||
|
||||
*link:
|
||||
%{!qrtems: %(old_link)} %{qrtems: -dc -dp -N -e start} \
|
||||
%{qclock=*: -defsym _SYS_CLOCK_FREQUENCY=%*}
|
||||
|
||||
*endfile:
|
||||
%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s}
|
||||
@@ -0,0 +1,22 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
##
|
||||
## $Id$
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([rtems-c-src-lib-libbsp-m68k-csb360],[_RTEMS_VERSION],[rtems-bugs@rtems.com])
|
||||
AC_CONFIG_SRCDIR([bsp_specs])
|
||||
RTEMS_TOP(../../../../../..)
|
||||
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
AM_INIT_AUTOMAKE([no-define nostdinc foreign 1.8])
|
||||
RTEMS_BSP_CONFIGURE
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
RTEMS_PROG_CCAS
|
||||
|
||||
RTEMS_CHECK_NETWORKING
|
||||
|
||||
# Explicitly list all Makefiles here
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
||||
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -0,0 +1,96 @@
|
||||
/*
|
||||
* This file contains the hardware specific portions of the TTY driver
|
||||
* for the serial ports on the mcf5272
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2000.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
#include <mcf5272/mcf5272.h>
|
||||
|
||||
volatile g_cnt = 0;
|
||||
|
||||
/*
|
||||
* console_initialize_hardware
|
||||
*
|
||||
* This routine initializes the console hardware.
|
||||
*
|
||||
*/
|
||||
|
||||
void console_initialize_hardware(void)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* console_outbyte_polled
|
||||
*
|
||||
* This routine transmits a character using polling.
|
||||
*/
|
||||
|
||||
void console_outbyte_polled(
|
||||
int port,
|
||||
char ch
|
||||
)
|
||||
{
|
||||
uart_regs_t *uart;
|
||||
int i;
|
||||
if (port == 0) {
|
||||
uart = g_uart0_regs;
|
||||
} else {
|
||||
uart = g_uart1_regs;
|
||||
}
|
||||
|
||||
/* wait for the fifo to make room */
|
||||
/* while ((uart->usr & MCF5272_USR_TXRDY) == 0) { */
|
||||
while ((uart->ucsr & MCF5272_USR_TXRDY) == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
uart->udata = ch;
|
||||
for (i = 0; i < 1000; i++) g_cnt++;
|
||||
}
|
||||
|
||||
/*
|
||||
* console_inbyte_nonblocking
|
||||
*
|
||||
* This routine polls for a character.
|
||||
*/
|
||||
|
||||
int console_inbyte_nonblocking(
|
||||
int port
|
||||
)
|
||||
{
|
||||
uart_regs_t *uart;
|
||||
unsigned char c;
|
||||
|
||||
if (port == 0) {
|
||||
uart = g_uart0_regs;
|
||||
} else {
|
||||
uart = g_uart1_regs;
|
||||
}
|
||||
|
||||
/* if (uart->usr & MCF5272_USR_RXRDY) { */
|
||||
if (uart->ucsr & MCF5272_USR_RXRDY) {
|
||||
c = (char)uart->udata;
|
||||
return c;
|
||||
} else {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
#include <rtems/bspIo.h>
|
||||
|
||||
void mcf5272_output_char(char c) { console_outbyte_polled( 0, c ); }
|
||||
|
||||
BSP_output_char_function_type BSP_output_char = mcf5272_output_char;
|
||||
BSP_polling_getchar_function_type BSP_poll_char = NULL;
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
bspopts.h
|
||||
bspopts.h.in
|
||||
stamp-h
|
||||
stamp-h.in
|
||||
@@ -0,0 +1,218 @@
|
||||
/*
|
||||
* Board Support Package for CSB360 evaluation board
|
||||
* BSP definitions
|
||||
*
|
||||
* Copyright 2004 Cogent Computer Systems
|
||||
* Author: Jay Monkman <jtm@lopingdog.com>
|
||||
*
|
||||
* Derived from mcf5206elite BSP:
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
|
||||
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* bsp.h,v 1.1 2001/10/26 19:30:10 joel Exp
|
||||
*/
|
||||
|
||||
#ifndef __CSB360_BSP_H__
|
||||
#define __CSB360_BSP_H__
|
||||
|
||||
#include <mcf5272/mcf5272.h>
|
||||
|
||||
|
||||
/*** Board resources allocation ***/
|
||||
#define BSP_MEM_ADDR_SRAM 0x20000000
|
||||
#define BSP_MEM_SIZE_SRAM 4096
|
||||
|
||||
/* Location and size of sdram. Note this includes space used by
|
||||
* umon.
|
||||
*/
|
||||
#define BSP_MEM_ADDR_SDRAM 0x00000000
|
||||
#define BSP_MEM_MASK_SDRAM 0x01ffffff
|
||||
#define BSP_MEM_SIZE_SDRAM (32 * 1024 * 1024)
|
||||
|
||||
/* Address to put SIM Modules */
|
||||
#define BSP_MBAR 0x10000000
|
||||
|
||||
/* Address to put SRAM */
|
||||
#define BSP_RAMBAR BSP_MEM_ADDR_SRAM
|
||||
|
||||
/* Interrupt Vectors */
|
||||
#define BSP_INTVEC_INT1 65
|
||||
#define BSP_INTVEC_INT2 66
|
||||
#define BSP_INTVEC_INT3 67
|
||||
#define BSP_INTVEC_INT4 68
|
||||
#define BSP_INTVEC_TMR0 69
|
||||
#define BSP_INTVEC_TMR1 70
|
||||
#define BSP_INTVEC_TMR2 71
|
||||
#define BSP_INTVEC_TMR3 72
|
||||
#define BSP_INTVEC_UART1 73
|
||||
#define BSP_INTVEC_UART2 74
|
||||
#define BSP_INTVEC_PLIP 75
|
||||
#define BSP_INTVEC_PLIA 76
|
||||
#define BSP_INTVEC_USB0 77
|
||||
#define BSP_INTVEC_USB1 78
|
||||
#define BSP_INTVEC_USB2 79
|
||||
#define BSP_INTVEC_USB3 80
|
||||
#define BSP_INTVEC_USB4 81
|
||||
#define BSP_INTVEC_USB5 82
|
||||
#define BSP_INTVEC_USB6 83
|
||||
#define BSP_INTVEC_USB7 84
|
||||
#define BSP_INTVEC_DMA 85
|
||||
#define BSP_INTVEC_ERX 86
|
||||
#define BSP_INTVEC_ETX 87
|
||||
#define BSP_INTVEC_ENTC 88
|
||||
#define BSP_INTVEC_QSPI 89
|
||||
#define BSP_INTVEC_INT5 90
|
||||
#define BSP_INTVEC_INT6 91
|
||||
#define BSP_INTVEC_SWTO 92
|
||||
|
||||
#define BSP_INTLVL_INT1 1
|
||||
#define BSP_INTLVL_INT2 1
|
||||
#define BSP_INTLVL_INT3 1
|
||||
#define BSP_INTLVL_INT4 1
|
||||
#define BSP_INTLVL_TMR0 1
|
||||
#define BSP_INTLVL_TMR1 1
|
||||
#define BSP_INTLVL_TMR2 1
|
||||
#define BSP_INTLVL_TMR3 1
|
||||
#define BSP_INTLVL_UART1 1
|
||||
#define BSP_INTLVL_UART2 1
|
||||
#define BSP_INTLVL_PLIP 1
|
||||
#define BSP_INTLVL_PLIA 1
|
||||
#define BSP_INTLVL_USB0 1
|
||||
#define BSP_INTLVL_USB1 1
|
||||
#define BSP_INTLVL_USB2 1
|
||||
#define BSP_INTLVL_USB3 1
|
||||
#define BSP_INTLVL_USB4 1
|
||||
#define BSP_INTLVL_USB5 1
|
||||
#define BSP_INTLVL_USB6 1
|
||||
#define BSP_INTLVL_USB7 1
|
||||
#define BSP_INTLVL_DMA 1
|
||||
#define BSP_INTLVL_ERX 1
|
||||
#define BSP_INTLVL_ETX 1
|
||||
#define BSP_INTLVL_ENTC 1
|
||||
#define BSP_INTLVL_QSPI 1
|
||||
#define BSP_INTLVL_INT5 1
|
||||
#define BSP_INTLVL_INT6 1
|
||||
#define BSP_INTLVL_SWTO 1
|
||||
|
||||
|
||||
|
||||
#ifndef ASM
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <bspopts.h>
|
||||
#include <rtems.h>
|
||||
#include <rtems/console.h>
|
||||
#include <rtems/iosupp.h>
|
||||
#include <rtems/clockdrv.h>
|
||||
|
||||
struct rtems_bsdnet_ifconfig;
|
||||
extern int rtems_enet_driver_attach (struct rtems_bsdnet_ifconfig *config);
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_NAME "eth0"
|
||||
#define RTEMS_BSP_NETWORK_DRIVER_ATTACH rtems_enet_driver_attach
|
||||
|
||||
/*
|
||||
* confdefs.h overrides for this BSP:
|
||||
* - termios serial ports (defaults to 1)
|
||||
* - Interrupt stack space is not minimum if defined.
|
||||
*/
|
||||
|
||||
#define CONFIGURE_NUMBER_OF_TERMIOS_PORTS 2
|
||||
#define CONFIGURE_INTERRUPT_STACK_MEMORY (4 * 1024)
|
||||
|
||||
/* System frequency */
|
||||
#define BSP_SYSTEM_FREQUENCY (66 * 1000 * 1000)
|
||||
|
||||
/*
|
||||
* Define the time limits for RTEMS Test Suite test durations.
|
||||
* Long test and short test duration limits are provided. These
|
||||
* values are in seconds and need to be converted to ticks for the
|
||||
* application.
|
||||
*
|
||||
*/
|
||||
|
||||
#define MAX_LONG_TEST_DURATION 300 /* 5 minutes = 300 seconds */
|
||||
#define MAX_SHORT_TEST_DURATION 3 /* 3 seconds */
|
||||
|
||||
/*
|
||||
* Simple spin delay in microsecond units for device drivers.
|
||||
* This is very dependent on the clock speed of the target.
|
||||
*/
|
||||
|
||||
#define delay( microseconds ) \
|
||||
{ register rtems_unsigned32 _delay=(microseconds); \
|
||||
register rtems_unsigned32 _tmp=123; \
|
||||
asm volatile( "0: \
|
||||
nbcd %0 ; \
|
||||
nbcd %0 ; \
|
||||
dbf %1,0b" \
|
||||
: "=d" (_tmp), "=d" (_delay) \
|
||||
: "0" (_tmp), "1" (_delay) ); \
|
||||
}
|
||||
|
||||
/* Constants */
|
||||
|
||||
/* Structures */
|
||||
|
||||
/*
|
||||
* Device Driver Table Entries
|
||||
*/
|
||||
|
||||
/*
|
||||
* NOTE: Use the standard Console driver entry
|
||||
*/
|
||||
|
||||
/*
|
||||
* NOTE: Use the standard Clock driver entry
|
||||
*/
|
||||
|
||||
/*
|
||||
* Real-Time Clock Driver Table Entry
|
||||
* NOTE: put this entry to the device driver table AFTER I2C bus driver!
|
||||
*/
|
||||
#define RTC_DRIVER_TABLE_ENTRY \
|
||||
{ rtc_initialize, NULL, NULL, NULL, NULL, NULL }
|
||||
extern rtems_device_driver rtc_initialize(
|
||||
rtems_device_major_number major,
|
||||
rtems_device_minor_number minor,
|
||||
void *arg
|
||||
);
|
||||
|
||||
/* miscellaneous stuff assumed to exist */
|
||||
|
||||
extern rtems_configuration_table BSP_Configuration;
|
||||
|
||||
extern m68k_isr_entry M68Kvec[]; /* vector table address */
|
||||
|
||||
extern rtems_isr (*rtems_clock_hook)(rtems_vector_number);
|
||||
|
||||
/* functions */
|
||||
|
||||
void bsp_cleanup( void );
|
||||
|
||||
m68k_isr_entry set_vector(
|
||||
rtems_isr_entry handler,
|
||||
rtems_vector_number vector,
|
||||
int type
|
||||
);
|
||||
|
||||
/*
|
||||
* Values assigned by link editor
|
||||
*/
|
||||
extern void *_RomBase, *_RamBase;
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* ASM */
|
||||
|
||||
#endif
|
||||
/* end of include file */
|
||||
@@ -0,0 +1,82 @@
|
||||
/*
|
||||
* This file based on output of tmoverhd test.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef __COVERHD_H__
|
||||
#define __COVERHD_H__
|
||||
|
||||
#define CALLING_OVERHEAD_INITIALIZE_EXECUTIVE 0
|
||||
#define CALLING_OVERHEAD_SHUTDOWN_EXECUTIVE 0
|
||||
#define CALLING_OVERHEAD_TASK_CREATE 1
|
||||
#define CALLING_OVERHEAD_TASK_IDENT 0
|
||||
#define CALLING_OVERHEAD_TASK_START 0
|
||||
#define CALLING_OVERHEAD_TASK_RESTART 0
|
||||
#define CALLING_OVERHEAD_TASK_DELETE 0
|
||||
#define CALLING_OVERHEAD_TASK_SUSPEND 0
|
||||
#define CALLING_OVERHEAD_TASK_RESUME 0
|
||||
#define CALLING_OVERHEAD_TASK_SET_PRIORITY 0
|
||||
#define CALLING_OVERHEAD_TASK_MODE 0
|
||||
#define CALLING_OVERHEAD_TASK_GET_NOTE 0
|
||||
#define CALLING_OVERHEAD_TASK_SET_NOTE 0
|
||||
#define CALLING_OVERHEAD_TASK_WAKE_WHEN 2
|
||||
#define CALLING_OVERHEAD_TASK_WAKE_AFTER 0
|
||||
#define CALLING_OVERHEAD_INTERRUPT_CATCH 0
|
||||
#define CALLING_OVERHEAD_CLOCK_GET 2
|
||||
#define CALLING_OVERHEAD_CLOCK_SET 2
|
||||
#define CALLING_OVERHEAD_CLOCK_TICK 0
|
||||
#define CALLING_OVERHEAD_TIMER_CREATE 0
|
||||
#define CALLING_OVERHEAD_TIMER_DELETE 0
|
||||
#define CALLING_OVERHEAD_TIMER_IDENT 0
|
||||
#define CALLING_OVERHEAD_TIMER_FIRE_AFTER 0
|
||||
#define CALLING_OVERHEAD_TIMER_FIRE_WHEN 2
|
||||
#define CALLING_OVERHEAD_TIMER_RESET 0
|
||||
#define CALLING_OVERHEAD_TIMER_CANCEL 0
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_CREATE 1
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_DELETE 0
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_IDENT 0
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_OBTAIN 0
|
||||
#define CALLING_OVERHEAD_SEMAPHORE_RELEASE 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_CREATE 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_IDENT 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_DELETE 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_SEND 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_URGENT 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_BROADCAST 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_RECEIVE 0
|
||||
#define CALLING_OVERHEAD_MESSAGE_QUEUE_FLUSH 0
|
||||
#define CALLING_OVERHEAD_EVENT_SEND 0
|
||||
#define CALLING_OVERHEAD_EVENT_RECEIVE 0
|
||||
#define CALLING_OVERHEAD_SIGNAL_CATCH 0
|
||||
#define CALLING_OVERHEAD_SIGNAL_SEND 0
|
||||
#define CALLING_OVERHEAD_PARTITION_CREATE 1
|
||||
#define CALLING_OVERHEAD_PARTITION_IDENT 0
|
||||
#define CALLING_OVERHEAD_PARTITION_DELETE 0
|
||||
#define CALLING_OVERHEAD_PARTITION_GET_BUFFER 0
|
||||
#define CALLING_OVERHEAD_PARTITION_RETURN_BUFFER 0
|
||||
#define CALLING_OVERHEAD_REGION_CREATE 1
|
||||
#define CALLING_OVERHEAD_REGION_IDENT 0
|
||||
#define CALLING_OVERHEAD_REGION_DELETE 0
|
||||
#define CALLING_OVERHEAD_REGION_GET_SEGMENT 1
|
||||
#define CALLING_OVERHEAD_REGION_RETURN_SEGMENT 0
|
||||
#define CALLING_OVERHEAD_PORT_CREATE 1
|
||||
#define CALLING_OVERHEAD_PORT_IDENT 0
|
||||
#define CALLING_OVERHEAD_PORT_DELETE 0
|
||||
#define CALLING_OVERHEAD_PORT_EXTERNAL_TO_INTERNAL 0
|
||||
#define CALLING_OVERHEAD_PORT_INTERNAL_TO_EXTERNAL 0
|
||||
#define CALLING_OVERHEAD_IO_INITIALIZE 0
|
||||
#define CALLING_OVERHEAD_IO_OPEN 0
|
||||
#define CALLING_OVERHEAD_IO_CLOSE 0
|
||||
#define CALLING_OVERHEAD_IO_READ 0
|
||||
#define CALLING_OVERHEAD_IO_WRITE 0
|
||||
#define CALLING_OVERHEAD_IO_CONTROL 0
|
||||
#define CALLING_OVERHEAD_FATAL_ERROR_OCCURRED 0
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_CREATE 0
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_IDENT 0
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_DELETE 0
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_CANCEL 0
|
||||
#define CALLING_OVERHEAD_RATE_MONOTONIC_PERIOD 0
|
||||
#define CALLING_OVERHEAD_MULTIPROCESSING_ANNOUNCE 0
|
||||
|
||||
#endif /* __COVERHD_H__ */
|
||||
@@ -0,0 +1,33 @@
|
||||
/*
|
||||
* tm27.h
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#ifndef _RTEMS_TMTEST27
|
||||
#error "This is an RTEMS internal file you must not include directly."
|
||||
#endif
|
||||
|
||||
#ifndef __tm27_h
|
||||
#define __tm27_h
|
||||
|
||||
/*
|
||||
* Stuff for Time Test 27
|
||||
* Don't bother with hardware -- just use a software-interrupt
|
||||
*/
|
||||
|
||||
#define MUST_WAIT_FOR_INTERRUPT 0
|
||||
|
||||
#define Install_tm27_vector( handler ) set_vector( (handler), 34, 1 )
|
||||
|
||||
#define Cause_tm27_intr() asm volatile ("trap #2");
|
||||
|
||||
#define Clear_tm27_intr() /* empty */
|
||||
|
||||
#define Lower_tm27_intr() /* empty */
|
||||
|
||||
#endif
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -0,0 +1,417 @@
|
||||
/*
|
||||
* CSB360 startup code
|
||||
*
|
||||
* This file contains the entry point for the application.
|
||||
* The name of this entry point is compiler dependent.
|
||||
* It jumps to the BSP which is responsible for performing
|
||||
* all initialization.
|
||||
*
|
||||
* Copyright (C) 2004 Cogent Computer Systems
|
||||
* Author: Jay Monkman <jtm@lopingdog.com>
|
||||
*
|
||||
* Based on start.S from mcf520elite BSP:
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
|
||||
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
||||
*
|
||||
* Based on work:
|
||||
* David Fiddes, D.J@fiddes.surfaid.org
|
||||
* http://www.calm.hw.ac.uk/davidf/coldfire/
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* Copyright assigned to U.S. Government, 1994.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* start.S,v 1.1 2001/10/26 19:30:10 joel Exp
|
||||
*/
|
||||
|
||||
#include "asm.h"
|
||||
#include "bsp.h"
|
||||
|
||||
BEGIN_CODE
|
||||
|
||||
/* Initial stack situated in on-chip static memory */
|
||||
#define INITIAL_STACK BSP_MEM_ADDR_SRAM+BSP_MEM_SIZE_SRAM-4
|
||||
|
||||
PUBLIC (INTERRUPT_VECTOR)
|
||||
SYM(INTERRUPT_VECTOR):
|
||||
.long INITIAL_STACK | 00: initial SSP
|
||||
.long start | 01: Initial PC
|
||||
.long _unexp_exception | 02: Access Error
|
||||
.long _unexp_exception | 03: Address Error
|
||||
.long _unexp_exception | 04: Illegal Instruction
|
||||
.long _reserved_int | 05: Reserved
|
||||
.long _reserved_int | 06: Reserved
|
||||
.long _reserved_int | 07: Reserved
|
||||
.long _unexp_exception | 08: Priveledge Violation
|
||||
.long _unexp_exception | 09: Trace
|
||||
.long _unexp_exception | 0A: Unimplemented A-Line
|
||||
.long _unexp_exception | 0B: Unimplemented F-Line
|
||||
.long _unexp_exception | 0C: Debug interrupt
|
||||
.long _reserved_int | 0D: Reserved
|
||||
.long _unexp_exception | 0E: Format error
|
||||
.long _unexp_exception | 0F: Uninitialized interrupt
|
||||
.long _reserved_int | 10: Reserved
|
||||
.long _reserved_int | 11: Reserved
|
||||
.long _reserved_int | 12: Reserved
|
||||
.long _reserved_int | 13: Reserved
|
||||
.long _reserved_int | 14: Reserved
|
||||
.long _reserved_int | 15: Reserved
|
||||
.long _reserved_int | 16: Reserved
|
||||
.long _reserved_int | 17: Reserved
|
||||
.long _spurious_int | 18: Spurious interrupt
|
||||
.long _avec1_int | 19: Autovector Level 1
|
||||
.long _avec2_int | 1A: Autovector Level 2
|
||||
.long _avec3_int | 1B: Autovector Level 3
|
||||
.long _avec4_int | 1C: Autovector Level 4
|
||||
.long _avec5_int | 1D: Autovector Level 5
|
||||
.long _avec6_int | 1E: Autovector Level 6
|
||||
.long _avec7_int | 1F: Autovector Level 7
|
||||
.long _unexp_exception | 20: TRAP #0
|
||||
.long _unexp_exception | 21: TRAP #1
|
||||
.long _unexp_exception | 22: TRAP #2
|
||||
.long _unexp_exception | 23: TRAP #3
|
||||
.long _unexp_exception | 24: TRAP #4
|
||||
.long _unexp_exception | 25: TRAP #5
|
||||
.long _unexp_exception | 26: TRAP #6
|
||||
.long _unexp_exception | 27: TRAP #7
|
||||
.long _unexp_exception | 28: TRAP #8
|
||||
.long _unexp_exception | 29: TRAP #9
|
||||
.long _unexp_exception | 2A: TRAP #10
|
||||
.long _unexp_exception | 2B: TRAP #11
|
||||
.long _unexp_exception | 2C: TRAP #12
|
||||
.long _unexp_exception | 2D: TRAP #13
|
||||
.long _unexp_exception | 2E: TRAP #14
|
||||
.long _unexp_exception | 2F: TRAP #15
|
||||
.long _reserved_int | 30: Reserved
|
||||
.long _reserved_int | 31: Reserved
|
||||
.long _reserved_int | 32: Reserved
|
||||
.long _reserved_int | 33: Reserved
|
||||
.long _reserved_int | 34: Reserved
|
||||
.long _reserved_int | 35: Reserved
|
||||
.long _reserved_int | 36: Reserved
|
||||
.long _reserved_int | 37: Reserved
|
||||
.long _reserved_int | 38: Reserved
|
||||
.long _reserved_int | 39: Reserved
|
||||
.long _reserved_int | 3A: Reserved
|
||||
.long _reserved_int | 3B: Reserved
|
||||
.long _reserved_int | 3C: Reserved
|
||||
.long _reserved_int | 3D: Reserved
|
||||
.long _reserved_int | 3E: Reserved
|
||||
.long _reserved_int | 3F: Reserved
|
||||
|
||||
.long _unexp_int | 40-FF: User defined interrupts
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | 50:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | 60:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | 70:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | 80:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | 90:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | A0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | B0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | C0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | D0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | E0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
.long _unexp_int | F0:
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
.long _unexp_int
|
||||
|
||||
PUBLIC(start)
|
||||
SYM(start):
|
||||
move.w #0x2700,sr | First turn off all interrupts!
|
||||
|
||||
move.l #(BSP_RAMBAR + MCF5272_RAMBAR_V), d0
|
||||
movec d0,rambar0 | ...so we have a stack
|
||||
|
||||
move.l #(INITIAL_STACK),sp | Set up stack again (may be we are
|
||||
| going here from monitor or with
|
||||
| BDM interface assistance)
|
||||
|
||||
/*
|
||||
* Remainder of the startup code is handled by C code
|
||||
*/
|
||||
jmp SYM(init5272) | Start C code (which never returns)
|
||||
|
||||
/***************************************************************************
|
||||
Function : clear_bss
|
||||
|
||||
Description : clear BSS segment
|
||||
***************************************************************************/
|
||||
PUBLIC (clear_bss)
|
||||
SYM(clear_bss):
|
||||
lea clear_start,a0 | Get start of BSS
|
||||
lea clear_end,a1 | Get end of BSS
|
||||
clrl d0 | Value to set
|
||||
bra.s ZEROLOOPTEST | Branch into clear loop
|
||||
ZEROLOOP:
|
||||
movel d0,a0@+ | Clear a word
|
||||
ZEROLOOPTEST:
|
||||
cmpl a1,a0 | Done?
|
||||
bcs.s ZEROLOOP | No, skip
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
|
||||
PUBLIC (start_csb360)
|
||||
SYM(start_csb360):
|
||||
/*
|
||||
* Right : Now we're ready to boot RTEMS
|
||||
*/
|
||||
clrl d0 | Pass in null to all boot_card() params
|
||||
movel d0,a7@- | environp
|
||||
movel d0,a7@- | argv
|
||||
movel d0,a7@- | argc
|
||||
jsr SYM(boot_card) | Call C boot_card function to startup RTEMS
|
||||
|
||||
|
||||
|
||||
# Wait forever
|
||||
_stop:
|
||||
nop
|
||||
stop #0x2700
|
||||
jmp _stop
|
||||
|
||||
# The following labelled nops is a placeholders for breakpoints
|
||||
_unexp_exception:
|
||||
nop
|
||||
jmp _stop
|
||||
|
||||
_unexp_int:
|
||||
nop
|
||||
jmp _stop
|
||||
|
||||
_reserved_int:
|
||||
nop
|
||||
jmp _stop
|
||||
|
||||
_spurious_int:
|
||||
nop
|
||||
jmp _stop
|
||||
|
||||
_avec1_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec2_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec3_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec4_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec5_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec6_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
_avec7_int:
|
||||
nop
|
||||
jmp _unexp_int
|
||||
|
||||
|
||||
END_CODE
|
||||
|
||||
END
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* CSB360 cleanu code.
|
||||
*
|
||||
* This routine returns control from RTEMS to the dBUG monitor.
|
||||
*
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia.
|
||||
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* Copyright assigned to U.S. Government, 1994.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* bspclean.c,v 1.1 2001/10/26 19:30:11 joel Exp
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
#include <bsp.h>
|
||||
|
||||
/* bsp_cleanup --
|
||||
* This function called when RTEMS execution is finished. bsp_cleanup
|
||||
* for MCF5206eLITE evaluation board throw execution to the dBUG
|
||||
* monitor.
|
||||
*
|
||||
* PARAMETERS:
|
||||
* none
|
||||
*
|
||||
* RETURNS:
|
||||
* none
|
||||
*/
|
||||
void
|
||||
bsp_cleanup(void)
|
||||
{
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
/*
|
||||
* BSP startup
|
||||
*
|
||||
* This routine starts the application. It includes application,
|
||||
* board, and monitor specific initialization and configuration.
|
||||
* The generic CPU dependent initialization has been performed
|
||||
* before this routine is invoked.
|
||||
*
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
|
||||
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
||||
*
|
||||
* Based on work:
|
||||
* Author:
|
||||
* David Fiddes, D.J@fiddes.surfaid.org
|
||||
* http://www.calm.hw.ac.uk/davidf/coldfire/
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* Copyright assigned to U.S. Government, 1994.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* bspstart.c,v 1.2 2002/11/04 14:26:32 joel Exp
|
||||
*/
|
||||
|
||||
#include <bsp.h>
|
||||
#include <rtems/libio.h>
|
||||
|
||||
#include <rtems/libcsupport.h>
|
||||
|
||||
#include <string.h>
|
||||
|
||||
/*
|
||||
* The original table from the application and our copy of it with
|
||||
* some changes.
|
||||
*/
|
||||
|
||||
extern rtems_configuration_table Configuration;
|
||||
rtems_configuration_table BSP_Configuration;
|
||||
|
||||
rtems_cpu_table Cpu_table;
|
||||
|
||||
extern unsigned int _RamSize;
|
||||
|
||||
|
||||
char *rtems_progname;
|
||||
|
||||
/*
|
||||
* Use the shared implementations of the following routines
|
||||
*/
|
||||
|
||||
void bsp_postdriver_hook(void);
|
||||
void bsp_libc_init( void *, unsigned32, int );
|
||||
void bsp_pretasking_hook(void); /* m68k version */
|
||||
|
||||
/* bsp_start --
|
||||
* This routine does the bulk of the system initialisation.
|
||||
*/
|
||||
void bsp_start( void )
|
||||
{
|
||||
extern void *_WorkspaceBase;
|
||||
extern unsigned long _M68k_Ramsize;
|
||||
_M68k_Ramsize = (unsigned long)&_RamSize; /* size set in linker script */
|
||||
|
||||
|
||||
/*
|
||||
* Need to "allocate" the memory for the RTEMS Workspace and
|
||||
* tell the RTEMS configuration where it is. This memory is
|
||||
* not malloc'ed. It is just "pulled from the air".
|
||||
*/
|
||||
|
||||
BSP_Configuration.work_space_start = (void *)&_WorkspaceBase;
|
||||
|
||||
/*
|
||||
* initialize the CPU table for this BSP
|
||||
*/
|
||||
Cpu_table.pretasking_hook = bsp_pretasking_hook; /* init libc, etc. */
|
||||
|
||||
Cpu_table.postdriver_hook = bsp_postdriver_hook;
|
||||
|
||||
Cpu_table.do_zero_of_workspace = TRUE;
|
||||
|
||||
Cpu_table.interrupt_stack_size = 4096;
|
||||
|
||||
Cpu_table.interrupt_vector_table = (m68k_isr *)0; /* vectors at start of RAM */
|
||||
|
||||
}
|
||||
@@ -0,0 +1,173 @@
|
||||
/*
|
||||
* CSB360 hardware startup routines
|
||||
*
|
||||
* This is where the real hardware setup is done. A minimal stack
|
||||
* has been provided by the start.S code. No normal C or RTEMS
|
||||
* functions can be called from here.
|
||||
*
|
||||
* This initialization code based on hardware settings of dBUG
|
||||
* monitor. This must be changed if you like to run it immediately
|
||||
* after reset.
|
||||
*
|
||||
* Copyright (C) 2000 OKTET Ltd., St.-Petersburg, Russia
|
||||
* Author: Victor V. Vengerov <vvv@oktet.ru>
|
||||
*
|
||||
* Based on work:
|
||||
* Author:
|
||||
* David Fiddes, D.J@fiddes.surfaid.org
|
||||
* http://www.calm.hw.ac.uk/davidf/coldfire/
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1998.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
* Copyright assigned to U.S. Government, 1994.
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
*
|
||||
* http://www.OARcorp.com/rtems/license.html.
|
||||
*
|
||||
* init5206e.c,v 1.1 2001/10/26 19:30:11 joel Exp
|
||||
*/
|
||||
|
||||
#include <rtems.h>
|
||||
#include <bsp.h>
|
||||
#include <mcf5272/mcf5272.h>
|
||||
|
||||
/* Set the pointers to the modules */
|
||||
sim_regs_t *g_sim_regs = (void *) MCF5272_SIM_BASE(BSP_MBAR);
|
||||
intctrl_regs_t *g_intctrl_regs = (void *) MCF5272_INT_BASE(BSP_MBAR);
|
||||
chipsel_regs_t *g_chipsel_regs = (void *) MCF5272_CS_BASE(BSP_MBAR);
|
||||
gpio_regs_t *g_gpio_regs = (void *) MCF5272_GPIO_BASE(BSP_MBAR);
|
||||
qspi_regs_t *g_qspi_regs = (void *) MCF5272_QSPI_BASE(BSP_MBAR);
|
||||
pwm_regs_t *g_pwm_regs = (void *) MCF5272_PWM_BASE(BSP_MBAR);
|
||||
dma_regs_t *g_dma_regs = (void *) MCF5272_DMAC_BASE(BSP_MBAR);
|
||||
uart_regs_t *g_uart0_regs = (void *) MCF5272_UART0_BASE(BSP_MBAR);
|
||||
uart_regs_t *g_uart1_regs = (void *) MCF5272_UART1_BASE(BSP_MBAR);
|
||||
timer_regs_t *g_timer_regs = (void *) MCF5272_TIMER_BASE(BSP_MBAR);
|
||||
plic_regs_t *g_plic_regs = (void *) MCF5272_PLIC_BASE(BSP_MBAR);
|
||||
enet_regs_t *g_enet_regs = (void *) MCF5272_ENET_BASE(BSP_MBAR);
|
||||
usb_regs_t *g_usb_regs = (void *) MCF5272_USB_BASE(BSP_MBAR);
|
||||
|
||||
#define m68k_set_cacr( _cacr ) \
|
||||
asm volatile ( "movec %0,%%cacr\n\t" \
|
||||
"nop\n" \
|
||||
: : "d" (_cacr) )
|
||||
|
||||
#define m68k_set_acr0( _acr0 ) \
|
||||
asm volatile ( "movec %0,%%acr0\n\t" \
|
||||
"nop\n\t" \
|
||||
: : "d" (_acr0) )
|
||||
|
||||
#define m68k_set_acr1( _acr1 ) \
|
||||
asm volatile ( "movec %0,%%acr1\n\t" \
|
||||
"nop\n\t" \
|
||||
: : "d" (_acr1) )
|
||||
|
||||
#define m68k_set_srambar( _rambar0 ) \
|
||||
asm volatile ( "movec %0,%%rambar0\n\t" \
|
||||
"nop\n\t" \
|
||||
: : "d" (_rambar0) )
|
||||
|
||||
#define m68k_set_mbar( _mbar ) \
|
||||
asm volatile ( "movec %0,%%mbar\n\t" \
|
||||
"nop\n\t" \
|
||||
: : "d" (_mbar) )
|
||||
|
||||
#define mcf5272_enable_cache() \
|
||||
m68k_set_cacr( MCF5272_CACR_CENB )
|
||||
|
||||
|
||||
#define mcf5272_disable_cache() \
|
||||
asm volatile ( "nop\n\t" \
|
||||
"movec %0,%%cacr\n\t" \
|
||||
"nop\n\t" \
|
||||
"movec %0,%%cacr\n\t" \
|
||||
"nop\n\t" \
|
||||
: : "d" (MCF5272_CACR_CINV) )
|
||||
|
||||
/* init5272 --
|
||||
* Initialize MCF5272 on-chip modules
|
||||
*
|
||||
* PARAMETERS:
|
||||
* none
|
||||
*
|
||||
* RETURNS:
|
||||
* none
|
||||
*/
|
||||
void
|
||||
init5272(void)
|
||||
{
|
||||
extern void clear_bss(void);
|
||||
extern void start_csb360(void);
|
||||
int i;
|
||||
|
||||
/* Invalidate the cache - WARNING: It won't complete for 64 clocks */
|
||||
m68k_set_cacr(MCF5272_CACR_CINV);
|
||||
|
||||
/* Set Module Base Address register */
|
||||
m68k_set_mbar((BSP_MBAR & MCF5272_MBAR_BA) | MCF5272_MBAR_V);
|
||||
|
||||
/* Set RAM Base Address register */
|
||||
m68k_set_srambar((BSP_RAMBAR & MCF5272_RAMBAR_BA) | MCF5272_RAMBAR_V);
|
||||
|
||||
/* Set System Control Register:
|
||||
* Enet has highest priority, 16384 bus cycles before timeout
|
||||
*/
|
||||
g_sim_regs->scr = (MCF5272_SCR_HWR_16384);
|
||||
|
||||
/* System Protection Register:
|
||||
* Enable Hardware watchdog timer.
|
||||
*/
|
||||
g_sim_regs->spr = MCF5272_SPR_HWTEN;
|
||||
|
||||
/* Clear and mask all interrupts */
|
||||
g_intctrl_regs->icr1 = 0x88888888;
|
||||
g_intctrl_regs->icr2 = 0x88888888;
|
||||
g_intctrl_regs->icr3 = 0x88888888;
|
||||
g_intctrl_regs->icr4 = 0x88880000;
|
||||
|
||||
/* Copy the interrupt vector table to SRAM */
|
||||
{
|
||||
extern void INTERRUPT_VECTOR();
|
||||
rtems_unsigned32 *inttab = (rtems_unsigned32 *)&INTERRUPT_VECTOR;
|
||||
rtems_unsigned32 *intvec = (rtems_unsigned32 *)BSP_RAMBAR;
|
||||
register int i;
|
||||
for (i = 0; i < 256; i++)
|
||||
{
|
||||
*(intvec++) = *(inttab++);
|
||||
}
|
||||
}
|
||||
m68k_set_vbr(BSP_RAMBAR);
|
||||
|
||||
|
||||
/*
|
||||
* Setup ACRs so that if cache turned on, periphal accesses
|
||||
* are not messed up. (Non-cacheable, serialized)
|
||||
*/
|
||||
|
||||
m68k_set_acr0(MCF5272_ACR_BASE(BSP_MEM_ADDR_SDRAM) |
|
||||
MCF5272_ACR_MASK(BSP_MEM_MASK_SDRAM) |
|
||||
MCF5272_ACR_EN |
|
||||
MCF5272_ACR_SM_ANY);
|
||||
|
||||
/*
|
||||
m68k_set_acr1 (MCF5206E_ACR_BASE(BSP_MEM_ADDR_FLASH) |
|
||||
MCF5206E_ACR_MASK(BSP_MEM_MASK_FLASH) |
|
||||
MCF5206E_ACR_EN |
|
||||
MCF5206E_ACR_SM_ANY);
|
||||
*/
|
||||
|
||||
/* Enable the caches */
|
||||
m68k_set_cacr(MCF5272_CACR_CENB |
|
||||
MCF5272_CACR_DCM); /* Default is not cached */
|
||||
|
||||
/*
|
||||
* Copy data, clear BSS, switch stacks and call boot_card()
|
||||
*/
|
||||
/*
|
||||
CopyDataClearBSSAndStart(BSP_MEM_SIZE_ESRAM - 0x400);
|
||||
*/
|
||||
clear_bss();
|
||||
start_csb360();
|
||||
|
||||
}
|
||||
@@ -0,0 +1,149 @@
|
||||
/*
|
||||
* This file contains GNU linker directives for the Cogent
|
||||
* CSB360 development board.
|
||||
*
|
||||
* Copyright (C) 2004 Cogent Computer Systems
|
||||
* Author: Jay Monkman <jtm@lopingdog.com>
|
||||
*
|
||||
* linkcmds,v 1.4 2003/01/20 20:19:50 joel Exp
|
||||
*/
|
||||
|
||||
/*
|
||||
* Declare size of heap.
|
||||
* A heap size of 0 means "Use all available memory for the heap".
|
||||
* Initial stack located in on-chip SRAM and not declared there.
|
||||
*/
|
||||
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;
|
||||
_RamSize = DEFINED(_RamSize) ? _RamSize : 31M;
|
||||
|
||||
/* This is needed for _CPU_ISR_install_vector -
|
||||
* WARNING: it MUST match BSP_RAMBAR !!!!!!!!!!! */
|
||||
_VBR = 0x20000000;
|
||||
|
||||
/*
|
||||
* Setup the memory map of the CSB360 board
|
||||
*
|
||||
* The "ram" section is placed in RAM after the space used by umon.
|
||||
*
|
||||
*/
|
||||
MEMORY
|
||||
{
|
||||
ram : ORIGIN = 0x00100000, LENGTH = 31M
|
||||
}
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
|
||||
/*
|
||||
* Text, data and bss segments
|
||||
*/
|
||||
.text :
|
||||
{
|
||||
_RamBase = .;
|
||||
__RamBase = .;
|
||||
CREATE_OBJECT_SYMBOLS
|
||||
*(.text)
|
||||
|
||||
/*
|
||||
* C++ constructors/destructors
|
||||
*/
|
||||
*(.gnu.linkonce.t.*)
|
||||
|
||||
/*
|
||||
* Initialization and finalization code.
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
PROVIDE (_init = .);
|
||||
*crti.o(.init)
|
||||
*(.init)
|
||||
*crtn.o(.init)
|
||||
. = ALIGN (16);
|
||||
PROVIDE (_fini = .);
|
||||
*crti.o(.fini)
|
||||
*(.fini)
|
||||
*crtn.o(.fini)
|
||||
|
||||
/*
|
||||
* Special FreeBSD sysctl sections.
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
__start_set_sysctl_set = .;
|
||||
*(set_sysctl_*);
|
||||
__stop_set_sysctl_set = ABSOLUTE(.);
|
||||
*(set_domain_*);
|
||||
*(set_pseudo_*);
|
||||
|
||||
/*
|
||||
* C++ constructors/destructors
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
*crtbegin.o(.ctors)
|
||||
*(.ctors)
|
||||
*crtend.o(.ctors)
|
||||
*crtbegin.o(.dtors)
|
||||
*(.dtors)
|
||||
*crtend.o(.dtors)
|
||||
|
||||
/*
|
||||
* Exception frame info
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
*(.eh_frame)
|
||||
|
||||
/*
|
||||
* Read-only data
|
||||
*/
|
||||
. = ALIGN (16);
|
||||
_rodata_start = .;
|
||||
*(.rodata*)
|
||||
*(.gnu.linkonce.r*)
|
||||
|
||||
. = ALIGN (16);
|
||||
PROVIDE (etext = .);
|
||||
|
||||
} > ram
|
||||
|
||||
.data :
|
||||
{
|
||||
copy_start = .;
|
||||
*(.shdata)
|
||||
. = ALIGN (0x10);
|
||||
*(.data)
|
||||
. = ALIGN (0x10);
|
||||
*(.gcc_exc)
|
||||
*(.gcc_except_table)
|
||||
*(.jcr)
|
||||
. = ALIGN (0x10);
|
||||
*(.gnu.linkonce.d*)
|
||||
. = ALIGN (0x10);
|
||||
_edata = .;
|
||||
copy_end = .;
|
||||
} > ram
|
||||
|
||||
.bss :
|
||||
{
|
||||
clear_start = . ;
|
||||
*(.shbss)
|
||||
*(.bss)
|
||||
*(COMMON)
|
||||
. = ALIGN(0x10);
|
||||
_end = .;
|
||||
|
||||
clear_end = .;
|
||||
|
||||
_WorkspaceBase = .;
|
||||
__WorkspaceBase = .;
|
||||
|
||||
} > ram
|
||||
|
||||
.stab 0 (NOLOAD) :
|
||||
{
|
||||
*(.stab)
|
||||
}
|
||||
|
||||
.stabstr 0 (NOLOAD) :
|
||||
{
|
||||
*(.stabstr)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,189 @@
|
||||
#
|
||||
# Timing Test Suite Results for the Cogent CSB360 MCF5272 BSP
|
||||
#
|
||||
#
|
||||
#
|
||||
|
||||
Board: Cogent CSB360
|
||||
CPU: MCF5372 - Coldfire
|
||||
Clock Speed: 66 MHz
|
||||
Memory Configuration: SDRAM, 32 bits wide
|
||||
|
||||
Times Reported in: microseconds
|
||||
Timer Source: Timer 2
|
||||
|
||||
Instruction cache is enabled.
|
||||
|
||||
== ================================================================ ===
|
||||
1 rtems_semaphore_create 27
|
||||
1 rtems_semaphore_delete 30
|
||||
1 rtems_semaphore_obtain: available 6
|
||||
1 rtems_semaphore_obtain: not available -- NO_WAIT 7
|
||||
1 rtems_semaphore_release: no waiting tasks 17
|
||||
|
||||
2 rtems_semaphore_obtain: not available -- caller blocks 53
|
||||
|
||||
3 rtems_semaphore_release: task readied -- preempts caller 41
|
||||
|
||||
4 rtems_task_restart: blocked task -- preempts caller 83
|
||||
4 rtems_task_restart: ready task -- preempts caller 79
|
||||
4 rtems_semaphore_release: task readied -- returns to caller 30
|
||||
4 rtems_task_create 130
|
||||
4 rtems_task_start 38
|
||||
4 rtems_task_restart: suspended task -- returns to caller 43
|
||||
4 rtems_task_delete: suspended task 88
|
||||
4 rtems_task_restart: ready task -- returns to caller 45
|
||||
4 rtems_task_restart: blocked task -- returns to caller 58
|
||||
4 rtems_task_delete: blocked task 91
|
||||
|
||||
5 rtems_task_suspend: calling task 35
|
||||
5 rtems_task_resume: task readied -- preempts caller 35
|
||||
|
||||
6 rtems_task_restart: calling task 53
|
||||
6 rtems_task_suspend: returns to caller 21
|
||||
6 rtems_task_resume: task readied -- returns to caller 21
|
||||
6 rtems_task_delete: ready task 93
|
||||
|
||||
7 rtems_task_restart: suspended task -- preempts caller 65
|
||||
|
||||
8 rtems_task_set_priority: obtain current priority 10
|
||||
8 rtems_task_set_priority: returns to caller 28
|
||||
8 rtems_task_mode: obtain current mode 6
|
||||
8 rtems_task_mode: no reschedule 6
|
||||
8 rtems_task_mode: reschedule -- returns to caller 13
|
||||
8 rtems_task_mode: reschedule -- preempts caller 35
|
||||
8 rtems_task_set_note 12
|
||||
8 rtems_task_get_note 13
|
||||
8 rtems_clock_set 32
|
||||
8 rtems_clock_get 3
|
||||
|
||||
9 rtems_message_queue_create 72
|
||||
9 rtems_message_queue_send: no waiting tasks 31
|
||||
9 rtems_message_queue_urgent: no waiting tasks 32
|
||||
9 rtems_message_queue_receive: available 33
|
||||
9 rtems_message_queue_flush: no messages flushed 14
|
||||
9 rtems_message_queue_flush: messages flushed 18
|
||||
9 rtems_message_queue_delete 40
|
||||
|
||||
10 rtems_message_queue_receive: not available -- NO_WAIT 13
|
||||
10 rtems_message_queue_receive: not available -- caller blocks 52
|
||||
|
||||
11 rtems_message_queue_send: task readied -- preempts caller 50
|
||||
|
||||
12 rtems_message_queue_send: task readied -- returns to caller 35
|
||||
|
||||
13 rtems_message_queue_urgent: task readied -- preempts caller 50
|
||||
|
||||
14 rtems_message_queue_urgent: task readied -- returns to caller 38
|
||||
|
||||
15 rtems_event_receive: obtain current events 1
|
||||
15 rtems_event_receive: not available -- NO_WAIT 8
|
||||
15 rtems_event_receive: not available -- caller blocks 41
|
||||
15 rtems_event_send: no task readied 12
|
||||
15 rtems_event_receive: available 16
|
||||
15 rtems_event_send: task readied -- returns to caller 23
|
||||
|
||||
16 rtems_event_send: task readied -- preempts caller 41
|
||||
|
||||
17 rtems_task_set_priority: preempts caller 55
|
||||
|
||||
18 rtems_task_delete: calling task 109
|
||||
|
||||
19 rtems_signal_catch 9
|
||||
19 rtems_signal_send: returns to caller 20
|
||||
19 rtems_signal_send: signal to self 30
|
||||
19 exit ASR overhead: returns to calling task 23
|
||||
19 exit ASR overhead: returns to preempting task 28
|
||||
|
||||
20 rtems_partition_create 34
|
||||
20 rtems_region_create 50
|
||||
20 rtems_partition_get_buffer: available 17
|
||||
20 rtems_partition_get_buffer: not available 12
|
||||
20 rtems_partition_return_buffer 29
|
||||
20 rtems_partition_delete 20
|
||||
20 rtems_region_get_segment: available 48
|
||||
20 rtems_region_get_segment: not available -- NO_WAIT 51
|
||||
20 rtems_region_return_segment: no waiting tasks 45
|
||||
20 rtems_region_get_segment: not available -- caller blocks 88
|
||||
20 rtems_region_return_segment: task readied -- preempts caller 97
|
||||
20 rtems_region_return_segment: task readied -- returns to caller 81
|
||||
20 rtems_region_delete 39
|
||||
20 rtems_io_initialize 3
|
||||
20 rtems_io_open 2
|
||||
20 rtems_io_close 3
|
||||
20 rtems_io_read 2
|
||||
20 rtems_io_write 2
|
||||
20 rtems_io_control 2
|
||||
|
||||
21 rtems_task_ident 115
|
||||
21 rtems_message_queue_ident 111
|
||||
21 rtems_semaphore_ident 127
|
||||
21 rtems_partition_ident 112
|
||||
21 rtems_region_ident 114
|
||||
21 rtems_port_ident 110
|
||||
21 rtems_timer_ident 110
|
||||
21 rtems_rate_monotonic_ident 111
|
||||
|
||||
22 rtems_message_queue_broadcast: task readied -- returns to caller 43
|
||||
22 rtems_message_queue_broadcast: no waiting tasks 20
|
||||
22 rtems_message_queue_broadcast: task readied -- preempts caller 58
|
||||
|
||||
23 rtems_timer_create 12
|
||||
23 rtems_timer_fire_after: inactive 24
|
||||
23 rtems_timer_fire_after: active 25
|
||||
23 rtems_timer_cancel: active 11
|
||||
23 rtems_timer_cancel: inactive 8
|
||||
23 rtems_timer_reset: inactive 21
|
||||
23 rtems_timer_reset: active 23
|
||||
23 rtems_timer_fire_when: inactive 37
|
||||
23 rtems_timer_fire_when: active 38
|
||||
23 rtems_timer_delete: active 18
|
||||
23 rtems_timer_delete: inactive 16
|
||||
23 rtems_task_wake_when 60
|
||||
|
||||
24 rtems_task_wake_after: yield -- returns to caller 6
|
||||
24 rtems_task_wake_after: yields -- preempts caller 25
|
||||
|
||||
25 rtems_clock_tick 11
|
||||
|
||||
26 _ISR_Disable 2
|
||||
26 _ISR_Flash 1
|
||||
26 _ISR_Enable 1
|
||||
26 _Thread_Disable_dispatch 1
|
||||
26 _Thread_Enable_dispatch 6
|
||||
26 _Thread_Set_state 13
|
||||
26 _Thread_Disptach (NO FP) 25
|
||||
26 context switch: no floating point contexts 18
|
||||
26 context switch: self 5
|
||||
26 context switch: to another task 5
|
||||
26 fp context switch: restore 1st FP task 18
|
||||
26 fp context switch: save idle, restore initialized 6
|
||||
26 fp context switch: save idle, restore idle 19
|
||||
26 fp context switch: save initialized, restore initialized 6
|
||||
26 _Thread_Resume 12
|
||||
26 _Thread_Unblock 11
|
||||
26 _Thread_Ready 11
|
||||
26 _Thread_Get 4
|
||||
26 _Semaphore_Get 2
|
||||
26 _Thread_Get: invalid id 1
|
||||
|
||||
27 interrupt entry overhead: returns to interrupted task 5
|
||||
27 interrupt exit overhead: returns to interrupted task 4
|
||||
27 interrupt entry overhead: returns to nested interrupt 3
|
||||
27 interrupt exit overhead: returns to nested interrupt 4
|
||||
27 interrupt entry overhead: returns to preempting task 4
|
||||
27 interrupt exit overhead: returns to preempting task 31
|
||||
|
||||
28 rtems_port_create 19
|
||||
28 rtems_port_external_to_internal 11
|
||||
28 rtems_port_internal_to_external 10
|
||||
28 rtems_port_delete 21
|
||||
|
||||
29 rtems_rate_monotonic_create 17
|
||||
29 rtems_rate_monotonic_period: initiate period -- returns to caller 29
|
||||
29 rtems_rate_monotonic_period: obtain status 16
|
||||
29 rtems_rate_monotonic_cancel 20
|
||||
29 rtems_rate_monotonic_delete: inactive 25
|
||||
29 rtems_rate_monotonic_delete: active 25
|
||||
29 rtems_rate_monotonic_period: conclude periods -- caller blocks 34
|
||||
|
||||
Reference in New Issue
Block a user