OpenCores
URL https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk

Subversion Repositories openrisc_me

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /openrisc/trunk/rtos/ecos-2.0/packages/hal/mn10300/stdeval1
    from Rev 27 to Rev 174
    Reverse comparison

Rev 27 → Rev 174

/v2_0/cdl/hal_mn10300_am31_stdeval1.cdl
0,0 → 1,249
# ====================================================================
#
# hal_mn10300_am31_stdeval1.cdl
#
# AM31/stdeval1 board HAL package configuration data
#
# ====================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
##
## eCos 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. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
# ====================================================================
######DESCRIPTIONBEGIN####
#
# Author(s): jskov
# Original data: nick, bartv
# Contributors:
# Date: 1999-11-02
#
#####DESCRIPTIONEND####
#
# ====================================================================
 
cdl_package CYGPKG_HAL_MN10300_AM31_STDEVAL1 {
display "stdeval1 evaluation board"
parent CYGPKG_HAL_MN10300
requires CYGPKG_HAL_MN10300_AM31
define_header hal_mn10300_am31_stdeval1.h
include_dir cyg/hal
description "
The stdeval1 HAL package should be used when targetting the
actual hardware. The same package can also be used when
running on the full MN10300 simulator, since this provides
an accurate simulation of the full hardware including I/O
devices."
 
compile hal_diag.c plf_stub.c plf_misc.c
 
implements CYGINT_HAL_DEBUG_GDB_STUBS
implements CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
 
define_proc {
puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_mn10300_am31.h>"
puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_mn10300_am31_stdeval1.h>"
 
puts $::cdl_system_header "#define CYG_HAL_MN10300_MN103002"
puts $::cdl_system_header "#define CYG_HAL_MN10300_AM31_STDEVAL1"
}
 
cdl_component CYG_HAL_STARTUP {
display "Startup type"
flavor data
legal_values {"RAM" "ROM"}
default_value {"RAM"}
no_define
define -file system.h CYG_HAL_STARTUP
description "
When targetting the stdeval1 board it is possible to build
the system for either RAM bootstrap or ROM bootstrap. The
former generally requires that the board is equipped with
ROMs containing the Cygmon ROM monitor or equivalent
software that allows gdb to download the eCos application
on to the board. The latter typically requires that the
eCos application be blown into EPROMs or equivalent
technology."
}
 
 
# Real-time clock/counter specifics
cdl_component CYGNUM_HAL_RTC_CONSTANTS {
display "Real-time clock constants."
flavor none
cdl_option CYGNUM_HAL_RTC_NUMERATOR {
display "Real-time clock numerator"
flavor data
calculated 1000000000
}
cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
display "Real-time clock denominator"
flavor data
calculated 100
}
cdl_option CYGNUM_HAL_RTC_PERIOD {
display "Real-time clock period"
flavor data
calculated 150000
}
}
 
cdl_component CYGBLD_GLOBAL_OPTIONS {
display "Global build options"
flavor none
parent CYGPKG_NONE
description "
Global build options including control over
compiler flags, linker flags and choice of toolchain."
 
 
cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
display "Global command prefix"
flavor data
no_define
default_value { "mn10300-elf" }
description "
This option specifies the command prefix used when
invoking the build tools."
}
 
cdl_option CYGBLD_GLOBAL_CFLAGS {
display "Global compiler flags"
flavor data
no_define
default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
description "
This option controls the global compiler flags which
are used to compile all packages by
default. Individual packages may define
options which override these global flags."
}
 
cdl_option CYGBLD_GLOBAL_LDFLAGS {
display "Global linker flags"
flavor data
no_define
default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
description "
This option controls the global linker flags. Individual
packages may define options which override these global flags."
}
 
cdl_option CYGBLD_BUILD_GDB_STUBS {
display "Build GDB stub ROM image"
default_value 0
requires { CYG_HAL_STARTUP == "ROM" }
requires CYGSEM_HAL_ROM_MONITOR
requires CYGBLD_BUILD_COMMON_GDB_STUBS
requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
no_define
description "
This option enables the building of the GDB stubs for the
board. The common HAL controls takes care of most of the
build process, but the final conversion from ELF image to
binary data is handled by the platform CDL, allowing
relocation of the data if necessary."
 
make -priority 320 {
<PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
$(OBJCOPY) -O binary $< $@
}
}
}
 
cdl_component CYGHWR_MEMORY_LAYOUT {
display "Memory layout"
flavor data
no_define
calculated { CYG_HAL_STARTUP == "RAM" ? "mn10300_am31_stdeval1_ram" : \
"mn10300_am31_stdeval1_rom" }
 
cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
display "Memory layout linker script fragment"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mn10300_am31_stdeval1_ram.ldi>" : \
"<pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi>" }
}
 
cdl_option CYGHWR_MEMORY_LAYOUT_H {
display "Memory layout header file"
flavor data
no_define
define -file system.h CYGHWR_MEMORY_LAYOUT_H
calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_mn10300_am31_stdeval1_ram.h>" : \
"<pkgconf/mlt_mn10300_am31_stdeval1_rom.h>" }
}
}
 
cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
display "Work with a ROM monitor"
flavor booldata
legal_values { "Generic" "Sload" "CygMon" "GDB_stubs" }
default_value { CYG_HAL_STARTUP == "RAM" ? "CygMon" : 0 }
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "RAM" }
description "
Support can be enabled for four different varieties of ROM monitor.
This support changes various eCos semantics such as the encoding
of diagnostic output, or the overriding of hardware interrupt
vectors.
Firstly there is \"Generic\" support which prevents the HAL
from overriding the hardware vectors that it does not use, to
instead allow an installed ROM monitor to handle them. This is
the most basic support which is likely to be common to most
implementations of ROM monitor.
Next there is \"SLoad\" support which configures eCos to assume it
will be downloaded into RAM via a ROM monitor using S-records.
\"CygMon\" provides support for the Cygnus ROM Monitor.
And finally, \"GDB_stubs\" provides support when GDB stubs are
included in the ROM monitor or boot ROM."
}
 
cdl_option CYGSEM_HAL_ROM_MONITOR {
display "Behave as a ROM monitor"
flavor bool
default_value 0
parent CYGPKG_HAL_ROM_MONITOR
requires { CYG_HAL_STARTUP == "ROM" }
description "
Enable this option if this program is to be used as a ROM monitor,
i.e. applications will be loaded into RAM on the board, and this
ROM monitor may process exceptions or interrupts generated from the
application. This enables features such as utilizing a separate
interrupt stack when exceptions are generated."
}
}
/v2_0/include/plf_intr.h
0,0 → 1,86
#ifndef CYGONCE_HAL_PLF_INTR_H
#define CYGONCE_HAL_PLF_INTR_H
 
