<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>change log for rtems (2011-10-17)</title>
</head>
<body text='#000000' bgcolor='#ffffff'>
<a name='cs1'></a>
<table border='0' cellspacing='0' cellpadding='5' width='100%' bgcolor='#eeeeee'>
<tr><td colspan='3' bgcolor='#dddddd'>
 <font color='#bb2222'><strong>sh</strong></font>
</td></tr>
<tr><td colspan='3' bgcolor='#dddddd'><pre>2011-10-17 Sebastian Huber <sebastian.huber@embedded-brains.de>

        * include/start-config.h, make/custom/lpc24xx_plx800_rom_int.cfg,
        startup/linkcmds.lpc24xx_plx800_rom_int,
        startup/start-config-emc-dynamic.c, startup/start-config-emc-static.c,
        startup/start-config-pinsel.c: New files.
        * Makefile.am, configure.ac, preinstall.am: Reflect changes above.
        * startup/bspstarthooks.c: Use configuration tables for EMC
        initialization.
</pre></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog.diff?r1=text&tr1=1.72&r2=text&tr2=1.73&diff_format=h">M</a></td><td width='1%'>1.73</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/ChangeLog</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am.diff?r1=text&tr1=1.36&r2=text&tr2=1.37&diff_format=h">M</a></td><td width='1%'>1.37</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/Makefile.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac.diff?r1=text&tr1=1.17&r2=text&tr2=1.18&diff_format=h">M</a></td><td width='1%'>1.18</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/configure.ac</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/include/start-config.h</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am.diff?r1=text&tr1=1.22&r2=text&tr2=1.23&diff_format=h">M</a></td><td width='1%'>1.23</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/preinstall.am</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c.diff?r1=text&tr1=1.9&r2=text&tr2=1.10&diff_format=h">M</a></td><td width='1%'>1.10</td><td width='100%'>c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c</td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c</font></td></tr>
<tr><td width='1%'><a href="http://www.rtems.com/cgi-bin/viewcvs.cgi//rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c?rev=1.1&content-type=text/vnd.viewcvs-markup">A</a></td><td width='1%'><font color="#000088">1.1</font></td><td width='100%'><font color="#000088">c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c</font></td></tr>
</table>
<pre>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.72 rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.73
--- rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog:1.72   Mon Aug  8 07:36:15 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/ChangeLog        Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -1,3 +1,13 @@
</font><font color='#000088'>+2011-10-17    Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+       * include/start-config.h, make/custom/lpc24xx_plx800_rom_int.cfg,
+       startup/linkcmds.lpc24xx_plx800_rom_int,
+       startup/start-config-emc-dynamic.c, startup/start-config-emc-static.c,
+       startup/start-config-pinsel.c: New files.
+       * Makefile.am, configure.ac, preinstall.am: Reflect changes above.
+       * startup/bspstarthooks.c: Use configuration tables for EMC
+       initialization.
+
</font> 2011-08-08        Sebastian Huber <sebastian.huber@embedded-brains.de>
 
        * irq/irq-dispatch.c: New file.

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.36 rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.37
--- rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am:1.36 Mon Aug  8 07:36:15 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/Makefile.am      Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -39,16 +39,17 @@
</font> include_bsp_HEADERS += ../shared/lpc/include/lpc-emc.h
 include_bsp_HEADERS += ../shared/lpc/include/lpc-dma.h
 include_bsp_HEADERS += ../shared/lpc/include/lpc-lcd.h
<font color='#880000'>-include_bsp_HEADERS += include/irq.h
-include_bsp_HEADERS += include/lpc24xx.h
-include_bsp_HEADERS += include/system-clocks.h
-include_bsp_HEADERS += include/ssp.h
</font> include_bsp_HEADERS += include/dma.h
 include_bsp_HEADERS += include/i2c.h
 include_bsp_HEADERS += include/io.h
<font color='#000088'>+include_bsp_HEADERS += include/irq.h
</font> include_bsp_HEADERS += include/lcd.h
<font color='#000088'>+include_bsp_HEADERS += include/lpc24xx.h
</font> include_bsp_HEADERS += include/lpc-clock-config.h
 include_bsp_HEADERS += include/lpc-ethernet-config.h
<font color='#000088'>+include_bsp_HEADERS += include/ssp.h
+include_bsp_HEADERS += include/start-config.h
+include_bsp_HEADERS += include/system-clocks.h
</font> 
 include_HEADERS += ../../shared/include/tm27.h
 
<font color='#997700'>@@ -63,12 +64,14 @@
</font> project_lib_DATA = start.$(OBJEXT)
 
 project_lib_DATA += startup/linkcmds
