summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-16 08:10:29 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-12-16 08:10:29 +0000
commitb056194ce3451b0e1360ff0a9814c852aa3887ed (patch)
tree28bc43c09d78d135ca56783960aeefc71a81d5ba /c/src/lib/libbsp/arm/lpc24xx
parent2009-12-15 Glenn Humphrey <glenn.humphrey@OARcorp.com> (diff)
downloadrtems-b056194ce3451b0e1360ff0a9814c852aa3887ed.tar.bz2
add missing files
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/include/lpc-clock-config.h47
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc2362.cfg7
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc236259
3 files changed, 113 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/lpc-clock-config.h b/c/src/lib/libbsp/arm/lpc24xx/include/lpc-clock-config.h
new file mode 100644
index 0000000000..d8aff6c4c8
--- /dev/null
+++ b/c/src/lib/libbsp/arm/lpc24xx/include/lpc-clock-config.h
@@ -0,0 +1,47 @@
+/**
+ * @file
+ *
+ * @ingroup lpc24xx
+ *
+ * @brief Clock driver configuration.
+ */
+
+/*
+ * Copyright (c) 2009
+ * embedded brains GmbH
+ * Obere Lagerstr. 30
+ * D-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.
+ */
+
+#ifndef LIBBSP_ARM_LPC24XX_LPC_CLOCK_CONFIG_H
+#define LIBBSP_ARM_LPC24XX_LPC_CLOCK_CONFIG_H
+
+#include <bsp.h>
+#include <bsp/irq.h>
+#include <bsp/lpc24xx.h>
+#include <bsp/io.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+#define LPC_CLOCK_INTERRUPT LPC24XX_IRQ_TIMER_0
+
+#define LPC_CLOCK_TIMER_BASE TMR0_BASE_ADDR
+
+#define LPC_CLOCK_REFERENCE LPC24XX_CCLK
+
+#define LPC_CLOCK_MODULE_ENABLE() \
+ lpc24xx_module_enable(LPC24XX_MODULE_TIMER_0, LPC24XX_MODULE_CCLK)
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* LIBBSP_ARM_LPC24XX_LPC_CLOCK_CONFIG_H */
diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc2362.cfg b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc2362.cfg
new file mode 100644
index 0000000000..2a46836a84
--- /dev/null
+++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc2362.cfg
@@ -0,0 +1,7 @@
+#
+# Config file for LPC2362.
+#
+# $Id$
+#
+
+include $(RTEMS_ROOT)/make/custom/lpc24xx.inc
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362 b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
new file mode 100644
index 0000000000..76e2358f2f
--- /dev/null
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
@@ -0,0 +1,59 @@
+/**
+ * @file
+ *
+ * @ingroup lpc24xx_linker_lpc2362
+ *
+ * @brief Memory map.
+ */
+
+/**
+ * @defgroup lpc24xx_linker_lpc2362 LPC2362 Memory Map
+ *
+ * @ingroup bsp_linker
+ *
+ * @brief LPC2362 memory map.
+ *
+ * <table>
+ * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr>
+ * <tr><td>RAM_INT</td><td>0x40000000</td><td>32k</td></tr>
+ * <tr><td>RAM_USB</td><td>0x7fd00000</td><td>8k</td></tr>
+ * <tr><td>RAM_ETH</td><td>0x7fe00000</td><td>16k</td></tr>
+ * <tr><td>ROM_INT</td><td>0x00000000</td><td>128k</td></tr>
+ * </table>
+ *
+ * <table>
+ * <tr><th>Section Name</th><th>Section Runtime Region</th><th>Section Load Region</th></tr>
+ * <tr><td>.start</td><td>ROM_INT</td><td></td></tr>
+ * <tr><td>.text</td><td>ROM_INT</td><td>ROM_INT</td></tr>
+ * <tr><td>.rodata</td><td>ROM_INT</td><td>ROM_INT</td></tr>
+ * <tr><td>.data</td><td>RAM_ETH</td><td>ROM_INT</td></tr>
+ * <tr><td>.fast</td><td>RAM_INT</td><td>ROM_INT</td></tr>
+ * <tr><td>.bss</td><td>RAM_ETH</td><td></td></tr>
+ * <tr><td>.work</td><td>RAM_INT</td><td></td></tr>
+ * <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
+ * </table>
+ */
+
+MEMORY {
+ RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
+ RAM_USB (AIW) : ORIGIN = 0x7fd00000, LENGTH = 8k
+ RAM_ETH (AIW) : ORIGIN = 0x7fe00000, LENGTH = 16k
+ ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 128k
+ 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_ETH);
+REGION_ALIAS ("REGION_DATA_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_FAST", RAM_INT);
+REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
+REGION_ALIAS ("REGION_BSS", RAM_ETH);
+REGION_ALIAS ("REGION_WORK", RAM_INT);
+REGION_ALIAS ("REGION_STACK", RAM_INT);
+
+INCLUDE linkcmds.base