URL
https://opencores.org/ocsvn/de1_olpcl2294_system/de1_olpcl2294_system/trunk
Subversion Repositories de1_olpcl2294_system
[/] [de1_olpcl2294_system/] [trunk/] [sw/] [ecos/] [ecos-3.0_diff.txt] - Rev 8
Go to most recent revision | Compare with Previous | Blame | View Log
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl ./ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl
--- /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/cdl/flash_de1_olpcx2294.cdl 2009-12-04 17:20:22.000000000 -0800
@@ -0,0 +1,74 @@
+# ====================================================================
+#
+# flash_olpcx2294.cdl
+#
+# FLASH memory - Hardware support on Olimex LPC-X2294 boards
+#
+# ====================================================================
+## ####ECOSGPLCOPYRIGHTBEGIN####
+## -------------------------------------------
+## This file is part of eCos, the Embedded Configurable Operating System.
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+##
+## This exception does not invalidate any other reasons why a work based
+## on this file might be covered by the GNU General Public License.
+## -------------------------------------------
+## ####ECOSGPLCOPYRIGHTEND####
+# ====================================================================
+######DESCRIPTIONBEGIN####
+#
+# Author(s): Sergei Gavrikov
+# Contributors: Sergei Gavrikov
+# Date: 2008-11-28
+#
+#####DESCRIPTIONEND####
+#
+# ====================================================================
+
+cdl_package CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 {
+ display "Support for FLASH memory parts on OLPC-X2294 boards."
+
+ compile -library=libextras.a arm_olpcx2294_flash.c
+
+ parent CYGPKG_IO_FLASH
+ active_if CYGPKG_IO_FLASH
+
+ requires (CYGPKG_HAL_ARM_LPC2XXX_OLPCE2294 || \
+ CYGPKG_HAL_ARM_LPC2XXX_OLPCH2294 || \
+ CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294 || \
+ CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294)
+
+ requires CYGPKG_DEVS_FLASH_STRATA_V2
+
+ implements CYGHWR_IO_FLASH_BLOCK_LOCKING
+
+ description "
+ Olimex LPC-X2294 boards all have strata family 28FxxxC3 flash
+ memory parts. These parts have boot blocks. There is no buffered
+ write capability. Individual blocks can be locked and unlocked
+ in software"
+
+}
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c ./ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c
--- /opt/ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/devs/flash/arm/de1_olpcx2294/v3_0/src/arm_olpcx2294_flash.c 2009-12-04 17:20:22.000000000 -0800
@@ -0,0 +1,114 @@
+//==========================================================================
+//
+// arm_olpcx2294_flash.c
+//
+// Flash programming for Intel FlashFile devices on Olimex LPC-X2294
+//
+//==========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Sergei Gavrikov
+// Contributors: Sergei Gavrikov
+// Date: 2008-11-28
+// Purpose:
+// Description:
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <pkgconf/system.h>
+
+#if !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCE2294) && \
+ !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCH2294) && \
+ !defined(CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294) && \
+ !defined(CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294)
+# error Unsupported target
+#endif
+
+#ifdef CYGPKG_DEVS_FLASH_STRATA_V2
+
+#include <cyg/io/flash.h>
+#include <cyg/io/strata_dev.h>
+
+// Olimex LPC-E2294 development board and Olimex LPC-H2294 header board both
+// have 28F320C3-B flash memory part, Olimex LPC-L2294-1M development board has
+// 28F160C3-B flash memory part. All boards have 16-bit access to it's flash
+// devices.
+static const CYG_FLASH_FUNS(hal_olpcx2294_flash_strata_funs,
+ &cyg_strata_init_check_devid_16,
+ &cyg_flash_devfn_query_nop,
+ &cyg_strata_erase_16,
+ &cyg_strata_program_16,
+ (int (*)(struct cyg_flash_dev*, const cyg_flashaddr_t, void*, size_t))0,
+ &cyg_strata_lock_k3_16,
+ &cyg_strata_unlock_k3_16);
+
+static const cyg_strata_dev hal_olpcx2294_flash_priv = {
+ .manufacturer_code = CYG_FLASH_STRATA_MANUFACTURER_INTEL,
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
+ .device_code = 0x88c3, /* 16-Mbit x 16-B, 28F160C3-B */
+#else
+ .device_code = 0x88c5, /* 32-Mbit x 16-B, 28F320C3-B */
+#endif
+ .bufsize = 1,
+ .block_info = {
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
+ { 0x00002000, 8 },/* boot bottom 8 x 8K blocks */
+ { 0x00010000, 31 } /* 31 x 64K blocks */
+#else
+ { 0x00002000, 8 },/* boot bottom 8 x 8K blocks */
+ { 0x00010000, 63 } /* 63 x 64K blocks */
+#endif
+ }
+};
+
+CYG_FLASH_DRIVER(hal_olpcx2294_flash,
+ &hal_olpcx2294_flash_strata_funs,
+ 0,
+ 0x80000000,
+#ifdef CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294
+ 0x801fffff,
+#else
+ 0x803fffff,
+#endif
+ 2,
+ hal_olpcx2294_flash_priv.block_info,
+ &hal_olpcx2294_flash_priv
+);
+
+#endif//CYGPKG_DEVS_FLASH_STRATA_V2
+// ------------------------------------------------------------------------
+// EOF arm_olpcx2294_flash.c
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/ecos.db ./ecos-3.0/packages/ecos.db
--- /opt/ecos-3.0/packages/ecos.db 2009-03-27 01:58:47.000000000 -0700
+++ ./ecos-3.0/packages/ecos.db 2010-02-22 16:59:23.924394200 -0800
@@ -6690,3 +6690,60 @@
to run eCos on the STM3210E EVAL board."
}
+
+# --------------------
+#
+# --------------------
+
+
+package CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 {
+ alias { "External Flash memory support for OLPCE2294, OLPCH2294, OLPCL2294" flash_olpcx2294_v2 }
+ directory devs/flash/arm/de1_olpcx2294
+ script flash_de1_olpcx2294.cdl
+ hardware
+ description "
+ The flash_olpcx2294_v2 provides hardware support for external
+ flash memory parts on the Olimex LPC-E2294, LPC-H2294,
+ and LPC-L2294-1M boards. It uses eCos Flash v2 API."
+}
+
+
+# package CYGPKG_IO_SERIAL_ARM_LPC2XXX {
+# alias { "ARM LPC2XXX serial device drivers"
+# devs_serial_arm_lpc2xxx lpc2xxx_serial_driver }
+# hardware
+# directory devs/serial/arm/lpc2xxx
+# script ser_arm_lpc2xxx.cdl
+# description "ARM LPC2XXX serial device drivers"
+# }
+
+
+package CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 {
+ alias { "Olimex LPC-L2294-1MB development and Terasic DE1 boards" hal_de1_olpcl2294_arm }
+ directory hal/arm/lpc2xxx/de1_olpcl2294
+ script hal_arm_lpc2xxx_de1_olpcl2294.cdl
+ hardware
+ description "
+ The olpcl2294 HAL package provides the support needed to run
+ eCos on Olimex LPC-L2294-1MB development and Terasic DE1 boards."
+}
+
+
+target de1_olpcl2294 {
+ alias { "Olimex LPC-L2294-1MB development and Terasic DE1 boards" }
+ packages { CYGPKG_HAL_ARM
+ CYGPKG_HAL_ARM_LPC2XXX
+ CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294
+ CYGPKG_DEVS_FLASH_STRATA_V2
+ CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2
+ CYGPKG_DEVS_ETH_CL_CS8900A
+ CYGPKG_DEVS_ETH_ARM_OLPCL2294
+ CYGPKG_IO_SERIAL_GENERIC_16X5X
+ CYGPKG_IO_SERIAL_ARM_LPC2XXX
+ CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX
+ }
+ description "
+ The olpcl2294 target provides the packages needed to run
+ eCos on Olimex LPC-L2294-1MB development and Terasic DE1 boards."
+}
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/cdl/hal_arm_lpc2xxx_de1_olpcl2294.cdl 2009-12-04 17:20:22.000000000 -0800
@@ -0,0 +1,297 @@
+# ====================================================================
+#
+# hal_arm_lpc2xxx_de1_olpcl2294.cdl
+#
+# ARM LPC2XXX OLPCL2294 development board package configuration
+# data
+#
+# ====================================================================
+## ####ECOSGPLCOPYRIGHTBEGIN####
+## -------------------------------------------
+## This file is part of eCos, the Embedded Configurable Operating System.
+## Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+## 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+##
+## This exception does not invalidate any other reasons why a work based
+## on this file might be covered by the GNU General Public License.
+## -------------------------------------------
+## ####ECOSGPLCOPYRIGHTEND####
+# ====================================================================
+######DESCRIPTIONBEGIN####
+#
+# Author(s): Sergei Gavrikov
+# Contributors: Sergei Gavrikov
+# Date: 2008-08-31
+#
+#####DESCRIPTIONEND####
+#
+# ====================================================================
+
+cdl_package CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 {
+ display "Olimex LPC-L2294-1MB development and Terasic DE1 boards"
+ parent CYGPKG_HAL_ARM_LPC2XXX
+ define_header hal_arm_lpc2xxx_de1_olpcl2294.h
+ include_dir cyg/hal
+ hardware
+ description "
+ The OLPCL2294 HAL package provides the support needed to run
+ eCos on Olimex LPC-L2294-1MB development board."
+
+ compile de1_olpcl2294_misc.c
+
+ requires { CYGHWR_HAL_ARM_LPC2XXX == "LPC2294" }
+
+ define_proc {
+ puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H <pkgconf/hal_arm.h>"
+ puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H <pkgconf/hal_arm_lpc2xxx.h>"
+ puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_lpc2xxx_de1_olpcl2294.h>"
+ puts $::cdl_header "#define HAL_PLATFORM_CPU \"ARM7TDMI-S\""
+ puts $::cdl_header "#define HAL_PLATFORM_BOARD \"Olimex LPC-L2294-1MB development and Terasic DE1 boards\""
+ puts $::cdl_header "#define HAL_PLATFORM_EXTRA \"\""
+ }
+
+ cdl_component CYG_HAL_STARTUP {
+ display "Startup type"
+ flavor data
+ default_value {"RAM"}
+ legal_values {"RAM" "ROM"}
+ no_define
+ define -file system.h CYG_HAL_STARTUP
+ description "Choose RAM or ROM startup type."
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
+ display "Default console channel."
+ flavor data
+ calculated 0
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
+ display "Number of communication channels on the board"
+ flavor data
+ calculated 1
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
+ display "Debug serial port"
+ active_if CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
+ flavor data
+ legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
+ default_value 0
+ description "
+ There is one serial connector on the board."
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
+ display "Diagnostic serial port"
+ active_if CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
+ flavor data
+ legal_values 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
+ default_value CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
+ description "
+ There is one serial connector on the board."
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
+ display "Diagnostic serial port baud rate"
+ flavor data
+ legal_values 9600 19200 38400 57600 115200 230400
+ default_value 38400
+ description "
+ This option selects the baud rate used for the diagnostic
+ port."
+ }
+
+ cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
+ display "GDB serial port baud rate"
+ flavor data
+ legal_values 9600 19200 38400 57600 115200 230400
+ default_value 38400
+ description "
+ This option controls the baud rate used for the GDB
+ connection."
+ }
+
+ # Real-time clock/counter specifics
+ cdl_option CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ {
+ display "CPU xtal frequency"
+ flavor data
+ default_value {14745600}
+ }
+
+ cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
+ display "CPU PLL multiplier"
+ flavor data
+ default_value {4}
+ }
+
+ cdl_option CYGNUM_HAL_ARM_LPC2XXX_CLOCK_SPEED {
+ display "CPU clock speed"
+ flavor data
+ calculated { CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL *
+ CYGNUM_HAL_ARM_LPC2XXX_XTAL_FREQ }
+ }
+
+ 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 { "arm-eabi" }
+ 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 { CYGBLD_GLOBAL_WARNFLAGS . CYGBLD_ARCH_CFLAGS .
+ "-mcpu=arm7tdmi -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions" }
+ 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 { CYGBLD_ARCH_LDFLAGS . "-mcpu=arm7tdmi -Wl,--gc-sections -Wl,-static -g -nostdlib" }
+ description "
+ This option controls the global linker flags. Individual
+ packages may define options which override these global
+ flags."
+ }
+ }
+
+ 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."
+ }
+
+ cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+ display "Work with a ROM monitor"
+ flavor booldata
+ legal_values { "Generic" "GDB_stubs" }
+ default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
+ parent CYGPKG_HAL_ROM_MONITOR
+ requires { CYG_HAL_STARTUP == "RAM" }
+ description "
+ Support can be enabled for 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.
+ \"GDB_stubs\" provides support when GDB stubs are included
+ in the ROM monitor or boot ROM."
+ }
+
+ cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
+ display "Redboot HAL options"
+ flavor none
+ no_define
+ parent CYGPKG_REDBOOT
+ active_if CYGPKG_REDBOOT
+ description "
+ This option lists the target's requirements for a valid
+ Redboot configuration."
+
+ cdl_option CYGBLD_BUILD_REDBOOT_BIN {
+ display "Build Redboot ROM binary image"
+ active_if CYGBLD_BUILD_REDBOOT
+ requires { !CYGBLD_BUILD_REDBOOT_WITH_EXEC }
+ default_value 1
+ no_define
+ description "
+ This option enables the conversion of the Redboot ELF
+ image to a binary image suitable for ROM programming."
+
+ compile -library=libextras.a redboot_cmds.c
+
+ compile -library=libextras.a redboot_cmds.c
+
+ make -priority 325 {
+ <PREFIX>/bin/redboot.bin : <PREFIX>/bin/redboot.elf
+ $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
+ $(OBJCOPY) -O srec $< $(@:.bin=.srec)
+ $(OBJCOPY) -O ihex $< $(@:.bin=.hex)
+ $(OBJCOPY) -O binary $< $@
+ }
+
+ }
+ }
+
+ cdl_component CYGHWR_MEMORY_LAYOUT {
+ display "Memory layout"
+ flavor data
+ no_define
+ calculated { (CYG_HAL_STARTUP == "RAM") ? "arm_lpc2xxx_de1_olpcl2294_ram" :
+ "arm_lpc2xxx_de1_olpcl2294_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_arm_lpc2xxx_de1_olpcl2294_ram.ldi>" :
+ "<pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_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_arm_lpc2xxx_de1_olpcl2294_ram.h>" :
+ "<pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h>" }
+ }
+ }
+}
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/hal_platform_setup.h 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,230 @@
+#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
+#define CYGONCE_HAL_PLATFORM_SETUP_H
+/*=============================================================================
+//
+// hal_platform_setup.h
+//
+// Platform specific support for HAL (assembly code)
+//
+//=============================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//=============================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Sergei Gavrikov
+// Contributors: Sergei Gavrikov
+// Date: 2008-08-31
+// Purpose: Olimex LPC-L2294-1MB platform specific support routines
+// Description:
+// Usage: #include <cyg/hal/hal_platform_setup.h>
+//
+//####DESCRIPTIONEND####
+//
+//===========================================================================*/
+
+#include <pkgconf/system.h>
+#include <pkgconf/hal.h>
+#include <cyg/hal/var_io.h>
+
+ // There is one only diagnostic led marked STAT on the board
+ // |P1.23 330 Om LED
+ // |------\/\/\/-----|<|-----> 3.3 V
+ // |
+
+ .macro _led_init
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_IO_BASE
+ ldr r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1DIR]
+ orr r1,r1,#(1<<23)
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1DIR]
+
+ .endm // _led_init
+
+ .macro _led x
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_IO_BASE
+ ldr r1,=(1<<23)
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1SET]
+ ldr r1,=((\x & 1)<<23)
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_IO1CLR]
+
+ .endm // _led
+
+ .macro _pll_init
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_SCB_BASE
+
+ mov r2,#0xAA
+ mov r3,#0x55
+
+ // enable PLL
+ mov r1,#1
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
+
+ mov r1,#(0x20 | (CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL - 1))
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCFG]
+
+ // update PLL registers
+ str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
+ str r3,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
+
+ // wait for it to lock
+1:
+ ldr r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLSTAT]
+ ands r1,r1,#(1<<10)
+ beq 1b
+
+ // connect PLL
+ mov r1,#3
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLCON]
+
+ // update PLL registers
+ str r2,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
+ str r3,[r0,#CYGARC_HAL_LPC2XXX_REG_PLLFEED]
+
+ .endm // _pll_init
+
+ .macro _mem_init
+ // copy first 64 bytes from ROM to on-chip RAM
+ mov r0,#0
+ mov r1,#0x40000000
+ mov r2,#0x40
+1:
+ ldr r3,[r0,#4]!
+ str r3,[r1,#4]!
+ cmps r0,r2
+ bne 1b
+
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_SCB_BASE
+ mov r1,#2 // interrupt vector table is mapped to RAM
+ str r1, [r0,#CYGARC_HAL_LPC2XXX_REG_MEMMAP]
+ // flash timings
+ mov r1,#4
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMTIM]
+ mov r1,#2 // 2, full MAM
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_MAMCR]
+
+ // External memory interface depends on the bank width (32, 16 or 8 bit
+ // selected via MW bits in corresponding BCFG register). Furthermore,
+ // choice of the memory chip(s) will require an adequate setup of RBLE
+ // bit in BCFG register, too. RBLE = 0 in case of 8-bit based external
+ // memories, while memory chips capable of accepting 16 or 32 bit wide
+ // data will work with RBLE = 1.
+ //
+ // BANK0: 2M FLASH
+ // TE28F160C3BD70 (1024Kx16 x 1, 70nS)
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG0
+ ldr r1,= (0x3 << 0) /* IDCY=3, idle timing */\
+ | (0x4 << 5) /* WST1=4, read timing */\
+ | (0x1 << 10) /* RBLE=1 */\
+ | (0x6 << 11) /* WST2=6, write timing */\
+ | (0x1 << 28) /* MW=1, 16-bits */
+ str r1,[r0]
+
+ // BANK1: 1M RAM
+ // K6R4016V1D (512Kx16 x 2, 10nS)
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG1
+ // Warning: changed these timings, you can fall dramatically the eCos
+ // kernel performance. Check it then using the eCos 'tm_basic' test.
+ ldr r1,= (0x0 << 0) /* IDCY=0, idle cycles */\
+ | (0x0 << 5) /* WST1=0, read timing */\
+ | (0x1 << 10) /* RBLE=1 */\
+ | (0x0 << 11) /* WST2=0, write timing */\
+ | (0x2 << 28) /* MW=2, 32-bits */
+ str r1,[r0]
+
+ // BANK2: Ethernet
+ // CS8900A (16-bit, an interrupt driven mode)
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_BCFG2
+ ldr r1,= (0x1 << 0) /* IDCY=1, idle cycles */\
+ | (0x8 << 5) /* WST1=8, read timing */\
+ | (0x1 << 10) /* RBLE=1 */\
+ | (0x6 << 11) /* WST2=6, write timing */\
+ | (0x1 << 28) /* MW=1, 16-bits */
+ str r1,[r0]
+
+ .endm // _mem_init
+
+ .macro _gpio_init
+ ldr r0,=CYGARC_HAL_LPC2XXX_REG_PIN_BASE
+
+ // Configure P0.15:0 as PIO, but UART0, EINT2
+ ldr r1,= (0x1 << 0) /* P0.0 as TxD0 */\
+ | (0x1 << 2) /* P0.1 as RxD0 */\
+ | (0x2 << 30) /* P0.1 as EINT2(CL/IRQ)*/
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL0]
+
+ // Configure P0.30:16 as PIO, but EINT0 ('BUT' button)
+ ldr r1,= (0x1 << 0) /* P0.16 as EINT0 */
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL1]
+
+ // GPIO P1.25:16, P3.24 are used as PIO
+ ldr r1,= (0x1 << 2) /* P1.31:26 Debug port */\
+ | (0x2 << 4) /* D31:0,CS0,OE,BLS0-3 */\
+ | (0x1 << 8) /* WE enabled */\
+ | (0x1 << 11) /* CS1 enabled */\
+ | (0x1 << 14) /* CS2 enabled */\
+ | (0x1 << 23) /* A0 enabled */\
+ | (0x1 << 24) /* A1 enabled */\
+ | (0x7 << 25) /* A23:2 enabled */
+ str r1,[r0,#CYGARC_HAL_LPC2XXX_REG_PINSEL2]
+
+ .endm // _gpio_init
+
+#define CYGHWR_LED_MACRO _led \x
+
+#if defined(CYG_HAL_STARTUP_ROM)
+
+ .macro _setup
+
+ _pll_init
+
+ _mem_init
+
+ _gpio_init
+
+ _led_init
+
+ .endm
+
+#define CYGSEM_HAL_ROM_RESET_USES_JUMP
+
+#else
+
+ .macro _setup
+
+ .endm
+
+#endif // CYG_HAL_STARTUP_ROM
+
+#define PLATFORM_SETUP1 _setup
+
+#endif // CYGONCE_HAL_PLATFORM_SETUP_H
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.h 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,19 @@
+#ifndef __ASSEMBLER__
+#include <cyg/infra/cyg_type.h>
+#include <stddef.h>
+
+#endif
+
+#define CYGMEM_REGION_ram (0x81000000)
+#define CYGMEM_REGION_ram_SIZE (0x00100000)
+#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 (0x81100000 - (size_t) CYG_LABEL_NAME (__heap1))
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_ram.ldi 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,25 @@
+#include <cyg/infra/cyg_type.inc>
+
+MEMORY
+{
+ ram0 : ORIGIN = 0x40000000, LENGTH = 0x4000
+ ram : ORIGIN = 0x81000000, LENGTH = 0x100000
+}
+
+SECTIONS
+{
+ SECTIONS_BEGIN
+ SECTION_fixed_vectors (ram0, 0x40000020, LMA_EQ_VMA)
+ SECTION_rom_vectors (ram, 0x81010000, LMA_EQ_VMA)
+ SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_gcc_except_table (ram, ALIGN (0x4), 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
+}
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.h 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,22 @@
+#ifndef __ASSEMBLER__
+#include <cyg/infra/cyg_type.h>
+#include <stddef.h>
+
+#endif
+
+#define CYGMEM_REGION_rom (0x00000000)
+#define CYGMEM_REGION_rom_SIZE (0x00040000)
+#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
+#define CYGMEM_REGION_ram (0x81000000)
+#define CYGMEM_REGION_ram_SIZE (0x00100000)
+#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 (0x81100000 - (size_t) CYG_LABEL_NAME (__heap1))
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/pkgconf/mlt_arm_lpc2xxx_de1_olpcl2294_rom.ldi 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,26 @@
+#include <cyg/infra/cyg_type.inc>
+
+MEMORY
+{
+ ram0 : ORIGIN = 0x40000000, LENGTH = 0x4000
+ ram : ORIGIN = 0x81000000, LENGTH = 0x100000
+ rom : ORIGIN = 0x00000000, LENGTH = 0x40000
+}
+
+SECTIONS
+{
+ SECTIONS_BEGIN
+ SECTION_rom_vectors (rom, 0x00000000, LMA_EQ_VMA)
+ SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
+ SECTION_fixed_vectors (ram0, 0x40000020, LMA_EQ_VMA)
+ SECTION_data (ram, 0x81000000, FOLLOWING (.gcc_except_table))
+ SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
+ CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
+ SECTIONS_END
+}
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/include/plf_io.h 2009-12-04 15:45:06.000000000 -0800
@@ -0,0 +1,66 @@
+#ifndef CYGONCE_HAL_PLF_IO_H
+#define CYGONCE_HAL_PLF_IO_H
+//=============================================================================
+//
+// plf_io.h
+//
+// Olimex LPC-L2294-1MB board specific registers
+//
+//=============================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//=============================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Sergei Gavrikov
+// Contributors: Sergei Gavrikov
+// Date: 2008-08-31
+// Purpose: Olimex LPC-L2294-1MB board specific registers
+// Description:
+// Usage: #include <cyg/hal/plf_io.h>
+//
+//####DESCRIPTIONEND####
+//
+//=============================================================================
+// On-chip device base addresses
+
+#ifndef __ASSEMBLER__
+extern void hal_plf_hardware_init(void);
+#define HAL_PLF_HARDWARE_INIT() \
+ hal_plf_hardware_init()
+
+#endif // __ASSEMBLER__
+
+//-----------------------------------------------------------------------------
+// end of plf_io.h
+#endif // CYGONCE_HAL_PLF_IO_H
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_RAM.ecm 2009-12-04 15:45:07.000000000 -0800
@@ -0,0 +1,104 @@
+cdl_savefile_version 1;
+cdl_savefile_command cdl_savefile_version {};
+cdl_savefile_command cdl_savefile_command {};
+cdl_savefile_command cdl_configuration { description hardware template package };
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
+
+cdl_configuration eCos {
+ description "" ;
+ hardware olpcl2294 ;
+ template redboot ;
+ package -hardware CYGPKG_HAL_ARM v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_ARM_OLPCX2294_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
+ package -template CYGPKG_HAL v3_0 ;
+ package -template CYGPKG_INFRA v3_0 ;
+ package -template CYGPKG_REDBOOT v3_0 ;
+ package -template CYGPKG_ISOINFRA v3_0 ;
+ package -template CYGPKG_LIBC_STRING v3_0 ;
+ package -template CYGPKG_CRC v3_0 ;
+ package CYGPKG_IO_ETH_DRIVERS v3_0 ;
+ package CYGPKG_NS_DNS v3_0 ;
+ package CYGPKG_COMPRESS_ZLIB v3_0 ;
+ package CYGPKG_IO_FLASH v3_0 ;
+};
+
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
+ inferred_value 0
+};
+
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
+ inferred_value 0
+};
+
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
+ user_value 4096
+};
+
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
+ user_value 0
+};
+
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
+ inferred_value 0
+};
+
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
+ inferred_value 1
+};
+
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+ inferred_value 0 0
+};
+
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
+ inferred_value LPC2294
+};
+
+cdl_component CYGBLD_BUILD_REDBOOT {
+ user_value 1
+};
+
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
+ inferred_value 0
+};
+
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/bsdstring.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_DNS_HEADER {
+ inferred_value 1 <cyg/ns/dns/dns.h>
+};
+
+cdl_option CYGPKG_NS_DNS_BUILD {
+ inferred_value 0
+};
+
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM.ecm 2009-12-04 17:20:22.000000000 -0800
@@ -0,0 +1,112 @@
+cdl_savefile_version 1;
+cdl_savefile_command cdl_savefile_version {};
+cdl_savefile_command cdl_savefile_command {};
+cdl_savefile_command cdl_configuration { description hardware template package };
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
+
+cdl_configuration eCos {
+ description "" ;
+ hardware de1_olpcl2294 ;
+ template redboot ;
+ package -hardware CYGPKG_HAL_ARM v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
+ package -template CYGPKG_HAL v3_0 ;
+ package -template CYGPKG_INFRA v3_0 ;
+ package -template CYGPKG_REDBOOT v3_0 ;
+ package -template CYGPKG_ISOINFRA v3_0 ;
+ package -template CYGPKG_LIBC_STRING v3_0 ;
+ package -template CYGPKG_CRC v3_0 ;
+ package CYGPKG_IO_ETH_DRIVERS v3_0 ;
+ package CYGPKG_NS_DNS v3_0 ;
+ package CYGPKG_COMPRESS_ZLIB v3_0 ;
+ package CYGPKG_IO_FLASH v3_0 ;
+};
+
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
+ inferred_value 0
+};
+
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
+ inferred_value 0
+};
+
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
+ user_value 4096
+};
+
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
+ user_value 0
+};
+
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
+ inferred_value 0
+};
+
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
+ inferred_value 1
+};
+
+cdl_option CYGSEM_HAL_ROM_MONITOR {
+ inferred_value 1
+};
+
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+ inferred_value 0 0
+};
+
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
+ inferred_value LPC2294
+};
+
+cdl_component CYG_HAL_STARTUP {
+ inferred_value ROM
+};
+
+cdl_component CYGBLD_BUILD_REDBOOT {
+ user_value 1
+};
+
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
+ inferred_value 0
+};
+
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/bsdstring.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_DNS_HEADER {
+ inferred_value 1 <cyg/ns/dns/dns.h>
+};
+
+cdl_option CYGPKG_NS_DNS_BUILD {
+ inferred_value 0
+};
+
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/redboot_ROM_minimal.ecm 2009-12-04 15:45:07.000000000 -0800
@@ -0,0 +1,100 @@
+cdl_savefile_version 1;
+cdl_savefile_command cdl_savefile_version {};
+cdl_savefile_command cdl_savefile_command {};
+cdl_savefile_command cdl_configuration { description hardware template package };
+cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
+cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
+
+cdl_configuration eCos {
+ description "" ;
+ hardware olpcl2294 ;
+ template redboot ;
+ package -hardware CYGPKG_HAL_ARM v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_HAL_ARM_LPC2XXX_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_STRATA_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_FLASH_ARM_OLPCX2294_V2 v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_CL_CS8900A v3_0 ;
+ package -hardware CYGPKG_DEVS_ETH_ARM_OLPCL2294 v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_GENERIC_16X5X v3_0 ;
+ package -hardware CYGPKG_IO_SERIAL_ARM_LPC2XXX v3_0 ;
+ package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_LPC2XXX v3_0 ;
+ package -template CYGPKG_HAL v3_0 ;
+ package -template CYGPKG_INFRA v3_0 ;
+ package -template CYGPKG_REDBOOT v3_0 ;
+ package -template CYGPKG_ISOINFRA v3_0 ;
+ package -template CYGPKG_LIBC_STRING v3_0 ;
+ package -template CYGPKG_CRC v3_0 ;
+};
+
+cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
+ inferred_value 0
+};
+
+cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
+ inferred_value 0
+};
+
+cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
+ user_value 4096
+};
+
+cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
+ user_value 0
+};
+
+cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
+ inferred_value 0
+};
+
+cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
+ inferred_value 1
+};
+
+cdl_option CYGSEM_HAL_ROM_MONITOR {
+ inferred_value 1
+};
+
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+ inferred_value 0 0
+};
+
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
+ inferred_value LPC2294
+};
+
+cdl_component CYG_HAL_STARTUP {
+ inferred_value ROM
+};
+
+cdl_component CYGBLD_BUILD_REDBOOT {
+ user_value 1
+};
+
+cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
+ inferred_value 0
+};
+
+cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/bsdstring.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
+ inferred_value 1 <cyg/libc/string/string.h>
+};
+
+
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/de1_olpcl2294_misc.c 2009-12-04 15:45:07.000000000 -0800
@@ -0,0 +1,109 @@
+//==========================================================================
+//
+// olpcl2294_misc.c
+//
+// HAL misc board support code for Olimex LPC-L2294-1MB development
+// board
+//
+//==========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Sergei Gavrikov
+// Contributors: Sergei Gavrikov
+// Date: 2008-08-31
+// Purpose: HAL board support
+// Description: Implementations of HAL board interfaces
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <pkgconf/hal.h>
+#include <cyg/hal/hal_io.h> // IO macros
+#include <cyg/hal/hal_arch.h> // Register state info
+
+#include <cyg/infra/cyg_type.h> // base types
+#include <cyg/hal/var_io.h>
+
+#include <cyg/hal/hal_var_ints.h>
+#include <cyg/hal/drv_api.h>
+
+extern void cyg_hal_plf_serial_init (void);
+
+//--------------------------------------------------------------------------
+// hal_lpc2xxx_set_leds --
+//
+// There is one diagnostic LED marked 'STAT' on the board
+//
+void
+hal_lpc2xxx_set_leds (int mask)
+{
+ HAL_WRITE_UINT32 (CYGARC_HAL_LPC2XXX_REG_IO_BASE +
+ CYGARC_HAL_LPC2XXX_REG_IO1SET, (1 << 23));
+ if (mask & 1)
+ HAL_WRITE_UINT32 (CYGARC_HAL_LPC2XXX_REG_IO_BASE +
+ CYGARC_HAL_LPC2XXX_REG_IO1CLR, (1 << 23));
+}
+
+//--------------------------------------------------------------------------
+// cyg_hal_plf_comms_init --
+//
+void
+cyg_hal_plf_comms_init (void)
+{
+ static int initialized = 0;
+
+ if (initialized)
+ return;
+ initialized = 1;
+
+ cyg_hal_plf_serial_init ();
+}
+
+#ifdef HAL_PLF_HARDWARE_INIT
+//--------------------------------------------------------------------------
+// hal_plf_hardware_init --
+//
+void
+hal_plf_hardware_init (void)
+{
+ // configure IRQ level from CL CS8900A
+ cyg_drv_interrupt_configure (CYGNUM_HAL_INTERRUPT_EINT2, 0, 1);
+}
+#endif // HAL_PLF_HARDWARE_INIT
+
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
+//--------------------------------------------------------------------------
+// EOF olpcl2294_misc.c
diff -NaurbBw --exclude-from=diff_exclude.txt /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c 1969-12-31 16:00:00.000000000 -0800
+++ ./ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/src/redboot_cmds.c 2009-12-04 15:45:07.000000000 -0800
@@ -0,0 +1,115 @@
+//==========================================================================
+//
+// redboot_cmds.c
+//
+// OLPCL2294 [platform] specific RedBoot commands
+//
+//==========================================================================
+// ####ECOSGPLCOPYRIGHTBEGIN####
+// -------------------------------------------
+// This file is part of eCos, the Embedded Configurable Operating System.
+// Copyright (C) 1998, 1999, 2000, 2001, 2002, 2008 Free Software Foundation, 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.,
+// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, 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 v2.
+//
+// This exception does not invalidate any other reasons why a work based
+// on this file might be covered by the GNU General Public License.
+// -------------------------------------------
+// ####ECOSGPLCOPYRIGHTEND####
+//==========================================================================
+//#####DESCRIPTIONBEGIN####
+//
+// Author(s): Sergei Gavrikov
+// Contributors: Sergei Gavrikov
+// Date: 2008-08-31
+// Purpose:
+// Description:
+//
+// This code is part of RedBoot (tm).
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <cyg/hal/hal_diag.h>
+#include <redboot.h>
+
+// CLI functions
+static void do_echo (int argc, char *argv[]);
+RedBoot_cmd ("echo",
+ "Outputs the args. If -n is specified, the trailing newline is suppressed.",
+ "-n [arg ...]", do_echo);
+
+static void do_led (int argc, char *argv[]);
+RedBoot_cmd ("led", "Manage diagnostic led(s)", "[-m mask]", do_led);
+
+//--------------------------------------------------------------------------
+// do_echo --
+//
+static void
+do_echo (int argc, char *argv[])
+{
+ bool newline = true;
+ if (argc > 1) {
+ int i = 1;
+ if (strncmp (&argv[i][0], "-n", 2) == 0) {
+ newline = false;
+ i++;
+ }
+ for (; i < argc; i++) {
+ diag_write_string (&argv[i][0]);
+ if ((argc - i) > 1)
+ diag_write_char (' ');
+ }
+ }
+ if (newline)
+ diag_write_char ('\n');
+ return;
+}
+
+//--------------------------------------------------------------------------
+// do_led --
+//
+static void
+do_led (int argc, char *argv[])
+{
+ struct option_info opts[1];
+ unsigned long mask;
+ bool mask_set;
+
+ init_opts (&opts[0], 'm', true, OPTION_ARG_TYPE_NUM,
+ &mask, &mask_set, "mask");
+ if (!scan_opts (argc, argv, 1, opts, 1, 0, 0, "")) {
+ return;
+ }
+ if (!mask_set) {
+ diag_printf ("led what <mask>?\n");
+ return;
+ }
+ hal_lpc2xxx_set_leds (mask);
+ return;
+}
+
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
+//--------------------------------------------------------------------------
+// EOF redboot_cmds.c
Go to most recent revision | Compare with Previous | Blame | View Log