forked from Imagelibrary/rtems
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
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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();
|
||||
|
||||
@@ -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 );
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user