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 *)(®s))[-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#### |
//=========================================================================== |