forked from Imagelibrary/rtems
Please find enclosed a patch which enables me to build the bare-bsp for
sh-rtems.
Changes:
1. Add preinstall to libbsp/bare/include/Makefile.in
2. Removed FORCEIT, add preinstall to
libbsp/sh/gensh1/include/Makefile.in
3. Disabled support of set_vector from sh code (shared/setvec.c is still
present but isn't used anymore), set_vector replaced with standard rtems
functions.
Problems still present:
1. Support of spin-delays in bare bsp
2. Proper support of cpu frequency
To configure I used:
<srcdir>/configure \
--target=sh-rtems \
--prefix=<instdir>/sh-bare \
--enable-bare-cpu-model=sh7032 \
--enable-bare-cpu-cflags='-Wall -m1 -DMHZ=20
-DCPU_CONSOLE_DEVNAME="\"/dev/null\""'
--enable-rtemsbsp=bare \
--disable-networking \
--disable-cxx \
--disable-posix \
--disable-tests
IMO, if there are no objections to this patch, a similar approach should
be applied to all CPUs/BSPs (esp. hppa1.1, mips64orion, ppc403, because
they apply set_vector inside of libcpu).
132 lines
2.8 KiB
C
132 lines
2.8 KiB
C
/*
|
|
* This include file contains all board IO definitions.
|
|
*
|
|
* generic sh1
|
|
*
|
|
* Author: Ralf Corsepius (corsepiu@faw.uni-ulm.de)
|
|
*
|
|
* COPYRIGHT (c) 1997-1998, FAW Ulm, Germany
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
|
*
|
|
*
|
|
* COPYRIGHT (c) 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.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef __gensh1_h
|
|
#define __gensh1_h
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#define CPU_CONSOLE_DEVNAME "/dev/null"
|
|
|
|
|
|
#include <rtems.h>
|
|
#include <clockdrv.h>
|
|
#include <sh/null.h>
|
|
#include <console.h>
|
|
|
|
/*
|
|
* 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 */
|
|
|
|
/*
|
|
* Stuff for Time Test 27
|
|
*/
|
|
|
|
#define MUST_WAIT_FOR_INTERRUPT 0
|
|
|
|
#define Install_tm27_vector( handler ) \
|
|
{ \
|
|
rtems_isr_entry ignored ; \
|
|
rtems_interrupt_catch( (handler), 0, &ignored ) ; \
|
|
}
|
|
|
|
#define Cause_tm27_intr()
|
|
|
|
#define Clear_tm27_intr()
|
|
|
|
#define Lower_tm27_intr()
|
|
|
|
/* Constants */
|
|
|
|
#define MHZ 20
|
|
|
|
/*
|
|
* Defined in the linker script 'linkcmds'
|
|
*/
|
|
|
|
extern unsigned32 HeapStart ;
|
|
extern unsigned32 HeapEnd ;
|
|
extern unsigned32 WorkSpaceStart ;
|
|
extern unsigned32 WorkSpaceEnd ;
|
|
|
|
extern void *CPU_Interrupt_stack_low ;
|
|
extern void *CPU_Interrupt_stack_high ;
|
|
|
|
|
|
/* miscellaneous stuff assumed to exist */
|
|
|
|
extern rtems_configuration_table BSP_Configuration;
|
|
|
|
extern void bsp_cleanup( void );
|
|
|
|
/*
|
|
* Device Driver Table Entries
|
|
*/
|
|
|
|
/*
|
|
* We redefine CONSOLE_DRIVER_TABLE_ENTRY to redirect /dev/console
|
|
*/
|
|
#if defined(CONSOLE_DRIVER_TABLE_ENTRY)
|
|
#warning Overwriting CONSOLE_DRIVER_TABLE_ENTRY
|
|
#undef CONSOLE_DRIVER_TABLE_ENTRY
|
|
#endif
|
|
|
|
#define CONSOLE_DRIVER_TABLE_ENTRY \
|
|
DEVNULL_DRIVER_TABLE_ENTRY, \
|
|
{ console_initialize, console_open, console_close, \
|
|
console_read, console_write, console_control }
|
|
|
|
/*
|
|
* NOTE: Use the standard Clock driver entry
|
|
*/
|
|
|
|
/*
|
|
* FIXME: Should this go to libcpu/sh/sh7032 ?
|
|
*/
|
|
#if 0
|
|
/* functions */
|
|
sh_isr_entry set_vector( /* returns old vector */
|
|
rtems_isr_entry handler, /* isr routine */
|
|
rtems_vector_number vector, /* vector number */
|
|
int type /* RTEMS or RAW intr */
|
|
);
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|
|
/* end of include file */
|