<font color='#880000'>-EXTRA_DIST = startup/linkcmds.lpc24xx_ea
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_int
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_ext
-EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_ram
</font><font color='#000088'>+EXTRA_DIST =<span style="background-color: #FF0000"> </span>
</font> EXTRA_DIST += startup/linkcmds.lpc2362
 EXTRA_DIST += startup/linkcmds.lpc23xx_tli800
<font color='#000088'>+EXTRA_DIST += startup/linkcmds.lpc24xx_ea
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_ram
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_ext
+EXTRA_DIST += startup/linkcmds.lpc24xx_ncs_rom_int
+EXTRA_DIST += startup/linkcmds.lpc24xx_plx800_rom_int
</font> 
 ###############################################################################
 #                  LibBSP                                                     #
<font color='#997700'>@@ -142,6 +145,9 @@
</font> 
 # Start hooks
 libbsp_a_SOURCES += startup/bspstarthooks.c
<font color='#000088'>+libbsp_a_SOURCES += startup/start-config-emc-dynamic.c
+libbsp_a_SOURCES += startup/start-config-emc-static.c
+libbsp_a_SOURCES += startup/start-config-pinsel.c
</font> 
 ###############################################################################
 #                  Network                                                    #

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.17 rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.18
--- rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac:1.17        Wed Feb  2 08:57:54 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/configure.ac     Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -33,6 +33,7 @@
</font> RTEMS_BSPOPTS_HELP([LPC24XX_OSCILLATOR_RTC],[RTC oscillator frequency in Hz])
 
 RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc23*],[58982400U])
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[lpc24xx_plx800*],[51612800U])
</font> RTEMS_BSPOPTS_SET([LPC24XX_CCLK],[*],[72000000U])
 RTEMS_BSPOPTS_HELP([LPC24XX_CCLK],[CPU clock in Hz])
 
<font color='#997700'>@@ -43,12 +44,16 @@
</font> RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[*],[])
 RTEMS_BSPOPTS_HELP([LPC24XX_ETHERNET_RMII],[enable RMII for Ethernet])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_EMC_MICRON],[lpc24xx_plx800_rom_*],[1])
</font> RTEMS_BSPOPTS_SET([LPC24XX_EMC_MICRON],[lpc24xx_ncs_rom_*],[1])
 RTEMS_BSPOPTS_HELP([LPC24XX_EMC_MICRON],[enable Micron configuration for EMC])
 
 RTEMS_BSPOPTS_SET([LPC24XX_EMC_NUMONYX],[lpc24xx_ncs_rom_*],[1])
 RTEMS_BSPOPTS_HELP([LPC24XX_EMC_NUMONYX],[enable Numonyx configuration for EMC])
 
<font color='#000088'>+RTEMS_BSPOPTS_SET([LPC24XX_EMC_W9825G2JB],[lpc24xx_plx800_rom_*],[1])
+RTEMS_BSPOPTS_HELP([LPC24XX_EMC_W9825G2JB],[enable Winbond W9825G2JB configuration for EMC])
+
</font> RTEMS_BSPOPTS_SET([LPC24XX_EMC_TEST],[*],[])
 RTEMS_BSPOPTS_HELP([LPC24XX_EMC_TEST],[enable tests for EMC])
 

<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h:1.1
--- /dev/null   Mon Oct 17 06:12:03 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/include/start-config.h   Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,98 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#ifndef LIBBSP_ARM_LPC24XX_START_CONFIG_H
+#define LIBBSP_ARM_LPC24XX_START_CONFIG_H
+
+#include <bsp.h>
+#include <bsp/start.h>
+#include <bsp/lpc-emc.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+typedef struct {
+  uint32_t refresh;
+  uint32_t readconfig;
+  uint32_t trp;
+  uint32_t tras;
+  uint32_t tsrex;
+  uint32_t tapr;
+  uint32_t tdal;
+  uint32_t twr;
+  uint32_t trc;
+  uint32_t trfc;
+  uint32_t txsr;
+  uint32_t trrd;
+  uint32_t tmrd;
+} lpc24xx_emc_dynamic_config;
+
+typedef struct {
+  volatile lpc_emc_dynamic *chip_select;
+  uint32_t address;
+  uint32_t config;
+  uint32_t rascas;
+  uint32_t mode;
+} lpc24xx_emc_dynamic_chip_config;
+
+typedef struct {
+  volatile lpc_emc_static *chip_select;
+  struct {
+    uint32_t config;
+    uint32_t waitwen;
+    uint32_t waitoen;
+    uint32_t waitrd;
+    uint32_t waitpage;
+    uint32_t waitwr;
+    uint32_t waitrun;
+  } config;
+} lpc24xx_emc_static_chip_config;
+
+extern const BSP_START_DATA_SECTION uint32_t
+  lpc24xx_start_config_pinsel_5_9 [];
+
+extern const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_pinsel_5_9_size;
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config
+  lpc24xx_start_config_emc_dynamic [];
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config
+  lpc24xx_start_config_emc_dynamic_chip [];
+
+extern const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_emc_dynamic_chip_count;
+
+extern const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config
+  lpc24xx_start_config_emc_static_chip [];
+
+extern const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_emc_static_chip_count;
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* LIBBSP_ARM_LPC24XX_START_CONFIG_H */
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg:1.1
--- /dev/null   Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx_plx800_rom_int.cfg   Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,7 @@
</font><font color='#000088'>+#
+#  Config file for LPC24XX (PLX800).
+#
+#  $Id$
+#
+
+include $(RTEMS_ROOT)/make/custom/lpc24xx.inc
</font>
<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.22 rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.23
--- rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am:1.22       Tue Jun  7 03:00:14 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/preinstall.am    Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -101,22 +101,6 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-lcd.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-lcd.h
 
