OpenCores
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 10

Compare with Previous | Blame | View Log

diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl    1969-12-31 16:00:00.000000000 -0800
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/cdl/de1_olpcl2294_eth_drivers.cdl      2010-10-07 16:54:30.023380600 -0700
@@ -0,0 +1,112 @@
+# ====================================================================
+#
+#      de1_olpcl2294_eth_drivers.cdl
+#
+#      Ethernet drivers - platform dependent support for DE1_OLPCL2294
+#
+# ====================================================================
+## ####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_DEVS_ETH_ARM_DE1_OLPCL2294 {
+    display       "LAN ethernet driver for Olimex LPC-L2294-1MB"
+
+    parent        CYGPKG_IO_ETH_DRIVERS
+    active_if     CYGPKG_IO_ETH_DRIVERS
+    active_if     CYGPKG_HAL_ARM_LPC2XXX_DE1_OLPCL2294
+
+   include_dir   cyg/io
+
+    description   "
+        Ethernet driver for Olimex LPC-L2294-1MB board."
+
+    # FIXME: This really belongs in the CL CS8900A package
+    cdl_interface CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED {
+        display   "Cirrus Logic CS8900A ethernet driver required"
+    }
+
+    define_proc {
+        puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
+        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_INL <cyg/io/devs_eth_arm_de1_olpcl2294.inl>"
+        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_CFG <pkgconf/devs_eth_arm_de1_olpcl2294.h>"
+        puts $::cdl_system_header "/*****  ethernet driver proc output end  *****/"
+    }
+
+   cdl_component CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0 {
+        display       "DE1_OLPCL2294 ethernet port driver"
+        flavor        bool
+        default_value 1
+        description   "
+            This option includes the ethernet device driver for the
+            DE1_OLPCL2294 port."
+
+        implements CYGHWR_NET_DRIVER_ETH0
+        implements CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
+
+        cdl_option CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME {
+            display       "Device name for the ETH0 ethernet driver"
+            flavor        data
+            default_value {"\"eth0\""}
+            description   "
+                This option sets the name of the ethernet device."
+        }
+
+        cdl_component CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA {
+            display       "Set the ethernet station address"
+            flavor        bool
+            calculated    1
+            description   "
+                Enabling this option will allow the ethernet
+                station address to be forced to the value set by the
+                configuration.  This may be required if the hardware
+                does not include a serial EEPROM for the ESA."
+
+            cdl_option CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_ESA {
+                display       "The ethernet station address"
+                flavor        data
+                default_value {"{0x08, 0x88, 0x12, 0x34, 0x56, 0x78}"}
+                description   "The ethernet station address"
+            }
+        }
+    }
+}
+
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h 1969-12-31 16:00:00.000000000 -0800
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.h   2010-10-07 16:53:16.900252600 -0700
@@ -0,0 +1,57 @@
+#ifndef _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
+#define _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
+//==========================================================================
+//
+//      devs_eth_arm_de1_olpcl2294.h
+//
+//      DE1_OLPCL2294 ethernet configuration
+//
+//==========================================================================
+// ####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:       DE1_OLPCL2294 ethernet configuration
+// Description:
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+
+#endif // _CYGONCE_DEVS_ETH_ARM_DE1_OLPCL2294_H
+//--------------------------------------------------------------------------
+// EOF devs_eth_arm_de1_olpcl2294.h
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl
--- /opt/ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl       1969-12-31 16:00:00.000000000 -0800
+++ ../ecos-3.0/packages/devs/eth/arm/de1_olpcl2294/v3_0/include/devs_eth_arm_de1_olpcl2294.inl 2010-10-07 16:52:25.979681200 -0700
@@ -0,0 +1,169 @@
+//==========================================================================
+//
+//      devs_eth_arm_olpcl2294.inl
+//
+//      DE1_OLPCL2294 ethernet I/O definitions
+//
+//==========================================================================
+// ####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:          
+// Purpose:       DE1_OLPCL2294 ethernet definitions
+// Description:
+//
+//####DESCRIPTIONEND####
+//
+//========================================================================*/
+
+#include <cyg/hal/hal_var_ints.h>
+#include <cyg/hal/hal_if.h>
+
+#ifdef CYGPKG_REDBOOT
+# include <pkgconf/redboot.h>
+# ifdef CYGSEM_REDBOOT_FLASH_CONFIG
+#  include <redboot.h>
+#  include <flash_config.h>
+# endif
+#endif
+
+#ifdef __WANT_CONFIG
+//#define DEBUG 0x0f
+#endif // __WANT_CONFIG
+
+#ifdef __WANT_DEVS
+
+#ifdef CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0
+
+#ifndef CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
+# if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
+RedBoot_config_option("Set " CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME " network hardware address [MAC]",
+                      eth0_esa,
+                      ALWAYS_ENABLED, true,
+                      CONFIG_BOOL, false
+    );
+RedBoot_config_option(CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME " network hardware address [MAC]",
+                      eth0_esa_data,
+                      "eth0_esa", true,
+                      CONFIG_ESA, 0
+    );
+# endif // CYGPKG_REDBOOT && CYGSEM_REDBOOT_FLASH_CONFIG
+
+# ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
+// Note that this section *is* active in an application, outside RedBoot,
+// where the above section is not included.
+
+#  include <cyg/hal/hal_if.h>
+
+#  ifndef CONFIG_ESA
+#   define CONFIG_ESA (6)
+#  endif
+#  ifndef CONFIG_BOOL
+#   define CONFIG_BOOL (1)
+#  endif
+
+cyg_bool
+_de1_olpcl2294_provide_eth0_esa(struct cs8900a_priv_data* cpd)
+{
+    cyg_bool set_esa;
+    int ok;
+    ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
+                                      "eth0_esa", &set_esa, CONFIG_BOOL);
+    if (ok && set_esa) {
+        ok = CYGACC_CALL_IF_FLASH_CFG_OP( CYGNUM_CALL_IF_FLASH_CFG_GET,
+                                          "eth0_esa_data", cpd->esa, CONFIG_ESA);
+    }
+    return ok && set_esa;
+}
+
+# endif // CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
+#endif // ! CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
+
+static __inline__ void
+post_reset(cyg_addrword_t base)
+{
+    // Toggle A0 connected to the SBHE# line
+    HAL_WRITE_UINT8( 0x82000000, 1 );
+    HAL_WRITE_UINT8( 0x82000001, 2 );
+    HAL_WRITE_UINT8( 0x82000000, 3 );
+    HAL_WRITE_UINT8( 0x82000001, 0 );
+}
+
+#undef CYGHWR_CL_CS8900A_PLF_POST_RESET
+#define CYGHWR_CL_CS8900A_PLF_POST_RESET(base) post_reset(base)
+
+static cs8900a_priv_data_t cs8900a_eth0_priv_data = {
+    base : (cyg_addrword_t) 0x82000000,
+    interrupt : CYGNUM_HAL_INTERRUPT_EINT2,
+#ifdef CYGSEM_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_SET_ESA
+    esa : CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_ESA,
+    hardwired_esa : true,
+#else
+    hardwired_esa : false,
+# ifdef CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
+    provide_esa : &_de1_olpcl2294_provide_eth0_esa,
+# else
+    provide_esa : NULL,
+# endif
+#endif
+};
+
+ETH_DRV_SC(cs8900a_sc,
+           &cs8900a_eth0_priv_data, // Driver specific data
+           CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME,
+           cs8900a_start,
+           cs8900a_stop,
+           cs8900a_control,
+           cs8900a_can_send,
+           cs8900a_send,
+           cs8900a_recv,
+           cs8900a_deliver,     // "pseudoDSR" called from fast net thread
+           cs8900a_poll,        // poll function, encapsulates ISR and DSR
+           cs8900a_int_vector);
+
+NETDEVTAB_ENTRY(cs8900a_netdev,
+                "cs8900a_" CYGDAT_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0_NAME,
+                cs8900a_init,
+                &cs8900a_sc);
+
+#endif // CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294_ETH0
+
+#endif // __WANT_DEVS
+
+// indent: --indent-level4 -br -nut; vim: expandtab tabstop=4 shiftwidth=4
+//--------------------------------------------------------------------------
+// EOF devs_eth_arm_de1_olpcl2294.inl
+
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  2010-10-07 17:36:06.896959000 -0700
@@ -0,0 +1,71 @@
+# ====================================================================
+#
+#      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 Terasic DE1 & 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_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-10-07 17:22:20.668111000 -0700
@@ -6690,3 +6690,59 @@
         to run eCos on the STM3210E EVAL board."
 }
 
