summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx/startup
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-03 09:56:48 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-12-03 09:56:48 +0000
commitdd853a397350c0eecf3b47871c18b9a33a759cde (patch)
tree4d8c45debc9b73efa2efaa5013e85375149125c4 /c/src/lib/libbsp/arm/lpc24xx/startup
parent2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-dd853a397350c0eecf3b47871c18b9a33a759cde.tar.bz2
2010-12-03 Sebastian Huber <sebastian.huber@embedded-brains.de>
* include/lcd.h, misc/lcd.c: New files. * misc/io.c, include/io.h: Documentation, bug fixes, more configurations. * include/lpc24xx.h: Added DAC and I2S. * Makefile.am, bsp_specs, preinstall.am, startup/bspstarthooks.c, startup/linkcmds.lpc2362, startup/linkcmds.lpc23xx_tli800, startup/linkcmds.lpc24xx_ea, startup/linkcmds.lpc24xx_ncs_ram, startup/linkcmds.lpc24xx_ncs_rom_ext, startup/linkcmds.lpc24xx_ncs_rom_int: Update due to linker command file changes.
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/startup')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c35
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc236212
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli80016
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea8
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram8
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext2
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int12
7 files changed, 50 insertions, 43 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c
index d5332e6e82..6a3e967732 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/bspstarthooks.c
@@ -31,7 +31,7 @@
#endif
#ifdef LPC24XX_EMC_MICRON
- static void BSP_START_SECTION lpc24xx_ram_test_32(void)
+ static void BSP_START_TEXT_SECTION lpc24xx_ram_test_32(void)
{
#ifdef LPC24XX_EMC_TEST
int *begin = (int *) 0xa0000000;
@@ -55,7 +55,7 @@
#endif
}
- static void BSP_START_SECTION lpc24xx_cpu_delay(
+ static void BSP_START_TEXT_SECTION lpc24xx_cpu_delay(
unsigned ticks
)
{
@@ -73,7 +73,7 @@
/**
* @brief EMC initialization hook 0.
*/
-static void BSP_START_SECTION lpc24xx_init_emc_0(void)
+static void BSP_START_TEXT_SECTION lpc24xx_init_emc_0(void)
{
#ifdef LPC24XX_EMC_NUMONYX
/*
@@ -137,7 +137,7 @@ static void BSP_START_SECTION lpc24xx_init_emc_0(void)
/**
* @brief EMC initialization hook 1.
*/
-static void BSP_START_SECTION lpc24xx_init_emc_1(void)
+static void BSP_START_TEXT_SECTION lpc24xx_init_emc_1(void)
{
#ifdef LPC24XX_EMC_INIT
/* Use normal memory map */
@@ -242,7 +242,7 @@ static void BSP_START_SECTION lpc24xx_init_emc_1(void)
#endif
}
-static void BSP_START_SECTION lpc24xx_pll_config(
+static void BSP_START_TEXT_SECTION lpc24xx_pll_config(
uint32_t val
)
{
@@ -265,7 +265,7 @@ static void BSP_START_SECTION lpc24xx_pll_config(
* @param cclksel Selects the divide value for creating the CPU clock (CCLK)
* from the PLL output.
*/
-static void BSP_START_SECTION lpc24xx_set_pll(
+static void BSP_START_TEXT_SECTION lpc24xx_set_pll(
unsigned clksrc,
unsigned nsel,
unsigned msel,
@@ -321,7 +321,7 @@ static void BSP_START_SECTION lpc24xx_set_pll(
lpc24xx_pll_config(PLLCON_PLLE | PLLCON_PLLC);
}
-static void BSP_START_SECTION lpc24xx_init_pll(void)
+static void BSP_START_TEXT_SECTION lpc24xx_init_pll(void)
{
/* Enable main oscillator */
if ((SCS & 0x40) == 0) {
@@ -341,7 +341,7 @@ static void BSP_START_SECTION lpc24xx_init_pll(void)
#endif
}
-static void BSP_START_SECTION lpc24xx_clear_bss(void)
+static void BSP_START_TEXT_SECTION lpc24xx_clear_bss(void)
{
const int *end = (const int *) bsp_section_bss_end;
int *out = (int *) bsp_section_bss_begin;
@@ -353,7 +353,7 @@ static void BSP_START_SECTION lpc24xx_clear_bss(void)
}
}
-void BSP_START_SECTION bsp_start_hook_0(void)
+void BSP_START_TEXT_SECTION bsp_start_hook_0(void)
{
/* Initialize PLL */
lpc24xx_init_pll();
@@ -362,7 +362,7 @@ void BSP_START_SECTION bsp_start_hook_0(void)
lpc24xx_init_emc_0();
}
-void BSP_START_SECTION bsp_start_hook_1(void)
+void BSP_START_TEXT_SECTION bsp_start_hook_1(void)
{
/* Re-map interrupt vectors to internal RAM */
MEMMAP = SET_MEMMAP_MAP(MEMMAP, 2);
@@ -442,11 +442,18 @@ void BSP_START_SECTION bsp_start_hook_1(void)
(size_t) bsp_section_data_size
);
- /* Copy .fast section */
+ /* Copy .fast_text section */
bsp_start_memcpy(
- (int *) bsp_section_fast_begin,
- (const int *) bsp_section_fast_load_begin,
- (size_t) bsp_section_fast_size
+ (int *) bsp_section_fast_text_begin,
+ (const int *) bsp_section_fast_text_load_begin,
+ (size_t) bsp_section_fast_text_size
+ );
+
+ /* Copy .fast_data section */
+ bsp_start_memcpy(
+ (int *) bsp_section_fast_data_begin,
+ (const int *) bsp_section_fast_data_load_begin,
+ (size_t) bsp_section_fast_data_size
);
/* Clear .bss section */
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362 b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
index c323f799e5..eff54e9f74 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc2362
@@ -35,11 +35,11 @@
*/
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
+ 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);
@@ -64,4 +64,4 @@ lpc24xx_region_heap_1_begin = ORIGIN (RAM_USB);
lpc24xx_region_heap_1_size = LENGTH (RAM_USB);
lpc24xx_region_heap_1_end = lpc24xx_region_heap_1_begin + lpc24xx_region_heap_1_size;
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800 b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800
index d0d97d3d2a..f0cc1a6321 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc23xx_tli800
@@ -37,13 +37,13 @@
*/
MEMORY {
- RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
- RAM_USB (AIW) : ORIGIN = 0x7fd00000, LENGTH = 8k
- RAM_ETH (AIW) : ORIGIN = 0x7fe00000, LENGTH = 16k
- ROM_BOOT (RX) : ORIGIN = 0x00000000, LENGTH = 4k
- ROM_CFG (RX) : ORIGIN = 0x00001000, LENGTH = 4k
- ROM_INT (RX) : ORIGIN = 0x00002000, LENGTH = 120k
- NIRVANA : ORIGIN = 0, LENGTH = 0
+ RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
+ RAM_USB (AIW) : ORIGIN = 0x7fd00000, LENGTH = 8k
+ RAM_ETH (AIW) : ORIGIN = 0x7fe00000, LENGTH = 16k
+ ROM_BOOT (RX) : ORIGIN = 0x00000000, LENGTH = 4k
+ ROM_CFG (RX) : ORIGIN = 0x00001000, LENGTH = 4k
+ ROM_INT (RX) : ORIGIN = 0x00002000, LENGTH = 120k
+ NIRVANA : ORIGIN = 0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", ROM_BOOT);
@@ -68,4 +68,4 @@ lpc24xx_region_heap_1_begin = ORIGIN (RAM_USB);
lpc24xx_region_heap_1_size = LENGTH (RAM_USB);
lpc24xx_region_heap_1_end = lpc24xx_region_heap_1_begin + lpc24xx_region_heap_1_size;
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea
index afad88d747..6b3be532cf 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea
@@ -34,9 +34,9 @@
*/
MEMORY {
- RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
- RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M
- NIRVANA : ORIGIN = 0, LENGTH = 0
+ RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
+ RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M
+ NIRVANA : ORIGIN = 0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", RAM_EXT);
@@ -53,4 +53,4 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram
index c3f908b907..714642768a 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_ram
@@ -34,9 +34,9 @@
*/
MEMORY {
- RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
- RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 8M
- NIRVANA : ORIGIN = 0, LENGTH = 0
+ RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
+ RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 8M
+ NIRVANA : ORIGIN = 0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", RAM_EXT);
@@ -53,4 +53,4 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext
index d35d8cd10d..5a66b6a579 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_ext
@@ -57,4 +57,4 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int
index 044131ba30..efe50f8f0e 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int
+++ b/c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ncs_rom_int
@@ -36,11 +36,11 @@
MEMORY {
- RAM_VEC (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
- RAM_INT (AIW) : ORIGIN = 0x40008000, LENGTH = 32k
- RAM_EXT (AIW) : ORIGIN = 0xa0400000, LENGTH = 4M
- ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
- NIRVANA : ORIGIN = 0, LENGTH = 0
+ RAM_VEC (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
+ RAM_INT (AIW) : ORIGIN = 0x40008000, LENGTH = 32k
+ RAM_EXT (AIW) : ORIGIN = 0xa0400000, LENGTH = 4M
+ ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
+ NIRVANA : ORIGIN = 0, LENGTH = 0
}
REGION_ALIAS ("REGION_START", ROM_INT);
@@ -57,4 +57,4 @@ REGION_ALIAS ("REGION_BSS", RAM_EXT);
REGION_ALIAS ("REGION_WORK", RAM_EXT);
REGION_ALIAS ("REGION_STACK", RAM_INT);
-INCLUDE linkcmds.base
+INCLUDE linkcmds.armv4