summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-31 15:05:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2000-05-31 15:05:55 +0000
commitdb07e68798fd8203a02034cc21b7bd1bfc2b07b3 (patch)
treedb1f58d8101798f418b8579a678686d52541e1b3
parentAdded -DUSE_INIT_FINI to all m68k and PowerPC BSPs. (diff)
downloadrtems-db07e68798fd8203a02034cc21b7bd1bfc2b07b3.tar.bz2
Update from John S. Gwynne <jsg@jsgpc.mrcday.com> that:
* updated README * improved misc script for running the RTEMS test programs * Updated 332 SIM configuration in start.c * C++ global constructor fix (USE_INIT_FINI) * change __end_of_ram to _RamEnd to match changes by others
-rw-r--r--c/src/lib/libbsp/m68k/efi332/README27
-rw-r--r--c/src/lib/libbsp/m68k/efi332/include/bsp.h3
-rw-r--r--c/src/lib/libbsp/m68k/efi332/misc/dotests14
-rw-r--r--c/src/lib/libbsp/m68k/efi332/misc/gdbinit682
-rw-r--r--c/src/lib/libbsp/m68k/efi332/misc/interr.c7
-rw-r--r--c/src/lib/libbsp/m68k/efi332/start/start.c6
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/except_vect_332_ROM.S2
-rw-r--r--c/src/lib/libbsp/m68k/efi332/startup/linkcmds2
8 files changed, 29 insertions, 34 deletions
diff --git a/c/src/lib/libbsp/m68k/efi332/README b/c/src/lib/libbsp/m68k/efi332/README
index 097ce132ad..2ece9ff5bb 100644
--- a/c/src/lib/libbsp/m68k/efi332/README
+++ b/c/src/lib/libbsp/m68k/efi332/README
@@ -4,7 +4,7 @@
Description: efi68k
============
-CPU: MC68332 @16MHz
+CPU: MC68332 @20MHz
RAM: 256k max. (supports several configurations)
ROM: 512k (supports several configurations)
@@ -12,25 +12,18 @@ ROM: 512k (supports several configurations)
Internet subscribes to the mailing list "efi332" (an offshoot of the
"diy_efi" mailing list). Although efi332 was initially designed for
automotive research, it is a fairly generalized embedded controller
-when used without the companion EFI I/O board. It is patterned much after
-the the Motorola BCC but cost on the order of $250US. A 4x3 inch
-(approx.) printed circuit board is available (about $14US). For complete
-information see
+when used without the companion EFI I/O board, and is patterned much
+after the the Motorola BCC. A 4x3 inch (approx.) printed circuit board
+is available (about $14US). For complete information see
+
+ http://www.diy-efi.org
- http://efi332.eng.ohio-state.edu
TODO:
=====
- integrate the interrupt driven stdin/stdout into RTEMS to (a) reduce
- the interrupt priority and (2) to prevent it from blocking. (high
- priority)
+ the interrupt priority and (2) to prevent it from blocking.
- add a timer driver for the tmtest set.
-- generate include/coverhd.c to perform the tmtest.
-- add separate interrupt stack (low priority... may never happen :).
- John S Gwynne
- Gwynne.1@osu.edu
-_______________________________________________________________________________
- T h e O h i o - S t a t e U n i v e r s i t y
- ElectroScience Laboratory, 1320 Kinnear Road, Columbus, Ohio 43212, USA
- Telephone: (614) 292-7981 * Fax: (614) 292-7297
--------------------------------------------------------------------------------
+
+ John S Gwynne, PhD.
+ jgwynne@mrcday.com
diff --git a/c/src/lib/libbsp/m68k/efi332/include/bsp.h b/c/src/lib/libbsp/m68k/efi332/include/bsp.h
index 1a1983a0df..c44e1f75fd 100644
--- a/c/src/lib/libbsp/m68k/efi332/include/bsp.h
+++ b/c/src/lib/libbsp/m68k/efi332/include/bsp.h
@@ -87,12 +87,9 @@ extern char _edata[];
extern char _clear_start[];
extern char end[];
extern char _copy_data_from_rom[];
-extern char __end_of_ram[];
/* constants */
-#define RAM_END ((int)__end_of_ram)
-
#ifdef __START_C__
#define STACK_SIZE "#0x800"
#else
diff --git a/c/src/lib/libbsp/m68k/efi332/misc/dotests b/c/src/lib/libbsp/m68k/efi332/misc/dotests
index b9449bffc3..f701e01114 100644
--- a/c/src/lib/libbsp/m68k/efi332/misc/dotests
+++ b/c/src/lib/libbsp/m68k/efi332/misc/dotests
@@ -3,13 +3,13 @@
# $Id$
#
-/bin/rm sp* &>/dev/null
-(cd ..; for f in sp*; do cp ${f}/o-efi332/${f}.nxe hold; done)
+mkdir MyTests
+find -name MyTests -prune -or -name "*.nxe" -exec cp {} MyTests \;
-stty 5:0:800008bf:0:0:0:0:0:0:1:1:0:0:0:0:0:0:0:0:0:0:0:0 </dev/cua0
-/bin/cp /dev/cua0 screen &
+stty 1:0:80001cb2:0:3:1c:7f:15:4:5:1:0:11:13:1a:0:12:f:17:16:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0:0 </dev/ttyS1
+/bin/cp /dev/ttyS1 screen &
+cpJob=$!
-for f in sp*; do m68k-bdm-coff-gdb ${f} </dev/null; done
+( cd MyTests; for f in *nxe; do m68k-elf-gdb ${f} </dev/null; done )
-kill -9 `ps -efax | grep "/bin/cp /dev/cua0" | sed "/grep/D; s/ .*$//"`
-/bin/rm sp* &>/dev/null
+kill -9 $cpJob
diff --git a/c/src/lib/libbsp/m68k/efi332/misc/gdbinit68 b/c/src/lib/libbsp/m68k/efi332/misc/gdbinit68
index 9a104f86d2..b929f5aa20 100644
--- a/c/src/lib/libbsp/m68k/efi332/misc/gdbinit68
+++ b/c/src/lib/libbsp/m68k/efi332/misc/gdbinit68
@@ -4,7 +4,7 @@
echo Setting up the environment for efi332 debuging.\n
target bdm /dev/pdbdm0
-bdm_setdelay 405
+bdm_setdelay 4
bdm_autoreset on
set remotecache off
bdm_timetocomeup 0
diff --git a/c/src/lib/libbsp/m68k/efi332/misc/interr.c b/c/src/lib/libbsp/m68k/efi332/misc/interr.c
index 245be54032..578ad139c3 100644
--- a/c/src/lib/libbsp/m68k/efi332/misc/interr.c
+++ b/c/src/lib/libbsp/m68k/efi332/misc/interr.c
@@ -83,7 +83,12 @@ void volatile _Internal_error_Occurred(
RAW_PUTS("\r\nRTEMS: A fatal error has occured.\r\n");
RAW_PUTS("RTEMS: fatal error ");
RAW_PUTI( the_error );
- RAW_PUTS(".\r\n");
+ RAW_PUTS(" (");
+ outbyte( (char)((the_error>>24) & 0xff) );
+ outbyte( (char)((the_error>>16) & 0xff) );
+ outbyte( (char)((the_error>>8) & 0xff) );
+ outbyte( (char)(the_error & 0xff) );
+ RAW_PUTS(").\r\n");
/* configure peripherals for a safe exit */
bsp_cleanup();
diff --git a/c/src/lib/libbsp/m68k/efi332/start/start.c b/c/src/lib/libbsp/m68k/efi332/start/start.c
index 4586a4c089..5394fb279c 100644
--- a/c/src/lib/libbsp/m68k/efi332/start/start.c
+++ b/c/src/lib/libbsp/m68k/efi332/start/start.c
@@ -93,7 +93,7 @@ void dumby_start() {
*CSBAR3 = (unsigned short int)
(((0x0C0000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0xC0000 */
*CSBAR4 = (unsigned short int)
- (((0x0C0000 >> 8)&0xfff8) | BS_256K ); /* 256 bytes located at 0xC0000 */
+ (((0x0C0000 >> 8)&0xfff8) | BS_256K ); /* 256k bytes located at 0xC0000 */
*CSBAR5 = (unsigned short int)
(0xfff8 | BS_64K); /* AVEC interrupts */
#ifdef EFI332_v040b
@@ -112,10 +112,10 @@ void dumby_start() {
/* see section 7 of the SIM Reference Manual */
#ifdef FLASHWRITE
*CSORBT = (unsigned short int)
- ( BothBytes | ReadWrite | SyncAS | WaitStates_2 | UserSupSpace );
+ ( BothBytes | ReadWrite | SyncAS | WaitStates_0 | UserSupSpace );
#else /* FLASHWRITE */
*CSORBT = (unsigned short int)
- ( BothBytes | ReadOnly | SyncAS | WaitStates_2 | UserSupSpace );
+ ( BothBytes | ReadOnly | SyncAS | WaitStates_0 | UserSupSpace );
#endif /* FLASHWRITE */
*CSOR0 = (unsigned short int)
( BothBytes | ReadOnly | SyncAS | External | UserSupSpace );
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/except_vect_332_ROM.S b/c/src/lib/libbsp/m68k/efi332/startup/except_vect_332_ROM.S
index 0e5e11c085..9eb2f20556 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/except_vect_332_ROM.S
+++ b/c/src/lib/libbsp/m68k/efi332/startup/except_vect_332_ROM.S
@@ -11,7 +11,7 @@
will have priority. */
/* Vector 0: RESET: Initial SSP */
- .long __end_of_ram
+ .long _RamEnd
/* Vector 1: RESET: Initial PC */
.long start
diff --git a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
index 7133fafa8b..849c8692fa 100644
--- a/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
+++ b/c/src/lib/libbsp/m68k/efi332/startup/linkcmds
@@ -35,6 +35,7 @@ __DYNAMIC = 0;
*/
_RamBase = DEFINED(_RamBase) ? _RamBase : 0x80000;
_RamSize = DEFINED(_RamSize) ? _RamSize : 0x80000;
+_RamEnd = _RamBase + _RamSize;
_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x10000;
_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;
@@ -43,7 +44,6 @@ MEMORY
ram : ORIGIN = 0x80000, LENGTH = 512K
}
-__end_of_ram = 0x100000;
_copy_data_from_rom = 0;
/*