<font color='#880000'>-$(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
-
-$(PROJECT_INCLUDE)/bsp/lpc24xx.h: include/lpc24xx.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc24xx.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc24xx.h
-
-$(PROJECT_INCLUDE)/bsp/system-clocks.h: include/system-clocks.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/system-clocks.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/system-clocks.h
-
-$(PROJECT_INCLUDE)/bsp/ssp.h: include/ssp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
-       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ssp.h
-PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ssp.h
-
</font> $(PROJECT_INCLUDE)/bsp/dma.h: include/dma.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/dma.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/dma.h
<font color='#997700'>@@ -129,10 +113,18 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/io.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/io.h
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/irq.h: include/irq.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/irq.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/irq.h
+
</font> $(PROJECT_INCLUDE)/bsp/lcd.h: include/lcd.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lcd.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lcd.h
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/lpc24xx.h: include/lpc24xx.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc24xx.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc24xx.h
+
</font> $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h: include/lpc-clock-config.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-clock-config.h
<font color='#997700'>@@ -141,6 +133,18 @@
</font>   $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/lpc-ethernet-config.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/lpc-ethernet-config.h
 
<font color='#000088'>+$(PROJECT_INCLUDE)/bsp/ssp.h: include/ssp.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/ssp.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/ssp.h
+
+$(PROJECT_INCLUDE)/bsp/start-config.h: include/start-config.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/start-config.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/start-config.h
+
+$(PROJECT_INCLUDE)/bsp/system-clocks.h: include/system-clocks.h $(PROJECT_INCLUDE)/bsp/$(dirstamp)
+       $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/bsp/system-clocks.h
+PREINSTALL_FILES += $(PROJECT_INCLUDE)/bsp/system-clocks.h
+
</font> $(PROJECT_INCLUDE)/tm27.h: ../../shared/include/tm27.h $(PROJECT_INCLUDE)/$(dirstamp)
        $(INSTALL_DATA) $< $(PROJECT_INCLUDE)/tm27.h
 PREINSTALL_FILES += $(PROJECT_INCLUDE)/tm27.h

<font color='#006600'>diff -u rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.9 rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.10
--- rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c:1.9      Thu May 19 07:30:00 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c  Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -27,286 +27,141 @@
</font> #include <bsp/linker-symbols.h>
 #include <bsp/lpc24xx.h>
 #include <bsp/lpc-emc.h>
<font color='#000088'>+#include <bsp/start-config.h>
</font> 
<font color='#880000'>-#if defined(LPC24XX_EMC_MICRON) || defined(LPC24XX_EMC_NUMONYX)
-  #define LPC24XX_EMC_INIT
-#endif
-
-static volatile lpc_emc *const emc = (lpc_emc *) EMC_BASE_ADDR;
-
-typedef struct {
-  uint32_t refresh;
-  uint32_t readconfig;
-  uint32_t trp;
-  uint32_t tras;
-  uint32_t tsrex;
-  uint32_t tapr;
-  uint32_t tdal;
-  uint32_t twr;
-  uint32_t trc;
-  uint32_t trfc;
-  uint32_t txsr;
-  uint32_t trrd;
-  uint32_t tmrd;
-} lpc24xx_emc_dynamic_config;
-
-typedef struct {
-  uint32_t config;
-  uint32_t rascas;
-  uint32_t mode;
-} lpc24xx_emc_dynamic_chip_config;
-
-typedef struct {
-  uint32_t config;
-  uint32_t waitwen;
-  uint32_t waitoen;
-  uint32_t waitrd;
-  uint32_t waitpage;
-  uint32_t waitwr;
-  uint32_t waitrun;
-} lpc24xx_emc_static_chip_config;
-
-#ifdef LPC24XX_EMC_MICRON
-  static void BSP_START_TEXT_SECTION lpc24xx_ram_test_32(void)
-  {
-    #ifdef LPC24XX_EMC_TEST
-      int *begin = (int *) 0xa0000000;
-      const int *end = (const int *) 0xa0800000;
-      int *out = begin;
-
-      while (out != end) {
-        *out = (int) out;
-        ++out;
-      }
-
-      out = begin;
-      while (out != end) {
-        if (*out != (int) out) {
-          while (true) {
-            /* Do nothing */
-          }
-        }
-        ++out;
-      }
-    #endif
-  }
-
-  static void BSP_START_TEXT_SECTION lpc24xx_cpu_delay(unsigned ticks)
-  {
-    unsigned i = 0;
</font><font color='#000088'>+static void BSP_START_TEXT_SECTION lpc24xx_cpu_delay(unsigned ticks)
+{
+  unsigned i = 0;
</font> 
<font color='#880000'>-    /* One loop execution needs four instructions */
-    ticks /= 4;
</font><font color='#000088'>+  /* One loop execution needs four instructions */
+  ticks /= 4;
</font> 
<font color='#880000'>-    for (i = 0; i <= ticks; ++i) {
-      __asm__ volatile ("nop");
-    }
</font><font color='#000088'>+  for (i = 0; i <= ticks; ++i) {
+    __asm__ volatile ("nop");
</font>   }
<font color='#000088'>+}
</font> 
<font color='#880000'>-  static void BSP_START_TEXT_SECTION lpc24xx_udelay(unsigned us)
-  {
-    lpc24xx_cpu_delay(us * (LPC24XX_CCLK / 1000000));
-  }
-#endif
</font><font color='#000088'>+static void BSP_START_TEXT_SECTION lpc24xx_udelay(unsigned us)
+{
+  lpc24xx_cpu_delay(us * (LPC24XX_CCLK / 1000000));
+}
</font> 
 static void BSP_START_TEXT_SECTION lpc24xx_init_emc_pinsel(void)
 {
<font color='#880000'>-  #ifdef LPC24XX_EMC_INIT
-    static const BSP_START_DATA_SECTION uint32_t pinsel_5_9 [5] = {
-      0x05010115,
-      0x55555555,
-      0x0,
-      0x55555555,
-      0x40050155
-    };
-
-    bsp_start_memcpy(
-      (int *) &PINSEL5,
-      (const int *) &pinsel_5_9,
-      sizeof(pinsel_5_9)
-    );
-  #endif
</font><font color='#000088'>+  bsp_start_memcpy(
+    (int *) &PINSEL5,
+    (const int *) &lpc24xx_start_config_pinsel_5_9,
+    lpc24xx_start_config_pinsel_5_9_size
+  );
</font> }
 
 static void BSP_START_TEXT_SECTION lpc24xx_init_emc_static(void)
 {
<font color='#880000'>-  #ifdef LPC24XX_EMC_NUMONYX
-    /*
-     * Static Memory 1: Numonyx M29W160EB
-     *
-     * 1 clock cycle = 1/72MHz = 13.9ns
-     */
-    static const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config chip_config = {
-      /*
-       * 16 bit, page mode disabled, active LOW chip select, extended wait
-       * disabled, writes not protected, byte lane state LOW/LOW (!).
-       */
-      .config = 0x81,
-
-      /* 1 clock cycles delay from the chip select 1 to the write enable */
-      .waitwen = 0,
-
-      /*
-       * 0 clock cycles delay from the chip select 1 or address change
-       * (whichever is later) to the output enable
-       */
-      .waitoen = 0,
</font><font color='#000088'>+  size_t i = 0;
+  size_t chip_count = lpc24xx_start_config_emc_static_chip_count;
</font> 
<font color='#880000'>-      /* 7 clock cycles delay from the chip select 1 to the read access */
-      .waitrd = 0x6,
-
-      /*
-       * 32 clock cycles delay for asynchronous page mode sequential accesses
-       */
-      .waitpage = 0x1f,
-
-      /* 5 clock cycles delay from the chip select 1 to the write access */
-      .waitwr = 0x3,
-
-      /* 16 bus turnaround cycles */
-      .waitrun = 0xf
-    };
</font><font color='#000088'>+  for (i = 0; i < chip_count; ++i) {
+    const lpc24xx_emc_static_chip_config *chip_config =
+      &lpc24xx_start_config_emc_static_chip [i];
</font>     lpc24xx_emc_static_chip_config chip_config_on_stack;
<font color='#000088'>+    size_t config_size = sizeof(chip_config_on_stack.config);
</font> 
     bsp_start_memcpy(
<font color='#880000'>-      (int *) &chip_config_on_stack,
-      (const int *) &chip_config,
-      sizeof(chip_config_on_stack)
</font><font color='#000088'>+      (int *) &chip_config_on_stack.config,
+      (const int *) &chip_config->config,
+      config_size
</font>     );
     bsp_start_memcpy(
<font color='#880000'>-      (int *) EMC_STA_BASE_1,
-      (const int *) &chip_config_on_stack,
-      sizeof(chip_config_on_stack)
</font><font color='#000088'>+      (int *) chip_config->chip_select,
+      (const int *) &chip_config_on_stack.config,
+      config_size
</font>     );
<font color='#880000'>-  #endif
</font><font color='#000088'>+  }
</font> }
 
 static void BSP_START_TEXT_SECTION lpc24xx_init_emc_memory_map(void)
 {
<font color='#880000'>-  #ifdef LPC24XX_EMC_INIT
-    /* Use normal memory map */
-    EMC_CTRL &= ~0x2U;
-  #endif
</font><font color='#000088'>+  /* Use normal memory map */
+  EMC_CTRL &= ~0x2U;
</font> }
 
 static void BSP_START_TEXT_SECTION lpc24xx_init_emc_dynamic(void)
 {
<font color='#880000'>-  #ifdef LPC24XX_EMC_MICRON
-    /* Dynamic Memory 0: Micron M T48LC 4M16 A2 P 75 IT */
-
-    static const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config dynamic_config = {
-      /* Auto-refresh command every 15.6 us */
-      .refresh = 0x46,
-
-      /* Use command delayed strategy */
-      .readconfig = 1,
-
-      /* Precharge command period 20 ns */
-      .trp = 1,
-
-      /* Active to precharge command period 44 ns */
-      .tras = 3,
-
-      /* FIXME */
-      .tsrex = 5,
-
-      /* FIXME */
-      .tapr = 2,
-
-      /* Data-in to active command period tWR + tRP */
-      .tdal = 4,
-
-      /* Write recovery time 15 ns */
-      .twr = 1,
-
-      /* Active to active command period 66 ns */
-      .trc = 4,
-
-      /* Auto refresh period 66 ns */
-      .trfc = 4,
-
-      /* Exit self refresh to active command period 75 ns */
-      .txsr = 5,
-
-      /* Active bank a to active bank b command period 15 ns */
-      .trrd = 1,
-
-      /* Load mode register to active or refresh command period 2 tCK */
-      .tmrd = 1,
-    };
-    static const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config chip_config = {
-      /*
-       * Use SDRAM, 0 0 001 01 address mapping, disabled buffer, unprotected writes
-       */
-      .config = 0x280,
</font><font color='#000088'>+  size_t chip_count = lpc24xx_start_config_emc_dynamic_chip_count;
</font> 
<font color='#880000'>-      .rascas = EMC_DYN_RASCAS_RAS(2) | EMC_DYN_RASCAS_CAS(2, 0),
-      .mode = 0xa0000000 | (0x23 << (1 + 2 + 8))
-    };
</font><font color='#000088'>+  if (chip_count > 0) {
+    bool do_initialization = true;
+    size_t i = 0;
+
+    for (i = 0; do_initialization && i < chip_count; ++i) {
+      const lpc24xx_emc_dynamic_chip_config *chip_cfg =
+        &lpc24xx_start_config_emc_dynamic_chip [i];
+      volatile lpc_emc_dynamic *chip_select = chip_cfg->chip_select;
</font> 
<font color='#880000'>-    volatile lpc_emc_dynamic *chip = &emc->dynamic [0];
-    uint32_t dynamiccontrol = EMC_DYN_CTRL_CE | EMC_DYN_CTRL_CS;
-
-    /* Check if we need to initialize it */
-    if ((chip->config & EMC_DYN_CFG_B) == 0) {
-      /*
-       * The buffer enable bit is not set.  Now we assume that the controller
-       * is not properly initialized.
-       */
-
-      /* Global dynamic settings */
-      emc->dynamicreadconfig = dynamic_config.readconfig;
-      emc->dynamictrp = dynamic_config.trp;
-      emc->dynamictras = dynamic_config.tras;
-      emc->dynamictsrex = dynamic_config.tsrex;
-      emc->dynamictapr = dynamic_config.tapr;
-      emc->dynamictdal = dynamic_config.tdal;
-      emc->dynamictwr = dynamic_config.twr;
-      emc->dynamictrc = dynamic_config.trc;
-      emc->dynamictrfc = dynamic_config.trfc;
-      emc->dynamictxsr = dynamic_config.txsr;
-      emc->dynamictrrd = dynamic_config.trrd;
-      emc->dynamictmrd = dynamic_config.tmrd;
</font><font color='#000088'>+      do_initialization = (chip_select->config & EMC_DYN_CFG_B) == 0;
+    }
</font> 
<font color='#880000'>-      /* Wait 100us after the power is applied and the clocks have stabilized */
-      lpc24xx_udelay(100);
</font><font color='#000088'>+    if (do_initialization) {
+      volatile lpc_emc *emc = (volatile lpc_emc *) EMC_BASE_ADDR;
+      const lpc24xx_emc_dynamic_config *cfg =
+        &lpc24xx_start_config_emc_dynamic [0];
+      uint32_t dynamiccontrol = EMC_DYN_CTRL_CE | EMC_DYN_CTRL_CS;
+
+      emc->dynamicreadconfig = cfg->readconfig;
+
+      /* Timings */
+      emc->dynamictrp = cfg->trp;
+      emc->dynamictras = cfg->tras;
+      emc->dynamictsrex = cfg->tsrex;
+      emc->dynamictapr = cfg->tapr;
+      emc->dynamictdal = cfg->tdal;
+      emc->dynamictwr = cfg->twr;
+      emc->dynamictrc = cfg->trc;
+      emc->dynamictrfc = cfg->trfc;
+      emc->dynamictxsr = cfg->txsr;
+      emc->dynamictrrd = cfg->trrd;
+      emc->dynamictmrd = cfg->tmrd;
</font> 
<font color='#880000'>-      /* NOP period, disable self-refresh */
</font><font color='#000088'>+      /* NOP period */
</font>       emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_NOP;
       lpc24xx_udelay(200);
 
<font color='#880000'>-      /* Precharge all */
</font><font color='#000088'>+      /* Precharge */
</font>       emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_PALL;
<font color='#000088'>+      emc->dynamicrefresh = 1;
</font> 
       /*
        * Perform several refresh cycles with a memory refresh every 16 AHB
        * clock cycles.  Wait until eight SDRAM refresh cycles have occurred
        * (128 AHB clock cycles).
        */
<font color='#880000'>-      emc->dynamicrefresh = 1;
</font>       lpc24xx_cpu_delay(128);
 
<font color='#880000'>-      /* Set refresh period */
-      emc->dynamicrefresh = dynamic_config.refresh;
-
-      /* Operational values for the chip */
-      chip->rascas = chip_config.rascas;
-      chip->config = chip_config.config;
-
-      /* Mode */
-      emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_MODE;
-      *((volatile uint32_t *) chip_config.mode);
</font><font color='#000088'>+      /* Refresh timing */
+      emc->dynamicrefresh = cfg->refresh;
+      lpc24xx_cpu_delay(128);
</font> 
<font color='#880000'>-      /* Normal operation */
-      emc->dynamiccontrol = 0;
</font><font color='#000088'>+      for (i = 0; i < chip_count; ++i) {
+        const lpc24xx_emc_dynamic_chip_config *chip_cfg =
+          &lpc24xx_start_config_emc_dynamic_chip [i];
+        volatile lpc_emc_dynamic *chip_select = chip_cfg->chip_select;
+        uint32_t config = chip_cfg->config;
+
+        /* Chip select */
+        chip_select->config = config;
+        chip_select->rascas = chip_cfg->rascas;
+
+        /* Set modes */
+        emc->dynamiccontrol = dynamiccontrol | EMC_DYN_CTRL_I_MODE;
+        *(volatile uint32_t *)(chip_cfg->address + chip_cfg->mode);
</font> 
<font color='#880000'>-      /* Enable buffer */
-      chip->config |= EMC_DYN_CFG_B;
</font><font color='#000088'>+        /* Enable buffer */
+        chip_select->config = config | EMC_DYN_CFG_B;
+      }
</font> 
<font color='#880000'>-      /* Test RAM */
-      lpc24xx_ram_test_32();
</font><font color='#000088'>+      emc->dynamiccontrol = dynamiccontrol;
</font>     }
<font color='#880000'>-  #endif
</font><font color='#000088'>+  }
</font> }
 
 static void BSP_START_TEXT_SECTION lpc24xx_pll_config(
<font color='#997700'>@@ -400,9 +255,19 @@
</font> 
   /* Set PLL */
   #if LPC24XX_OSCILLATOR_MAIN == 12000000U
<font color='#880000'>-    lpc24xx_set_pll(1, 0, 11, 3);
</font><font color='#000088'>+    #if LPC24XX_CCLK == 72000000U
+      lpc24xx_set_pll(1, 0, 11, 3);
+    #elif LPC24XX_CCLK == 51612800U
+      lpc24xx_set_pll(1, 30, 399, 5);
+    #else
+      #error "unexpected CCLK"
+    #endif
</font>   #elif LPC24XX_OSCILLATOR_MAIN == 3686400U
<font color='#880000'>-    lpc24xx_set_pll(1, 0, 47, 5);
</font><font color='#000088'>+    #if LPC24XX_CCLK == 58982400U
+      lpc24xx_set_pll(1, 0, 47, 5);
+    #else
+      #error "unexpected CCLK"
+    #endif
</font>   #else
     #error "unexpected main oscillator frequency"
   #endif

<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int:1.1
--- /dev/null   Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_plx800_rom_int  Mon Oct 17 05:39:59 2011
</font><font color='#997700'>@@ -0,0 +1,30 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @brief Memory map for PLX800 (LPC2478).
+ */
+
+MEMORY {
+       RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
+       RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 8M
+       ROM_INT (RX)  : ORIGIN = 0x00000000, LENGTH = 512k - 8k
+       NIRVANA : ORIGIN = 0, LENGTH = 0
+}
+
+REGION_ALIAS ("REGION_START", ROM_INT);
+REGION_ALIAS ("REGION_VECTOR", RAM_INT);
+REGION_ALIAS ("REGION_TEXT", ROM_INT);
+REGION_ALIAS ("REGION_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_RODATA", ROM_INT);
+REGION_ALIAS ("REGION_RODATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_DATA", RAM_EXT);
+REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT", RAM_INT);
+REGION_ALIAS ("REGION_FAST_TEXT_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST_DATA", RAM_INT);
+REGION_ALIAS ("REGION_FAST_DATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_BSS", RAM_EXT);
+REGION_ALIAS ("REGION_WORK", RAM_EXT);
+REGION_ALIAS ("REGION_STACK", RAM_INT);
+
+INCLUDE linkcmds.armv4
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c:1.1
--- /dev/null   Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-dynamic.c       Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,119 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start EMC dynamic memory configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+#include <bsp/lpc24xx.h>
+
+const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_config
+  lpc24xx_start_config_emc_dynamic [] = {
+#if defined(LPC24XX_EMC_MICRON)
+  /* Dynamic Memory 0: Micron M T48LC 4M16 A2 P 75 IT */
+  {
+    /* Auto-refresh command every 15.6 us */
+    .refresh = 0x46,
+
+    /* Use command delayed strategy */
+    .readconfig = 1,
+
+    /* Precharge command period 20 ns */
+    .trp = 1,
+
+    /* Active to precharge command period 44 ns */
+    .tras = 3,
+
+    /* FIXME */
+    .tsrex = 5,
+
+    /* FIXME */
+    .tapr = 2,
+
+    /* Data-in to active command period tWR + tRP */
+    .tdal = 4,
+
+    /* Write recovery time 15 ns */
+    .twr = 1,
+
+    /* Active to active command period 66 ns */
+    .trc = 4,
+
+    /* Auto refresh period 66 ns */
+    .trfc = 4,
+
+    /* Exit self refresh to active command period 75 ns */
+    .txsr = 5,
+
+    /* Active bank a to active bank b command period 15 ns */
+    .trrd = 1,
+
+    /* Load mode register to active or refresh command period 2 tCK */
+    .tmrd = 1
+  }
+#elif defined(LPC24XX_EMC_K4S561632E)
+  {
+    .refresh = 35,
+    .readconfig = 1,
+    .trp = 2,
+    .tras = 4,
+    .tsrex = 5,
+    .tapr = 1,
+    .tdal = 5,
+    .twr = 3,
+    .trc = 5,
+    .trfc = 5,
+    .txsr = 5,
+    .trrd = 3,
+    .tmrd = 2
+  }
+#endif
+};
+
+const BSP_START_DATA_SECTION lpc24xx_emc_dynamic_chip_config
+  lpc24xx_start_config_emc_dynamic_chip [] = {
+#if defined(LPC24XX_EMC_MICRON)
+  {
+    .chip_select = (volatile lpc_emc_dynamic *) &EMC_DYN_CFG0,
+
+    /*
+     * Use SDRAM, 0 0 001 01 address mapping, disabled buffer, unprotected
+     * writes.
+     */
+    .config = 0x280,
+
+    .rascas = EMC_DYN_RASCAS_RAS(2) | EMC_DYN_RASCAS_CAS(2, 0),
+    .mode = 0xa0000000 | (0x23 << (1 + 2 + 8))
+  }
+#elif defined(LPC24XX_EMC_K4S561632E)
+  {
+    .chip_select = (volatile lpc_emc_dynamic *) &EMC_DYN_CFG0,
+    .config = 0x680,
+    .rascas = EMC_DYN_RASCAS_RAS(3) | EMC_DYN_RASCAS_CAS(3, 0),
+    .mode = 0xa0000000 | (0x33 << 12)
+  }
+#endif
+};
+
+const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_emc_dynamic_chip_count =
+    sizeof(lpc24xx_start_config_emc_dynamic_chip)
+      / sizeof(lpc24xx_start_config_emc_dynamic_chip [0]);
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c:1.1
--- /dev/null   Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-emc-static.c        Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,75 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start EMC static memory configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+#include <bsp/lpc24xx.h>
+
+const BSP_START_DATA_SECTION lpc24xx_emc_static_chip_config
+   lpc24xx_start_config_emc_static_chip [] = {
+#ifdef LPC24XX_EMC_NUMONYX
+  /*
+   * Static Memory 1: Numonyx M29W160EB
+   *
+   * 1 clock cycle = 1/72MHz = 13.9ns
+   */
+  {
+    .chip_select = (volatile lpc_emc_static *) EMC_STA_BASE_1,
+    .config = {
+      /*
+       * 16 bit, page mode disabled, active LOW chip select, extended wait
+       * disabled, writes not protected, byte lane state LOW/LOW (!).
+       */
+      .config = 0x81,
+
+      /* 1 clock cycles delay from the chip select 1 to the write enable */
+      .waitwen = 0,
+
+      /*
+       * 0 clock cycles delay from the chip select 1 or address change
+       * (whichever is later) to the output enable
+       */
+      .waitoen = 0,
+
+      /* 7 clock cycles delay from the chip select 1 to the read access */
+      .waitrd = 0x6,
+
+      /*
+       * 32 clock cycles delay for asynchronous page mode sequential accesses
+       */
+      .waitpage = 0x1f,
+
+      /* 5 clock cycles delay from the chip select 1 to the write access */
+      .waitwr = 0x3,
+
+      /* 16 bus turnaround cycles */
+      .waitrun = 0xf
+    }
+  }
+#endif /* LPC24XX_EMC_NUMONYX */
+};
+
+const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_emc_static_chip_count =
+    sizeof(lpc24xx_start_config_emc_static_chip)
+      / sizeof(lpc24xx_start_config_emc_static_chip [0]);
</font>
<font color='#006600'>diff -u /dev/null rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c:1.1
--- /dev/null   Mon Oct 17 06:12:04 2011
+++ rtems/c/src/lib/libbsp/arm/lpc24xx/startup/start-config-pinsel.c    Mon Oct 17 05:40:00 2011
</font><font color='#997700'>@@ -0,0 +1,46 @@
</font><font color='#000088'>+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief BSP start pin selection configuration.
+ */
+
+/*
+ * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
+ *
+ *  embedded brains GmbH
+ *  Obere Lagerstr. 30
+ *  82178 Puchheim
+ *  Germany
+ *  <rtems@embedded-brains.de>
+ *
+ * The license and distribution terms for this file may be
+ * found in the file LICENSE in this distribution or at
+ * http://www.rtems.com/license/LICENSE.
+ *
+ * $Id$
+ */
+
+#include <bsp/start-config.h>
+
+const BSP_START_DATA_SECTION uint32_t lpc24xx_start_config_pinsel_5_9 [] = {
+#if defined(LPC24XX_EMC_MICRON) \
+  || defined(LPC24XX_EMC_K4S561632E) \
+  || defined(LPC24XX_EMC_NUMONYX)
+  0x05010115,
+  0x55555555,
+  0x0,
+  #ifdef LPC24XX_EMC_K4S561632E
+    0x15555555,
+    0x0a040000
+  #else
+    0x55555555,
+    0x40050155
+  #endif
+#endif
+};
+
+const BSP_START_DATA_SECTION size_t
+  lpc24xx_start_config_pinsel_5_9_size =
+    sizeof(lpc24xx_start_config_pinsel_5_9);
</font></pre>
<p> </p>

<p>--<br />
<small>Generated by <a href="http://www.codewiz.org/projects/index.html#loginfo">Deluxe Loginfo</a> 2.122 by Bernardo Innocenti <bernie@develer.com></small></p>
</body>
</html>