+
+# --------------------
+#
+# --------------------
+
+package CYGPKG_DEVS_ETH_ARM_DE1_OLPCL2294 {
+        alias           { "Ethernet driver for Terasic DE1 & Olimex LPC-L2294-1MB board" de1_olpcl2294_eth_driver }
+        hardware
+        directory       devs/eth/arm/de1_olpcl2294
+        script          de1_olpcl2294_eth_drivers.cdl
+        description     "
+            Ethernet device driver for Terasic DE1 & Olimex LPC-L2294-1MB board."
+}
+
+
+package CYGPKG_DEVS_FLASH_ARM_DE1_OLPCX2294_V2 {
+        alias           { "External Flash memory support for Terasic DE1 & Olimex LPC-L2294-1M" 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 Terasic DE1 & Olimex LPC-L2294-1M 
+            boards. It uses eCos Flash v2 API."
+}
+
+
+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_DE1_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/LPC2294_ram.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm      1969-12-31 16:00:00.000000000 -0800
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/LPC2294_ram.ecm        2010-10-06 15:29:52.656568600 -0700
@@ -0,0 +1,197 @@
+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    default ;
+    package -template CYGPKG_HAL v3_0 ;
+    package -template CYGPKG_IO v3_0 ;
+    package -template CYGPKG_IO_SERIAL v3_0 ;
+    package -template CYGPKG_INFRA v3_0 ;
+    package -template CYGPKG_KERNEL v3_0 ;
+    package -template CYGPKG_MEMALLOC v3_0 ;
+    package -template CYGPKG_ISOINFRA v3_0 ;
+    package -template CYGPKG_LIBC v3_0 ;
+    package -template CYGPKG_LIBC_I18N v3_0 ;
+    package -template CYGPKG_LIBC_SETJMP v3_0 ;
+    package -template CYGPKG_LIBC_SIGNALS v3_0 ;
+    package -template CYGPKG_LIBC_STARTUP v3_0 ;
+    package -template CYGPKG_LIBC_STDIO v3_0 ;
+    package -template CYGPKG_LIBC_STDLIB v3_0 ;
+    package -template CYGPKG_LIBC_STRING v3_0 ;
+    package -template CYGPKG_LIBC_TIME v3_0 ;
+    package -template CYGPKG_LIBM v3_0 ;
+    package -template CYGPKG_IO_WALLCLOCK v3_0 ;
+    package -template CYGPKG_ERROR v3_0 ;
+    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 ;
+};
+
+cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
+    user_value 0
+};
+
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+    user_value 0 GDB_stubs
+};
+
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
+    user_value LPC2294
+};
+
+cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
+    user_value 38400
+};
+
+cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
+    user_value 2
+};
+
+cdl_option CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING {
+    user_value 0
+};
+
+cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE {
+    user_value "\"/dev/tty0\""
+};
+
+cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 {
+    user_value 1
+};
+
+cdl_option CYGDAT_IO_SERIAL_TTY_TTY0_DEV {
+    user_value "\"/dev/ser0\""
+};
+
+cdl_component CYGPKG_IO_SERIAL_DEVICES {
+    user_value 1
+};
+
+cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME {
+    user_value 1
+};
+
+cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
+    user_value 0
+};
+
+cdl_option CYGBLD_ISO_CTYPE_HEADER {
+    inferred_value 1 <cyg/libc/i18n/ctype.inl>
+};
+
+cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
+    inferred_value 1 <cyg/error/codes.h>
+};
+
+cdl_option CYGBLD_ISO_ERRNO_HEADER {
+    inferred_value 1 <cyg/error/errno.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/atox.inl>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/abs.inl>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/div.inl>
+};
+
+cdl_option CYGBLD_ISO_STRERROR_HEADER {
+    inferred_value 1 <cyg/error/strerror.h>
+};
+
+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_C_TIME_TYPES_HEADER {
+    inferred_value 1 <cyg/libc/time/time.h>
+};
+
+cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
+    inferred_value 1 <cyg/libc/time/time.h>
+};
+
+cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
+    inferred_value 1 <cyg/libc/signals/signal.h>
+};
+
+cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
+    inferred_value 1 <cyg/libc/signals/signal.h>
+};
+
+cdl_option CYGBLD_ISO_SETJMP_HEADER {
+    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
+};
+
+
diff -NaurbBw '--exclude-from=../diff_exclude.txt' /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm
--- /opt/ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm  1969-12-31 16:00:00.000000000 -0800
+++ ../ecos-3.0/packages/hal/arm/lpc2xxx/de1_olpcl2294/v3_0/misc/net_LPC2294_ram.ecm    2010-10-07 17:28:11.174762800 -0700
@@ -0,0 +1,332 @@
+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    net ;
+    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_DE1_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_IO v3_0 ;
+    package -template CYGPKG_IO_SERIAL v3_0 ;
+    package -template CYGPKG_INFRA v3_0 ;
+    package -template CYGPKG_ISOINFRA v3_0 ;
+    package -template CYGPKG_KERNEL v3_0 ;
+    package -template CYGPKG_MEMALLOC v3_0 ;
+    package -template CYGPKG_LIBC v3_0 ;
+    package -template CYGPKG_LIBC_TIME v3_0 ;
+    package -template CYGPKG_LIBC_STDLIB v3_0 ;
+    package -template CYGPKG_LIBC_STRING v3_0 ;
+    package -template CYGPKG_LIBC_I18N v3_0 ;
+    package -template CYGPKG_LIBC_SETJMP v3_0 ;
+    package -template CYGPKG_LIBC_STARTUP v3_0 ;
+    package -template CYGPKG_LIBC_STDIO v3_0 ;
+    package -template CYGPKG_LIBM v3_0 ;
+    package -template CYGPKG_POSIX v3_0 ;
+    package -template CYGPKG_IO_WATCHDOG v3_0 ;
+    package -template CYGPKG_IO_WALLCLOCK v3_0 ;
+    package -template CYGPKG_ERROR v3_0 ;
+    package -template CYGPKG_IO_FILEIO v3_0 ;
+    package -template CYGPKG_NET v3_0 ;
+    package -template CYGPKG_NET_FREEBSD_STACK v3_0 ;
+    package -template CYGPKG_NS_DNS v3_0 ;
+    package -template CYGPKG_IO_ETH_DRIVERS v3_0 ;
+    package -template CYGPKG_NET_SNTP v3_0 ;
+    package CYGPKG_HTTPD v3_0 ;
+};
+
+cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
+    user_value 0
+};
+
+cdl_option CYGSEM_HAL_DIAG_MANGLER {
+    user_value GDB
+};
+
+cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
+    user_value 0
+};
+
+cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
+    user_value 0 GDB_stubs
+};
+
+cdl_component CYGHWR_HAL_ARM_LPC2XXX {
+    user_value LPC2294
+    inferred_value LPC2294
+};
+
+cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
+    user_value 38400
+};
+
+cdl_option CYGNUM_HAL_ARM_LPC2XXX_PLL_MUL {
+    user_value 2
+};
+
+cdl_option CYGDAT_IO_SERIAL_TTY_CONSOLE {
+    user_value "\"/dev/tty0\""
+};
+
+cdl_component CYGPKG_IO_SERIAL_TTY_TTY0 {
+    user_value 1
+};
+
+cdl_component CYGPKG_IO_SERIAL_TERMIOS {
+    user_value 0
+};
+
+cdl_component CYGPKG_IO_SERIAL_DEVICES {
+    user_value 1
+};
+
+cdl_option CYGPKG_IO_SERIAL_GENERIC_16X5X_XMIT_REQUIRE_PRIME {
+    user_value 1
+};
+
+cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
+    user_value 0
+};
+
+cdl_option CYGBLD_ISO_CTYPE_HEADER {
+    inferred_value 1 <cyg/libc/i18n/ctype.inl>
+};
+
+cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
+    inferred_value 1 <cyg/error/codes.h>
+};
+
+cdl_option CYGBLD_ISO_ERRNO_HEADER {
+    inferred_value 1 <cyg/error/errno.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
+    inferred_value 1 <cyg/libc/stdio/stdio.h>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/atox.inl>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/abs.inl>
+};
+
+cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
+    inferred_value 1 <cyg/libc/stdlib/div.inl>
+};
+
+cdl_option CYGBLD_ISO_STRERROR_HEADER {
+    inferred_value 1 <cyg/error/strerror.h>
+};
+
+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_STRUCTTIMEVAL_HEADER {
+    user_value 1 <cyg/posix/sys/time.h>
+    inferred_value 1 <cyg/posix/sys/time.h>
+};
+
+cdl_option CYGBLD_ISO_FNMATCH_HEADER {
+    user_value 1 <cyg/fileio/fnmatch.h>
+    inferred_value 1 <cyg/fileio/fnmatch.h>
+};
+
+cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
+    inferred_value 1 <cyg/posix/time.h>
+};
+
+cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
+    inferred_value 1 <cyg/posix/time.h>
+};
+
+cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
+    inferred_value 1 <cyg/libc/time/time.h>
+};
+
+cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
+    inferred_value 1 <cyg/posix/time.h>
+};
+
+cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
+    inferred_value 1 <cyg/posix/time.h>
+};
+
+cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
+    inferred_value 1 <cyg/libc/time/time.h>
+};
+
+cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
+    inferred_value 1 <cyg/posix/signal.h>
+};
+
+cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
+    inferred_value 1 <cyg/posix/signal.h>
+};
+
+cdl_option CYGBLD_ISO_SETJMP_HEADER {
+    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
+};
+
+cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
+    inferred_value 1 <cyg/posix/sigsetjmp.h>
+};
+
+cdl_option CYGBLD_ISO_DIRENT_HEADER {
+    inferred_value 1 <cyg/fileio/dirent.h>
+};
+
+cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
+    inferred_value 1 <cyg/posix/types.h>
+};
+
+cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
+    inferred_value 1 <cyg/posix/muttypes.h>
+};
+
+cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
+    inferred_value 1 <sys/bsdtypes.h>
+};
+
+cdl_option CYGBLD_ISO_UTSNAME_HEADER {
+    inferred_value 1 <cyg/posix/utsname.h>
+};
+
+cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
+    inferred_value 1 <cyg/posix/semaphore.h>
+};
+
+cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
+    inferred_value 1 <cyg/posix/pthread.h>
+};
+
+cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
+    inferred_value 1 <cyg/posix/mutex.h>
+};
+
+cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
+    inferred_value 1 <cyg/posix/limits.h>
+};
+
+cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
+    inferred_value 1 <cyg/fileio/limits.h>
+};
+
+cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
+    inferred_value 1 <cyg/fileio/limits.h>
+};
+
+cdl_option CYGBLD_ISO_DNS_HEADER {
+    inferred_value 1 <cyg/ns/dns/dns.h>
+};
+
+cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
+    inferred_value 1 <net/netdb.h>
+};
+
+cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
+    inferred_value 1 <net/netdb.h>
+};
+
+cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
+    inferred_value 1
+};
+
+cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
+    inferred_value 1
+};
+
+cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
+    inferred_value 1
+};
+
+cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
+    inferred_value 1
+};
+
+cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS {
+    inferred_value 1
+};
+
+cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
+    user_value 0
+};
+
+cdl_component CYGHWR_NET_DRIVER_ETH0_MANUAL {
+    user_value 0
+};
+
+cdl_component CYGHWR_NET_DRIVER_ETH0_BOOTP {
+    user_value 0
+};
+
+cdl_component CYGHWR_NET_DRIVER_ETH0_ADDRS {
+    user_value 1
+};
+
+
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

Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

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