//==========================================================================
//
// plf_intr.h
//
// Stdeval1 Interrupt and clock support
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg, jskov,
// gthomas, jlarmour
// Date: 1999-02-16
// Purpose: Define Interrupt support
// Description: The macros defined here provide the HAL APIs for handling
// interrupts and the clock for the stdeval1 board.
//
// Usage:
// #include <cyg/hal/plf_intr.h>
// ...
//
//
//####DESCRIPTIONEND####
//
//==========================================================================
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h>
 
//--------------------------------------------------------------------------
// Control-C support.
 
#if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT)
 
# define CYGHWR_HAL_GDB_PORT_VECTOR CYGNUM_HAL_INTERRUPT_SERIAL_1_RX
 
externC cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data);
 
#define HAL_CTRLC_ISR hal_ctrlc_isr
 
#endif
 
//----------------------------------------------------------------------------
// Reset.
#define HAL_PLATFORM_RESET() CYG_EMPTY_STATEMENT
 
//--------------------------------------------------------------------------
#endif // ifndef CYGONCE_HAL_PLF_INTR_H
// End of plf_intr.h
/v2_0/include/plf_stub.h
0,0 → 1,87
#ifndef CYGONCE_HAL_PLF_STUB_H
#define CYGONCE_HAL_PLF_STUB_H
 
//=============================================================================
//
// plf_stub.h
//
// Platform header for GDB stub support.
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): jskov
// Contributors:jskov
// Date: 1999-02-12
// Purpose: Platform HAL stub support for MN10300/stdeval1 boards.
// Usage: #include <cyg/hal/plf_stub.h>
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
#include <pkgconf/hal_mn10300_am31_stdeval1.h>
 
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 
#include <cyg/infra/cyg_type.h> // CYG_UNUSED_PARAM
 
#include <cyg/hal/mn10300_stub.h> // architecture stub support
 
//----------------------------------------------------------------------------
// Define serial stuff.
extern void hal_stdeval1_init_serial( void );
extern int hal_stdeval1_get_char( void );
extern void hal_stdeval1_put_char( int c );
extern int hal_stdeval1_interruptible(int state);
extern void hal_stdeval1_init_break_irq( void );
 
#define HAL_STUB_PLATFORM_INIT_SERIAL() hal_stdeval1_init_serial()
#define HAL_STUB_PLATFORM_GET_CHAR() hal_stdeval1_get_char()
#define HAL_STUB_PLATFORM_PUT_CHAR(c) hal_stdeval1_put_char((c))
#define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
#define HAL_STUB_PLATFORM_INTERRUPTIBLE (&hal_stdeval1_interruptible)
#define HAL_STUB_PLATFORM_INIT_BREAK_IRQ() hal_stdeval1_init_break_irq()
 
//----------------------------------------------------------------------------
// Stub initializer.
#define HAL_STUB_PLATFORM_INIT() CYG_EMPTY_STATEMENT
 
#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
//-----------------------------------------------------------------------------
#endif // CYGONCE_HAL_PLF_STUB_H
// End of plf_stub.h
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_rom.h
0,0 → 1,20
// eCos memory layout - Fri Oct 20 08:27:18 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_rom (0x40000000)
#define CYGMEM_REGION_rom_SIZE (0x80000)
#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
#define CYGMEM_REGION_ram (0x48000000)
#define CYGMEM_REGION_ram_SIZE (0x200000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x48200000 - (size_t) CYG_LABEL_NAME (__heap1))
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi
0,0 → 1,27
// eCos memory layout - Fri Oct 20 08:27:18 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
rom : ORIGIN = 0x40000000, LENGTH = 0x80000
ram : ORIGIN = 0x48000000, LENGTH = 0x200000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (rom, 0x40000000, LMA_EQ_VMA)
SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_fini (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_rodata (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_rodata1 (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_fixup (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_gcc_except_table (rom, ALIGN (0x1), LMA_EQ_VMA)
SECTION_data (ram, 0x48000000, FOLLOWING (.gcc_except_table))
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_ram.h
0,0 → 1,17
// eCos memory layout - Fri Oct 20 08:26:30 2000
 
// This is a generated file - do not edit
 
#ifndef __ASSEMBLER__
#include <cyg/infra/cyg_type.h>
#include <stddef.h>
 
#endif
#define CYGMEM_REGION_ram (0x48008000)
#define CYGMEM_REGION_ram_SIZE (0x1f8000)
#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
#ifndef __ASSEMBLER__
extern char CYG_LABEL_NAME (__heap1) [];
#endif
#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
#define CYGMEM_SECTION_heap1_SIZE (0x48200000 - (size_t) CYG_LABEL_NAME (__heap1))
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_ram.ldi
0,0 → 1,26
// eCos memory layout - Fri Oct 20 08:26:30 2000
 
// This is a generated file - do not edit
 
#include <cyg/infra/cyg_type.inc>
 
MEMORY
{
ram : ORIGIN = 0x48008000, LENGTH = 0x1f8000
}
 
SECTIONS
{
SECTIONS_BEGIN
SECTION_rom_vectors (ram, 0x48008000, LMA_EQ_VMA)
SECTION_text (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_fini (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_rodata (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_rodata1 (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_fixup (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
SECTIONS_END
}
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_rom.mlt
0,0 → 1,13
version 0
region rom 40000000 80000 1 !
region ram 48000000 200000 0 !
section rom_vectors 0 1 0 1 1 1 1 1 40000000 40000000 text text !
section text 0 1 0 1 0 1 0 1 fini fini !
section fini 0 1 0 1 0 1 0 1 rodata rodata !
section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 1 0 1 0 1 0 1 fixup fixup !
section fixup 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 1 0 1 0 0 0 1 data !
section data 0 1 1 1 1 1 0 0 48000000 bss !
section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
/v2_0/include/pkgconf/mlt_mn10300_am31_stdeval1_ram.mlt
0,0 → 1,12
version 0
region ram 48008000 1f8000 0 !
section rom_vectors 0 1 0 1 1 1 1 1 48008000 48008000 text text !
section text 0 1 0 1 0 1 0 1 fini fini !
section fini 0 1 0 1 0 1 0 1 rodata rodata !
section rodata 0 1 0 1 0 1 0 1 rodata1 rodata1 !
section rodata1 0 1 0 1 0 1 0 1 fixup fixup !
section fixup 0 1 0 1 0 1 0 1 gcc_except_table gcc_except_table !
section gcc_except_table 0 1 0 1 0 1 0 1 data data !
section data 0 4 0 1 0 1 0 1 bss bss !
section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
section heap1 0 8 0 0 0 0 0 0 !
/v2_0/include/platform.inc
0,0 → 1,85
#ifndef CYGONCE_HAL_PLATFORM_INC
#define CYGONCE_HAL_PLATFORM_INC
##=============================================================================
##
## platform.inc
##
## Stdeval1 board assembler header file
##
##=============================================================================
#####ECOSGPLCOPYRIGHTBEGIN####
## -------------------------------------------
## This file is part of eCos, the Embedded Configurable Operating System.
## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
##
## eCos is free software; you can redistribute it and/or modify it under
## the terms of the GNU General Public License as published by the Free
## Software Foundation; either version 2 or (at your option) any later version.
##
## eCos 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. See the GNU General Public License
## for more details.
##
## You should have received a copy of the GNU General Public License along
## with eCos; if not, write to the Free Software Foundation, Inc.,
## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
##
## As a special exception, if other files instantiate templates or use macros
## or inline functions from this file, or you compile this file and link it
## with other works to produce a work based on this file, this file does not
## by itself cause the resulting work to be covered by the GNU General Public
## License. However the source code for this file must still be made available
## in accordance with section (3) of the GNU General Public License.
##
## This exception does not invalidate any other reasons why a work based on
## this file might be covered by the GNU General Public License.
##
## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
## at http://sources.redhat.com/ecos/ecos-license/
## -------------------------------------------
#####ECOSGPLCOPYRIGHTEND####
##=============================================================================
#######DESCRIPTIONBEGIN####
##
## Author(s): nickg
## Contributors: nickg
## Date: 1999-04-06
## Purpose: Stdeval1 board definitions.
## Description: This file contains various definitions and macros that are
## useful for writing assembly code for the stdeval1 board.
## Usage:
## #include <cyg/hal/platform.inc>
## ...
##
##
######DESCRIPTIONEND####
##
##=============================================================================
 
#include <pkgconf/hal.h>
 
##-----------------------------------------------------------------------------
## Debug code to count interrupts on the led.
 
.macro show_interrupts
mov (led_count),d1
inc d1
# cmp 20000,d1
# ble 2f
mov 0,d1
movbu (led_value),d0
movbu d0,(P2OUT)
add 16,d0
cmp 0x90,d0
bne 1f
mov 0,d0
1:
movbu d0,(led_value)
2:
mov d1,(led_count)
.endm
 
#------------------------------------------------------------------------------
#endif // ifndef CYGONCE_HAL_PLATFORM_INC
# end of platform.inc
/v2_0/include/plf_io.h
0,0 → 1,65
#ifndef CYGONCE_PLF_IO_H
#define CYGONCE_PLF_IO_H
 
//=============================================================================
//
// plf_io.h
//
// Platform specific IO support
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors:
// Date: 2001-08-02
// Purpose: Stdeval1 platform IO support
// Description:
// Usage: #include <cyg/hal/plf_io.h>
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
 
//-----------------------------------------------------------------------------
 
// Nothing here
 
//-----------------------------------------------------------------------------
// end of plf_io.h
#endif // CYGONCE_PLF_IO_H
/v2_0/include/hal_diag.h
0,0 → 1,80
#ifndef CYGONCE_HAL_HAL_DIAG_H
#define CYGONCE_HAL_HAL_DIAG_H
 
/*=============================================================================
//
// hal_diag.h
//
// HAL Support for Kernel Diagnostic Routines
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg
// Date: 1998-03-02
// Purpose: HAL Support for Kernel Diagnostic Routines
// Description: Diagnostic routines for use during kernel development.
// Usage: #include "cyg/hal/hal_diag.h"
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h>
 
/*---------------------------------------------------------------------------*/
/* functions implemented in hal_diag.c */
 
externC void hal_diag_init(void);
 
externC void hal_diag_write_char(char c);
 
externC void hal_diag_read_char(char *c);
 
/*---------------------------------------------------------------------------*/
 
#define HAL_DIAG_INIT() hal_diag_init()
 
#define HAL_DIAG_WRITE_CHAR(_c_) hal_diag_write_char(_c_)
 
#define HAL_DIAG_READ_CHAR(_c_) hal_diag_read_char(&_c_)
 
/*---------------------------------------------------------------------------*/
/* end of hal_diag.h */
#endif /* CYGONCE_HAL_HAL_DIAG_H */
/v2_0/src/plf_stub.c
0,0 → 1,185
//=============================================================================
//
// plf_stub.c
//
// Platform specific code for GDB stub support.
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg, jskov (based on the old mn10300 hal_stub.c)
// Contributors:nickg, jskov
// Date: 1999-02-12
// Purpose: Platform specific code for GDB stub support.
//
//####DESCRIPTIONEND####
//
//=============================================================================
 
#include <pkgconf/hal.h>
 
#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
 
#include <cyg/hal/hal_stub.h>
 
#include <cyg/hal/hal_io.h> // HAL IO macros
#include <cyg/hal/hal_intr.h> // HAL interrupt macros
 
//---------------------------------------------------------------------------
// MN10300 Serial line
// We use serial1 on MN103002
#define SERIAL1_CR ((volatile cyg_uint16 *)0x34000810)
#define SERIAL1_ICR ((volatile cyg_uint8 *) 0x34000814)
#define SERIAL1_TXR ((volatile cyg_uint8 *) 0x34000818)
#define SERIAL1_RXR ((volatile cyg_uint8 *) 0x34000819)
#define SERIAL1_SR ((volatile cyg_uint16 *)0x3400081c)
 
// Timer 1 provided baud rate divisor
#define TIMER1_MD ((volatile cyg_uint8 *)0x34001001)
#define TIMER1_BR ((volatile cyg_uint8 *)0x34001011)
#define TIMER1_CR ((volatile cyg_uint8 *)0x34001021)
 
#define PORT3_MD ((volatile cyg_uint8 *)0x36008025)
 
// Mystery register
#define TMPSCNT ((volatile cyg_uint8 *)0x34001071)
 
#define SIO1_LSTAT_TRDY 0x20
#define SIO1_LSTAT_RRDY 0x10
 
 
//---------------------------------------------------------------------------
 
#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
// This ISR is called from the interrupt handler. This should only
// happen when there is no serial driver, so the code shouldn't mess
// anything up.
int cyg_hal_gdb_isr(cyg_uint32 vector, target_register_t pc)
{
if ( CYGNUM_HAL_INTERRUPT_SERIAL_1_RX == vector ) {
cyg_uint8 c;
 
HAL_READ_UINT8 (SERIAL1_RXR, c);
HAL_INTERRUPT_ACKNOWLEDGE (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX);
if( 3 == c )
{
// Ctrl-C: set a breakpoint at PC so GDB will display the
// correct program context when stopping rather than the
// interrupt handler.
cyg_hal_gdb_interrupt (pc);
 
// Interrupt handled. Don't call ISR proper. At return
// from the VSR, execution will stop at the breakpoint
// just set.
return 0;
}
}
 
// Not caused by GDB. Call ISR proper.
return 1;
}
 
int hal_stdeval1_interruptible(int state)
{
if (state) {
HAL_WRITE_UINT8 (SERIAL1_ICR, 0);
HAL_INTERRUPT_ACKNOWLEDGE (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX)
HAL_INTERRUPT_UNMASK (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX)
} else {
HAL_INTERRUPT_MASK (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX)
}
return 0;
}
 
void hal_stdeval1_init_break_irq( void )
{
// Enable serial receive interrupts.
HAL_WRITE_UINT8 (SERIAL1_ICR, 0);
HAL_INTERRUPT_ACKNOWLEDGE (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX)
HAL_INTERRUPT_UNMASK (CYGNUM_HAL_INTERRUPT_SERIAL_1_RX)
HAL_ENABLE_INTERRUPTS();
}
#endif
 
// Initialize the current serial port.
void hal_stdeval1_init_serial( void )
{
// 48 translates to 38400 baud.
HAL_WRITE_UINT8 (TIMER1_BR, 48);
 
// Timer1 sourced from IOCLK
HAL_WRITE_UINT8 (TIMER1_MD, 0x80);
 
// Mode on PORT3, used for serial line controls.
HAL_WRITE_UINT8 (PORT3_MD, 0x01);
 
// No interrupts for now.
HAL_WRITE_UINT8 (SERIAL1_ICR, 0x00);
 
// Source from timer 1, 8bit chars, enable tx and rx
HAL_WRITE_UINT16 (SERIAL1_CR, 0xc084);
}
 
// Write C to the current serial port.
void hal_stdeval1_put_char( int c )
{
cyg_uint16 sr;
 
do {
HAL_READ_UINT16 (SERIAL1_SR, sr);
} while ((sr & SIO1_LSTAT_TRDY) != 0);
 
HAL_WRITE_UINT8 (SERIAL1_TXR, c);
}
 
// Read one character from the current serial port.
int hal_stdeval1_get_char( void )
{
char c;
cyg_uint16 sr;
 
do {
HAL_READ_UINT16 (SERIAL1_SR, sr);
} while ((sr & SIO1_LSTAT_RRDY) == 0);
 
HAL_READ_UINT8 (SERIAL1_RXR, c);
 
return c;
}
 
#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
//-----------------------------------------------------------------------------
// End of plf_stub.c
/v2_0/src/hal_diag.c
0,0 → 1,520
/*=============================================================================
//
// hal_diag.c
//
// HAL diagnostic output code
//
//=============================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//=============================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg
// Date: 1998-03-02
// Purpose: HAL diagnostic output
// Description: Implementations of HAL diagnostic output support.
//
//####DESCRIPTIONEND####
//
//===========================================================================*/
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h> // base types
#include <cyg/infra/cyg_trac.h> // tracing macros
#include <cyg/infra/cyg_ass.h> // assertion macros
 
#include <cyg/hal/hal_diag.h>
#include <cyg/hal/hal_intr.h>
 
/*---------------------------------------------------------------------------*/
/* Select default diag channel to use */
 
//#define CYG_KERNEL_DIAG_ROMART
//#define CYG_KERNEL_DIAG_SERIAL1
//#define CYG_KERNEL_DIAG_SERIAL2
//#define CYG_KERNEL_DIAG_GDB
 
#if !defined(CYG_KERNEL_DIAG_SERIAL1) && \
!defined(CYG_KERNEL_DIAG_SERIAL2) && \
!defined(CYG_KERNEL_DIAG_ROMART)
 
# if defined(CYG_HAL_MN10300_AM31_STDEVAL1)
 
# if defined(CYG_HAL_STARTUP_RAM)
 
# if defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
 
// If loaded into RAM via CYGMON we diag via
// serial 2 using GDB protocol
 
# define CYG_KERNEL_DIAG_SERIAL2
# define CYG_KERNEL_DIAG_GDB
 
# elif defined(CYGSEM_HAL_USE_ROM_MONITOR_Sload)
 
// If loaded into RAM via SLOAD we diag via
// serial 1
# define CYG_KERNEL_DIAG_SERIAL1
# elif defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
 
// If loaded into RAM via GDB STUB ROM we diag via
// serial 1 using GDB protocol
# define CYG_KERNEL_DIAG_SERIAL1
# define CYG_KERNEL_DIAG_GDB
# endif // defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
# elif defined(CYG_HAL_STARTUP_ROM)
 
// If we are ROM resident, we diag via serial 1
# define CYG_KERNEL_DIAG_SERIAL1
# endif // defined(CYG_HAL_STARTUP_RAM)
# endif // defined(CYG_HAL_MN10300_AM31_STDEVAL1)
 
#endif // if ...
/*---------------------------------------------------------------------------*/
// PromICE AI interface
 
#if defined(CYG_HAL_MN10300_STDEVAL1_ROMART) || defined(CYG_KERNEL_DIAG_ROMART)
 
#ifdef CYG_HAL_MN10300_AM31_STDEVAL1
#define PROMICE_AILOC 0x40008000
#endif
 
#define PROMICE_BUS_SIZE 16
#define PROMICE_BURST_SIZE 1
 
#if PROMICE_BUS_SIZE == 16
 
typedef volatile struct
{
volatile cyg_uint16 zero;
// cyg_uint16 pad1[PROMICE_BURST_SIZE];
volatile cyg_uint16 one;
// cyg_uint16 pad2[PROMICE_BURST_SIZE];
volatile cyg_uint16 data;
// cyg_uint16 pad3[PROMICE_BURST_SIZE];
volatile cyg_uint16 status;
 
} AISTRUCT;
 
#endif
 
AISTRUCT *AI = (AISTRUCT *)PROMICE_AILOC;
 
#define PROMICE_STATUS_TDA 0x01
#define PROMICE_STATUS_HDA 0x02
#define PROMICE_STATUS_OVR 0x04
 
 
void ai_diag_init()
{
volatile cyg_uint8 junk;
while( AI->status == 0xCC )
continue;
 
junk = AI->data;
}
 
static void ai_write_char(cyg_uint8 data)
{
volatile cyg_uint8 junk;
int i;
// Wait for tda == 0
while( (AI->status & PROMICE_STATUS_TDA) == PROMICE_STATUS_TDA )
continue;
 
// Send start bit
junk = AI->one;
 
for( i = 0; i < 8; i++ )
{
// send ls bit of data
if( (data & 1) == 1 )
junk = AI->one;
else
junk = AI->zero;
 
// shift down for next bit
data >>= 1;
}
 
// Send stop bit
junk = AI->one;
 
// all done
}
 
void ai_diag_write_char(char c)
{
ai_write_char((cyg_uint8)c);
}
 
void ai_diag_drain() {}
 
void ai_diag_read_char(char *c) { *c = '\n'; }
 
void ai_writes(char *s)
{
while( *s ) ai_write_char( *s++ );
}
 
void ai_write_hex( cyg_uint32 x)
{
int i;
ai_writes("0x");
for( i = 28; i >=0 ; i-=4 )
{
char *d = "0123456789ABCDEF";
ai_write_char( d[(x>>i)&0xf] );
}
ai_write_char(' ');
}
 
#if defined(CYG_KERNEL_DIAG_ROMART)
 
#define hal_diag_init_serial ai_diag_init
#define hal_diag_write_char_serial ai_diag_write_char
#define hal_diag_drain_serial ai_diag_drain
#define hal_diag_read_char_serial ai_diag_read_char
 
#endif
 
#endif
 
/*---------------------------------------------------------------------------*/
// MN10300 Serial line
 
#if defined(CYG_HAL_MN10300_STDEVAL1_SERIAL1) || defined(CYG_KERNEL_DIAG_SERIAL1)
 
// We use serial1 on MN103002
#define SERIAL1_CR ((volatile cyg_uint16 *)0x34000810)
#define SERIAL1_ICR ((volatile cyg_uint8 *) 0x34000814)
#define SERIAL1_TXR ((volatile cyg_uint8 *) 0x34000818)
#define SERIAL1_RXR ((volatile cyg_uint8 *) 0x34000819)
#define SERIAL1_SR ((volatile cyg_uint16 *)0x3400081c)
 
// Timer 1 provided baud rate divisor
#define TIMER1_MD ((volatile cyg_uint8 *)0x34001001)
#define TIMER1_BR ((volatile cyg_uint8 *)0x34001011)
#define TIMER1_CR ((volatile cyg_uint8 *)0x34001021)
 
#define PORT3_MD ((volatile cyg_uint8 *)0x36008025)
 
// Mystery register
#define TMPSCNT ((volatile cyg_uint8 *)0x34001071)
 
#define SIO1_LSTAT_TRDY 0x20
#define SIO1_LSTAT_RRDY 0x10
 
void hal_diag_init_serial1(void)
{
// 48 translates to 38400 baud.
*TIMER1_BR = 48;
 
// Timer1 sourced from IOCLK
*TIMER1_MD = 0x80;
 
// Mode on PORT3, used for serial line controls.
*PORT3_MD = 0x01;
 
// No interrupts for now.
*SERIAL1_ICR = 0x00;
 
// Source from timer 1, 8bit chars, enable tx and rx
*SERIAL1_CR = 0xc084;
}
 
void hal_diag_write_char_serial1(char c)
{
register volatile cyg_uint16 *volatile tty_status = SERIAL1_SR;
register volatile cyg_uint8 *volatile tty_tx = SERIAL1_TXR;
 
while( (*tty_status & SIO1_LSTAT_TRDY) != 0 ) continue;
 
*tty_tx = c;
}
 
void hal_diag_drain_serial1(void)
{
register volatile cyg_uint16 *volatile tty_status = SERIAL1_SR;
 
while( (*tty_status & SIO1_LSTAT_TRDY) != 0 ) continue;
}
 
void hal_diag_read_char_serial1(char *c)
{
register volatile cyg_uint16 *volatile tty_status = SERIAL1_SR;
register volatile cyg_uint8 *volatile tty_rx = SERIAL1_RXR;
 
while( (*tty_status & SIO1_LSTAT_RRDY) == 0 ) continue;
 
*c = *tty_rx;
 
// We must ack the interrupt caused by that read to avoid
// confusing cygmon.
HAL_INTERRUPT_ACKNOWLEDGE( CYGNUM_HAL_INTERRUPT_SERIAL_1_RX );
}
 
#if defined(CYG_KERNEL_DIAG_SERIAL1)
 
#define hal_diag_init_serial hal_diag_init_serial1
#define hal_diag_write_char_serial hal_diag_write_char_serial1
#define hal_diag_drain_serial hal_diag_drain_serial1
#define hal_diag_read_char_serial hal_diag_read_char_serial1
 
#endif
 
#endif
 
#if defined(CYG_HAL_MN10300_AM31_STDEVAL1)
 
void led(int x)
{
*((cyg_uint8 *)0x36008004) = x<<4;
}
 
#endif
 
 
/*---------------------------------------------------------------------------*/
 
#if defined(CYG_HAL_MN10300_STDEVAL1_SERIAL2) || defined(CYG_KERNEL_DIAG_SERIAL2)
 
// We use serial2 on MN103002
#define SERIAL2_CR ((volatile cyg_uint16 *)0x34000820)
#define SERIAL2_ICR ((volatile cyg_uint8 *) 0x34000824)
#define SERIAL2_TXR ((volatile cyg_uint8 *) 0x34000828)
#define SERIAL2_RXR ((volatile cyg_uint8 *) 0x34000829)
#define SERIAL2_SR ((volatile cyg_uint8 *)0x3400082c)
#define SERIAL2_TR ((volatile cyg_uint8 *)0x3400082d)
 
// Timer 2 provided baud rate divisor
#define TIMER2_MD ((volatile cyg_uint8 *)0x34001002)
#define TIMER2_BR ((volatile cyg_uint8 *)0x34001012)
#define TIMER2_CR ((volatile cyg_uint8 *)0x34001022)
 
#define PORT3_MD ((volatile cyg_uint8 *)0x36008025)
 
// Mystery register
#define TMPSCNT ((volatile cyg_uint8 *)0x34001071)
 
#define SIO2_LSTAT_TRDY 0x20
#define SIO2_LSTAT_RRDY 0x10
 
void hal_diag_init_serial2(void)
{
#if !defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
 
// 16 and 22 translate to 38400 baud.
*TIMER2_BR = 16;
*SERIAL2_TR = 22;
// Timer2 sourced from IOCLK
*TIMER2_MD = 0x80;
 
// Mode on PORT3, used for serial line controls.
*PORT3_MD = 0x01;
 
// No interrupts for now.
*SERIAL2_ICR = 0x00;
 
// Source from timer 2, 8bit chars, enable tx and rx
*SERIAL2_CR = 0xc081;
 
#endif
}
 
void hal_diag_write_char_serial2(char c)
{
register volatile cyg_uint8 *volatile tty_status = SERIAL2_SR;
register volatile cyg_uint8 *volatile tty_tx = SERIAL2_TXR;
 
while( (*tty_status & SIO2_LSTAT_TRDY) != 0 ) continue;
 
*tty_tx = c;
}
 
void hal_diag_drain_serial2(void)
{
register volatile cyg_uint8 *volatile tty_status = SERIAL2_SR;
 
while( (*tty_status & SIO2_LSTAT_TRDY) != 0 ) continue;
}
 
void hal_diag_read_char_serial2(char *c)
{
register volatile cyg_uint8 *volatile tty_status = SERIAL2_SR;
register volatile cyg_uint8 *volatile tty_rx = SERIAL2_RXR;
 
while( (*tty_status & SIO2_LSTAT_RRDY) == 0 ) continue;
 
*c = *tty_rx;
 
#if !defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
// We must ack the interrupt caused by that read to avoid
// confusing the stubs.
HAL_INTERRUPT_ACKNOWLEDGE( CYGNUM_HAL_INTERRUPT_SERIAL_2_RX );
#endif
}
 
#if defined(CYG_KERNEL_DIAG_SERIAL2)
 
#define hal_diag_init_serial hal_diag_init_serial2
#define hal_diag_write_char_serial hal_diag_write_char_serial2
#define hal_diag_drain_serial hal_diag_drain_serial2
#define hal_diag_read_char_serial hal_diag_read_char_serial2
 
#endif
 
#endif
 
/*---------------------------------------------------------------------------*/
 
void hal_diag_init(void)
{
hal_diag_init_serial();
}
 
void hal_diag_write_char(char c)
{
#ifdef CYG_KERNEL_DIAG_GDB
 
static char line[100];
static int pos = 0;
 
// No need to send CRs
if( c == '\r' ) return;
 
line[pos++] = c;
 
if( c == '\n' || pos == sizeof(line) )
{
// Disable interrupts. This prevents GDB trying to interrupt us
// while we are in the middle of sending a packet. The serial
// receive interrupt will be seen when we re-enable interrupts
// later.
 
CYG_INTERRUPT_STATE oldstate;
CYG_BYTE wdcr;
HAL_DISABLE_INTERRUPTS(oldstate);
 
// Beacuse of problems with NT on the testfarm, we also have
// to disable the watchdog here. This only matters in the
// watchdog tests. And yes, this sends my irony meter off the
// scale too.
HAL_READ_UINT8( 0x34004002, wdcr );
HAL_WRITE_UINT8( 0x34004002, wdcr&0x3F );
while(1)
{
static char hex[] = "0123456789ABCDEF";
cyg_uint8 csum = 0;
int i;
hal_diag_write_char_serial('$');
hal_diag_write_char_serial('O');
csum += 'O';
for( i = 0; i < pos; i++ )
{
char ch = line[i];
char h = hex[(ch>>4)&0xF];
char l = hex[ch&0xF];
hal_diag_write_char_serial(h);
hal_diag_write_char_serial(l);
csum += h;
csum += l;
}
hal_diag_write_char_serial('#');
hal_diag_write_char_serial(hex[(csum>>4)&0xF]);
hal_diag_write_char_serial(hex[csum&0xF]);
 
#if !defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
{
char c1;
 
hal_diag_read_char_serial( &c1 );
 
if( c1 == '+' ) break;
 
if( cyg_hal_is_break( &c1, 1 ) )
cyg_hal_user_break( NULL );
 
}
#else
// When using Cygmon, the ack character is absorbed by cygmon's
// serial interrupt handler that is looking for Ctrl-Cs.
break;
#endif
}
pos = 0;
 
// Wait for tx buffer to drain
hal_diag_drain_serial();
// And re-enable interrupts
HAL_RESTORE_INTERRUPTS(oldstate);
HAL_WRITE_UINT8( 0x34004002, wdcr );
}
#else
hal_diag_write_char_serial(c);
#endif
}
 
 
 
 
void hal_diag_read_char(char *c)
{
hal_diag_read_char_serial(c);
}
 
 
/*---------------------------------------------------------------------------*/
/* End of hal_diag.c */
/v2_0/src/plf_misc.c
0,0 → 1,159
//==========================================================================
//
// plf_misc.c
//
// HAL platform miscellaneous functions
//
//==========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//==========================================================================
//#####DESCRIPTIONBEGIN####
//
// Author(s): nickg
// Contributors: nickg, jlarmour
// Date: 1999-01-21
// Purpose: HAL miscellaneous functions
// Description: This file contains miscellaneous functions provided by the
// HAL.
//
//####DESCRIPTIONEND####
//
//========================================================================*/
 
#include <pkgconf/hal.h>
 
#include <cyg/infra/cyg_type.h> // Base types
#include <cyg/infra/cyg_trac.h> // tracing macros
#include <cyg/infra/cyg_ass.h> // assertion macros
 
#include <cyg/hal/hal_arch.h> // architectural definitions
 
#include <cyg/hal/hal_intr.h> // Interrupt handling
 
#include <cyg/hal/hal_cache.h> // Cache handling
 
/*------------------------------------------------------------------------*/
 
void hal_platform_init(void)
{
// Note that the hardware seems to come up with the
// caches containing random data. Hence they must be
// invalidated before being enabled.
HAL_ICACHE_INVALIDATE_ALL();
HAL_ICACHE_ENABLE();
HAL_DCACHE_INVALIDATE_ALL();
HAL_DCACHE_ENABLE();
 
#if defined(CYGPKG_KERNEL) && \
defined(CYGFUN_HAL_COMMON_KERNEL_SUPPORT) && \
defined(CYGSEM_HAL_USE_ROM_MONITOR_CygMon)
{
extern CYG_ADDRESS hal_virtual_vector_table[32];
extern void patch_dbg_syscalls(void * vector);
patch_dbg_syscalls( (void *)(&hal_virtual_vector_table[0]) );
}
#endif
}
 
/*------------------------------------------------------------------------*/
/* Functions to support the detection and execution of a user provoked */
/* program break. These are usually called from interrupt routines. */
 
cyg_bool cyg_hal_is_break(char *buf, int size)
{
while( size )
if( buf[--size] == 0x03 ) return true;
 
return false;
}
 
void cyg_hal_user_break( CYG_ADDRWORD *regs )
{
 
#if defined(CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs)
 
{
extern CYG_ADDRESS hal_virtual_vector_table[64];
typedef void install_bpt_fn(void *pc);
CYG_WORD32 retpc = ((CYG_WORD32 *)(&regs))[-1];
CYG_WORD32 pc;
HAL_SavedRegisters *sreg = (HAL_SavedRegisters *)regs;
install_bpt_fn *ibp = (install_bpt_fn *)hal_virtual_vector_table[35];
 
if( regs == NULL ) pc = retpc;
else pc = sreg->pc;
 
if( ibp != NULL ) ibp((void *)pc);
}
#elif defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
 
{
extern void breakpoint(void);
breakpoint();
}
#else
 
HAL_BREAKPOINT(breakinst);
 
#endif
}
 
/*------------------------------------------------------------------------*/
/* Control C ISR support */
 
#if defined(CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT)
 
struct Hal_SavedRegisters *hal_saved_interrupt_state;
 
static void hal_ctrlc_isr_init(void)
{
}
 
cyg_uint32 hal_ctrlc_isr(CYG_ADDRWORD vector, CYG_ADDRWORD data)
{
 
// char c;
 
HAL_INTERRUPT_ACKNOWLEDGE( CYGHWR_HAL_GDB_PORT_VECTOR );
 
return 2;
}
 
#endif
 
/*------------------------------------------------------------------------*/
/* End of plf_misc.c */
/v2_0/ChangeLog
0,0 → 1,396
2001-08-02 Nick Garnett <nickg@redhat.com>
 
* include/plf_io.h:
Added this file to match assumption now made in arch files that it
exists.
 
2001-01-26 Jesper Skov <jskov@redhat.com>
 
* include/plf_stub.h: Reset macros moved
* include/plf_intr.h: to this file.
 
2000-10-20 Jonathan Larmour <jlarmour@redhat.com>
 
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.h:
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.h:
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.ldi:
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi:
Regenerated
 
2000-07-25 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.mlt: Add user-defined
heap1 section
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.h: regenerate
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.ldi: regenerate
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.mlt: Regenerate
due to updated MLT
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.h: Regenerate
due to updated MLT
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi: Regenerate
due to updated MLT
 
2000-07-04 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.mlt: Add user-defined
heap1 section
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.h: regenerate
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi: regenerate
 
2000-03-03 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c: Removed code to absorb ack character when
running under cygmon. Cygmon need to receive this in order to do
Ctrl-C break processing.
 
2000-02-18 Jonathan Larmour <jlarmour@redhat.co.uk>
 
* cdl/hal_mn10300_am31_stdeval1.cdl (CYGBLD_BUILD_GDB_STUBS): When
building stubs, define every dependency required here rather than in
the template
 
2000-02-10 Jesper Skov <jskov@redhat.com>
 
* include/plf_stub.h:
HAL_STUB_PLATFORM_STUBS_INIT->HAL_STUB_PLATFORM_INIT
 
2000-02-03 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Implements stubs.
 
2000-01-27 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Moved part of stubs build rule to
common HAL. Changed description.
 
2000-01-26 Jesper Skov <jskov@redhat.com>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Fix display string.
 
2000-01-24 Jesper Skov <jskov@cygnus.co.uk>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Add stubs build rule.
 
2000-01-24 John Dallaway <jld@cygnus.co.uk>
 
* cdl/*.cdl:
 
Remove obsolete option CYGTST_TESTING_IDENTIFIER.
 
2000-01-19 Hugo Tyson <hmt@cygnus.co.uk>
 
* cdl/*.cdl: Add descriptions to a number of options &c which were
lacking same, also tidied up other typos as noticed en passant.
 
1999-12-21 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/plf_misc.c (hal_platform_init): Rename
CYG_HAL_USE_ROM_MONITOR_CYGMON -> CYGSEM_HAL_USE_ROM_MONITOR_CygMon
(cyg_hal_user_break): Rename CYG_HAL_USE_ROM_MONITOR_GDB_STUBS ->
CYGSEM_HAL_USE_ROM_MONITOR_GDB_stubs
 
* src/hal_diag.c: Likewise. Rename CYG_HAL_USE_ROM_MONITOR_SLOAD
-> CYGSEM_HAL_USE_ROM_MONITOR_Sload throughout
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Add new platform-specific
CYGSEM_HAL_USE_ROM_MONITOR option to control ROM monitor support
 
1999-12-20 Gary Thomas <gthomas@cygnus.co.uk>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Add -Wl for linker options.
 
1999-11-25 Gary Thomas <gthomas@cygnus.co.uk>
 
* include/pkgconf/mlt_mn10300_am31_stdeval1_rom.h:
* include/pkgconf/mlt_mn10300_am31_stdeval1_ram.h: New file(s).
 
1999-11-03 Jesper Skov <jskov@cygnus.co.uk>
 
* cdl/hal_mn10300_am31_stdeval1.cdl: Added.
 
1999-09-07 Jesper Skov <jskov@cygnus.co.uk>
 
* include/plf_stub.h: Include proper config header file.
 
1999-08-27 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char): Added code to disable
watchdog while emitting a debug message. This is solely to cope
with shortcomings in the test farm.
 
1999-08-16 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_am32_stdeval1.h:
Rename to include/pkgconf/hal_mn10300_am31_stdeval1.h, changing
all mentions of am32 to am31
 
* include/pkgconf/mlt_mn10300_am32_stdeval1_ram.ldi:
* include/pkgconf/mlt_mn10300_am32_stdeval1_rom.ldi:
* include/pkgconf/mlt_mn10300_am32_stdeval1_ram.mlt:
* include/pkgconf/mlt_mn10300_am32_stdeval1_rom.mlt:
Rename to:
include/pkgconf/mlt_mn10300_am31_stdeval1_ram.ldi:
include/pkgconf/mlt_mn10300_am31_stdeval1_rom.ldi:
include/pkgconf/mlt_mn10300_am31_stdeval1_ram.mlt:
include/pkgconf/mlt_mn10300_am31_stdeval1_rom.mlt:
 
* src/PKGconf.mak:
Rename package name from hal_mn10300_am32_stdeval1 to
hal_mn10300_am31_stdeval1
 
* src/hal_diag.c:
Rename all mentions of am32 to am31
 
1999-08-12 Nick Garnett <nickg@cygnus.co.uk>
 
Imported following changes from development branch:
1999-08-11 Nick Garnett <nickg@cygnus.co.uk>
 
* src/plf_misc.c: Tidied up cyg_hal_user_break().
 
* src/hal_diag.c: Added interrupt acknowledgements to serial line
read routines. Tidied up Ctrl-C detection when reading O packet
ack.
 
1999-08-10 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_am32_stdeval1.h:
Rename all mn10300_stdeval1 -> mn10300_am32_stdeval1
Ensure CYGPKG_HAL_MN10300_AM32_STDEVAL1 requires CYGPKG_HAL_MN10300_AM32
 
1999-06-29 Nick Garnett <nickg@cygnus.co.uk>
 
* include/platform.inc:
* include/plf_intr.h:
* src/plf_misc.c:
Added these files to contain platform specific code for the HAL.
 
* src/hal_diag.c
Modified to work with new naming conventions.
* include/pkgconf/hal_mn10300_stdeval1.h:
* include/pkgconf/mlt_mn10300_stdeval1_ram.ldi:
* include/pkgconf/mlt_mn10300_stdeval1_ram.mlt:
* include/pkgconf/mlt_mn10300_stdeval1_rom.ldi:
* include/pkgconf/mlt_mn10300_stdeval1_rom.mlt:
* include/pkgconf/hal_mn10300_am32_stdeval1.h:
* include/pkgconf/mlt_mn10300_am32_stdeval1_ram.ldi:
* include/pkgconf/mlt_mn10300_am32_stdeval1_ram.mlt:
* include/pkgconf/mlt_mn10300_am32_stdeval1_rom.ldi:
* include/pkgconf/mlt_mn10300_am32_stdeval1_rom.mlt:
Renamed these files to match new target naming conventions.
 
* src/stdeval1.S:
Removed, since it is no longer needed.
1999-05-20 Gary Thomas <gthomas@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h: Move RTC setup here.
 
1999-04-08 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: Revised SECTION_* macro arguments to
avoid padded output sections (PR 19787)
 
1999-03-23 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char): Backed off Gary's change.
 
1999-03-18 Gary Thomas <gthomas@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char): Don't disable all interrupts
in this routine, just the appropriate one from the UART.
 
1999-03-04 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: give all LDI files unique names so
that they can co-exist in an eCos build tree (PR 19184)
* include/pkgconf/*.mlt: give all MLT files unique names so
that they can co-exist in an eCos build tree (PR 19184)
 
1999-02-20 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/hal_diag.c (hal_diag_write_char):
Rename CYG_VECTOR_EXTERNAL_2 -> CYGNUM_HAL_INTERRUPT_EXTERNAL_2
 
* src/plf_stub.c:
Rename CYG_VECTOR_* -> CYGNUM_HAL_INTERRUPT_* in line with
arch/hal_intr.h changes
 
1999-02-16 Jesper Skov <jskov@cygnus.co.uk>
 
* include/hal_stub.h: [removed]
* include/plf_stub.h: [added]
* src/hal_stub.c: [removed]
* src/plf_stub.c: [added]
* src/PKGconf.mak:
Changed hal_stub to plf_stub. Moved generic HAL stub code to
common/.../hal_stub.c.
 
1999-02-05 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.mlt: New memory layout save files
 
1999-02-05 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/*.ldi: Remove LMA_EQ_VMA macro definition.
 
1999-01-26 Hugo Tyson <hmt@masala.cygnus.co.uk>
 
* include/pkgconf/ram.ldi:
* include/pkgconf/rom.ldi:
Add copyright notice. (Though these files will later be generated
by a tool and so not copyright, these default setups are.)
 
1999-01-13 John Dallaway <jld@cygnus.co.uk>
 
* include/pkgconf/rom.ldi: use FOLLOWING () macro
 
1999-01-12 John Dallaway <jld@cygnus.co.uk>
 
* src/stdeval1.ld: remove for MLT
* src/PKGconf.mak: remove stdeval1.ld rules for MLT
* include/pkgconf/ram.ldi: new linker script fragment for MLT
* include/pkgconf/rom.ldi: new linker script fragment for MLT
 
1998-11-09 Jesper Skov <jskov@cygnus.co.uk>
 
* src/hal_stub.c (cyg_hal_gdb_isr, interruptible, serial_init):
Added GDB break support.
 
1998-11-06 Jesper Skov <jskov@lassi.cygnus.co.uk>
 
* include/hal_stub.h:
* src/hal_stub.c:
Added GDB stub.
 
* src/PKGconf.mak: Added stub to the object list.
 
1998-10-19 Jesper Skov <jskov@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h: Undid 1998-10-16 change.
 
1998-10-16 Jesper Skov <jskov@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h: Changed
CYGPKG_HAL_MN10300_STDEVAL1 to CYG_HAL_MN10300_STDEVAL1.
 
1998-10-14 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c:
Removed some compiler warnings.
 
1998-10-13 Nick Garnett <nickg@cygnus.co.uk>
 
* src/stdeval1.ld:
Moved RAM load address to 0x80008000.
 
Mon Oct 12 18:03:12 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/hal_diag.h:
Add void arg to prototype for hal_diag_init()
Fix for PR 17309
 
Wed Sep 23 08:11:32 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* include/hal_diag.h:
Add HAL_DIAG_READ_CHAR() macro for consistency with other targets
since we do have the hal_diag_read_char() function.
Fix for PR 17300
 
1998-09-11 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h:
Updated configuration data with some descriptions.
 
1998-09-09 Nick Garnett <nickg@cygnus.co.uk>
 
* src/stdeval1.ld:
Added definition of hal_virtual_vector_table.
 
* src/hal_diag.c:
Added configury to allow PROMIce AI ROMART to be used
independently of diag destination. Added ai_write_hex() to provide
rudimentary support for numerical output when doing this.
 
1998-09-04 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h:
Temporary change to the type of the startup option, needed by the
configuration tool.
 
Thu Sep 3 15:15:57 1998 Tim Goodwin <tgoodwin@cygnus.co.uk>
 
* hal/mn10300/stdeval1/current/src/PKGconf.mak
* hal/mn10300/stdeval1/current/src/makefile
* hal/mn10300/stdeval1/current/tests/PKGconf.mak
 
s/panx/mn10300/g
 
1998-09-02 Bart Veer <bartv@cygnus.co.uk>
 
* include/pkgconf/hal_mn10300_stdeval1.h:
New header file for platform-specific configuration options
 
* tests/PKGconf.mak:
* src/PKGconf.mak:
Sort out package naming conventions.
 
1998-09-02 Nick Garnett <nickg@cygnus.co.uk>
 
* src/hal_diag.c:
Fixed some compiler warnings.
Ifdeffed out intialisation of serial2 when using cygmon, thus
retaining Cygmon's line setup.
 
1998-08-18 Nick Garnett <nickg@cygnus.co.uk>
 
* include/hal_diag.h:
* src/hal_diag.c:
* src/stdeval1.ld:
Now uses hal.h rather than kernel.h.
 
Tue Aug 18 11:46:14 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/stdeval1.ld: Reorder GROUP line
 
Mon Aug 17 22:20:05 1998 Jonathan Larmour <jlarmour@cygnus.co.uk>
 
* src/stdeval1.ld:
Add GROUP(libgcc.a libtarget.a) to prevent need for explicit linking
 
//===========================================================================
//####ECOSGPLCOPYRIGHTBEGIN####
// -------------------------------------------
// This file is part of eCos, the Embedded Configurable Operating System.
// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
//
// eCos is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 2 or (at your option) any later version.
//
// eCos 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. See the GNU General Public License
// for more details.
//
// You should have received a copy of the GNU General Public License along
// with eCos; if not, write to the Free Software Foundation, Inc.,
// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
//
// As a special exception, if other files instantiate templates or use macros
// or inline functions from this file, or you compile this file and link it
// with other works to produce a work based on this file, this file does not
// by itself cause the resulting work to be covered by the GNU General Public
// License. However the source code for this file must still be made available
// in accordance with section (3) of the GNU General Public License.
//
// This exception does not invalidate any other reasons why a work based on
// this file might be covered by the GNU General Public License.
//
// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
// at http://sources.redhat.com/ecos/ecos-license/
// -------------------------------------------
//####ECOSGPLCOPYRIGHTEND####
//===========================================================================

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.