forked from Imagelibrary/rtems
renamed lpc24xx BSPs, reorganized linkcmds
This commit is contained in:
@@ -1,3 +1,13 @@
|
||||
2009-10-04 Sebastian Huber <sebastian.huber@embedded-brains.de>
|
||||
|
||||
* startup/linkcmds.lpc2478, startup/linkcmds.lpc2478_ncs,
|
||||
startup/linkcmds.lpc2478_ncs_ram: Removed files.
|
||||
* startup/linkcmds.lpc24xx_ea, startup/linkcmds.lpc24xx_ncs_ram,
|
||||
startup/linkcmds.lpc24xx_ncs_rom_ext,
|
||||
startup/linkcmds.lpc24xx_ncs_rom_int: New files.
|
||||
* Makefile.am, README, configure.ac, preinstall.am, misc/io.c,
|
||||
startup/linkcmds: Changes throughout.
|
||||
|
||||
2009-09-21 Thomas Doerfler <Thomas.Doerfler@embedded-brains.de>
|
||||
|
||||
* startup/bspstarthooks.c, misc/dma-copy.c, misc/timer.c: Add
|
||||
|
||||
@@ -56,9 +56,11 @@ libbspstart_a_SOURCES = ../shared/start/start.S
|
||||
project_lib_DATA = start.$(OBJEXT)
|
||||
|
||||
dist_project_lib_DATA += ../shared/startup/linkcmds.base \
|
||||
startup/linkcmds.lpc2478 \
|
||||
startup/linkcmds.lpc2478_ncs \
|
||||
startup/linkcmds.lpc2478_ncs_ram
|
||||
startup/linkcmds \
|
||||
startup/linkcmds.lpc24xx_ea \
|
||||
startup/linkcmds.lpc24xx_ncs_rom_int \
|
||||
startup/linkcmds.lpc24xx_ncs_rom_ext \
|
||||
startup/linkcmds.lpc24xx_ncs_ram
|
||||
|
||||
###############################################################################
|
||||
# LibBSP #
|
||||
|
||||
@@ -2,8 +2,6 @@
|
||||
# $Id$
|
||||
#
|
||||
|
||||
Note: A Binutils version with REGION_ALIAS feature is required to link the BSP.
|
||||
|
||||
Development Board: QVGA Base Board from Embedded Artists
|
||||
|
||||
http://www.embeddedartists.com/products/uclinux/oem_lpc2478.php
|
||||
@@ -13,7 +11,7 @@ Drivers:
|
||||
o Console
|
||||
o Clock
|
||||
o RTC
|
||||
o SSP (SPI mode): This driver is in active development. Use with care.
|
||||
o SSP (SPI mode)
|
||||
o Network
|
||||
o I2C
|
||||
|
||||
@@ -41,7 +39,7 @@ Howto setup QVGA Base Board?
|
||||
Application Board: NCS (Nurse Control Station)
|
||||
|
||||
Board: NextGenNCS
|
||||
Processor: NXP LPC2478
|
||||
Processor: NXP LPC2478 or LPC2470
|
||||
SDRAM: 8MByte, 16 bit wide
|
||||
Ext. Flash: 1MByte, 16 bit wide
|
||||
Console: UART, 115200 Baud
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
#
|
||||
# @file
|
||||
#
|
||||
# @ingroup mpc55xx_config
|
||||
#
|
||||
# @brief Configure script of LibBSP for the LPC247X boards.
|
||||
# @brief Configure script of LibBSP for the LPC24XX boards.
|
||||
#
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
@@ -35,16 +33,17 @@ RTEMS_BSPOPTS_HELP([LPC24XX_CCLK],[CPU clock in Hz])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_UART_BAUD],[*],[115200U])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_UART_BAUD],[baud for UARTs])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_HAS_UBOOT],[lpc2478],[1])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_HAS_UBOOT],[lpc2478_ncs_ram],[1])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_HAS_UBOOT],[enable U-Boot startup])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[lpc2478_ncs],[1])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[lpc2478_ncs_ram],[1])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_ETHERNET_RMII],[lpc24xx_ncs_*],[1])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_ETHERNET_RMII],[enable RMII for Ethernet])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_EMC_MICRON],[lpc2478_ncs],[1])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_MICRON],[use Micron configuration for EMC])
|
||||
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])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_EMC_TEST],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_EMC_TEST],[enable tests for EMC])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_CONSOLE],[*],[0])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_CONSOLE],[configuration for console (UART 0)])
|
||||
@@ -52,21 +51,24 @@ RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_CONSOLE],[configuration for console (UART 0)]
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_1],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_1],[configuration for UART 1])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_2],[*],[])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_2],[lpc24xx_ncs_*],[0])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_2],[configuration for UART 2])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_3],[*],[])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_UART_3],[lpc24xx_ncs_*],[0])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_UART_3],[configuration for UART 3])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_0],[lpc2478_ncs_ram],[0])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_0],[lpc24xx_ncs_*],[0])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_I2C_0],[configuration for I2C 0])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_1],[*],[])
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_1],[lpc24xx_ncs_*],[1])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_I2C_1],[configuration for I2C 1])
|
||||
|
||||
RTEMS_BSPOPTS_SET([LPC24XX_CONFIG_I2C_2],[*],[])
|
||||
RTEMS_BSPOPTS_HELP([LPC24XX_CONFIG_I2C_2],[configuration for I2C 2])
|
||||
|
||||
RTEMS_BSPOPTS_SET([BSP_START_RESET_VECTOR],[lpc24xx_ncs_rom_ext],[0x80000040])
|
||||
RTEMS_BSPOPTS_HELP([BSP_START_RESET_VECTOR],[reset vector address for BSP start])
|
||||
|
||||
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
|
||||
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
|
||||
@@ -60,13 +60,13 @@ typedef void (*lpc24xx_io_iterate_routine)(unsigned /* pin */, unsigned /* funct
|
||||
static const lpc24xx_io_entry lpc24xx_io_config_table [] = {
|
||||
/* UART */
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 0, 0, 0, 2, 0, 3, LPC24XX_IO_ALTERNATE_0),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 0, 0, 15, 0, 16, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 1, 2, 0, 2, 1, LPC24XX_IO_ALTERNATE_2),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 2, 3, 16, 3, 17, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 2, 0, 0, 10, 0, 11, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 0, 0, 15, 0, 16, LPC24XX_IO_ALTERNATE_0),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 1, 2, 0, 2, 1, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 1, 2, 3, 16, 3, 17, LPC24XX_IO_ALTERNATE_2),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 2, 0, 0, 10, 0, 11, LPC24XX_IO_ALTERNATE_0),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 2, 1, 2, 8, 2, 9, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 2, 2, 4, 22, 4, 23, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 3, 0, 0, 0, 0, 1, LPC24XX_IO_ALTERNATE_2),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 3, 0, 0, 0, 0, 1, LPC24XX_IO_ALTERNATE_1),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 3, 1, 0, 25, 0, 26, LPC24XX_IO_ALTERNATE_2),
|
||||
LPC24XX_IO_ENTRY(LPC24XX_MODULE_UART, 3, 2, 4, 28, 4, 29, LPC24XX_IO_ALTERNATE_2),
|
||||
|
||||
|
||||
@@ -125,15 +125,23 @@ $(PROJECT_LIB)/linkcmds.base: ../shared/startup/linkcmds.base $(PROJECT_LIB)/$(d
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.base
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.base
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.lpc2478: startup/linkcmds.lpc2478 $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc2478
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc2478
|
||||
$(PROJECT_LIB)/linkcmds: startup/linkcmds $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.lpc2478_ncs: startup/linkcmds.lpc2478_ncs $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc2478_ncs
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc2478_ncs
|
||||
$(PROJECT_LIB)/linkcmds.lpc24xx_ea: startup/linkcmds.lpc24xx_ea $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc24xx_ea
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc24xx_ea
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.lpc2478_ncs_ram: startup/linkcmds.lpc2478_ncs_ram $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc2478_ncs_ram
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc2478_ncs_ram
|
||||
$(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_int: startup/linkcmds.lpc24xx_ncs_rom_int $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_int
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_int
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_ext: startup/linkcmds.lpc24xx_ncs_rom_ext $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_ext
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_rom_ext
|
||||
|
||||
$(PROJECT_LIB)/linkcmds.lpc24xx_ncs_ram: startup/linkcmds.lpc24xx_ncs_ram $(PROJECT_LIB)/$(dirstamp)
|
||||
$(INSTALL_DATA) $< $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_ram
|
||||
PREINSTALL_FILES += $(PROJECT_LIB)/linkcmds.lpc24xx_ncs_ram
|
||||
|
||||
|
||||
@@ -1,34 +1,3 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* LPC2478 (QVGA Base Board from Embedded Artists).
|
||||
*/
|
||||
|
||||
/*
|
||||
* WARNING: This is likely not what you want. You need Binutils with the
|
||||
* REGION_ALIAS feature and the version in the comment below. This is only to
|
||||
* provide linkable tests.
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000
|
||||
REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000
|
||||
REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000
|
||||
REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000
|
||||
REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000
|
||||
REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000
|
||||
REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000
|
||||
REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000
|
||||
REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000
|
||||
REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000
|
||||
REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000
|
||||
REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000
|
||||
REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
MEMORY {
|
||||
RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
|
||||
RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M
|
||||
@@ -44,11 +13,9 @@ REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
*/
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* LPC2478 (QVGA Base Board from Embedded Artists).
|
||||
*/
|
||||
|
||||
/*
|
||||
* WARNING: This is likely not what you want. You need Binutils with the
|
||||
* REGION_ALIAS feature and the version in the comment below. This is only to
|
||||
* provide linkable tests.
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000
|
||||
REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000
|
||||
REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000
|
||||
REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000
|
||||
REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000
|
||||
REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000
|
||||
REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000
|
||||
REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000
|
||||
REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000
|
||||
REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000
|
||||
REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000
|
||||
REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000
|
||||
REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
MEMORY {
|
||||
RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
|
||||
RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 32M
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
REGION_ALIAS ("REGION_START", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
REGION_ALIAS ("REGION_TEXT", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
*/
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
@@ -1,56 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* LPC2478 (NCS, bootloader configuration).
|
||||
*/
|
||||
|
||||
/*
|
||||
* WARNING: This is likely not what you want. You need Binutils with the
|
||||
* REGION_ALIAS feature and the version in the comment below. This is only to
|
||||
* provide linkable tests.
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000
|
||||
REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000
|
||||
REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000
|
||||
REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000
|
||||
REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000
|
||||
REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000
|
||||
REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000
|
||||
REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000
|
||||
REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000
|
||||
REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000
|
||||
REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000
|
||||
REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000
|
||||
REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
MEMORY {
|
||||
RAM_VEC (AIW) : ORIGIN = 0x40000000, LENGTH = 32k
|
||||
RAM_INT (AIW) : ORIGIN = 0x40008000, LENGTH = 32k
|
||||
RAM_EXT (AIW) : ORIGIN = 0xa0c00000, LENGTH = 4M
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
REGION_ALIAS ("REGION_START", ROM_INT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_VEC);
|
||||
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", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
*/
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
@@ -1,55 +0,0 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* LPC2478 (NCS, code and data in external RAM).
|
||||
*/
|
||||
|
||||
/*
|
||||
* WARNING: This is likely not what you want. You need Binutils with the
|
||||
* REGION_ALIAS feature and the version in the comment below. This is only to
|
||||
* provide linkable tests.
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
REGION_START (AIW) : ORIGIN = 0x100000, LENGTH = 0x100000
|
||||
REGION_VECTOR (AIW) : ORIGIN = 0x200000, LENGTH = 0x100000
|
||||
REGION_TEXT (AIW) : ORIGIN = 0x300000, LENGTH = 0x100000
|
||||
REGION_TEXT_LOAD (AIW) : ORIGIN = 0x400000, LENGTH = 0x100000
|
||||
REGION_RODATA (AIW) : ORIGIN = 0x500000, LENGTH = 0x100000
|
||||
REGION_RODATA_LOAD (AIW) : ORIGIN = 0x600000, LENGTH = 0x100000
|
||||
REGION_DATA (AIW) : ORIGIN = 0x700000, LENGTH = 0x100000
|
||||
REGION_DATA_LOAD (AIW) : ORIGIN = 0x800000, LENGTH = 0x100000
|
||||
REGION_FAST (AIW) : ORIGIN = 0x900000, LENGTH = 0x100000
|
||||
REGION_FAST_LOAD (AIW) : ORIGIN = 0xa00000, LENGTH = 0x100000
|
||||
REGION_BSS (AIW) : ORIGIN = 0xb00000, LENGTH = 0x100000
|
||||
REGION_WORK (AIW) : ORIGIN = 0xc00000, LENGTH = 0x100000
|
||||
REGION_STACK (AIW) : ORIGIN = 0xd00000, LENGTH = 0x100000
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
MEMORY {
|
||||
RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
|
||||
RAM_EXT (AIW) : ORIGIN = 0xa0000000, LENGTH = 16M
|
||||
ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k - 8k
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
REGION_ALIAS ("REGION_START", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
REGION_ALIAS ("REGION_TEXT", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_INT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
*/
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
56
c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea
Normal file
56
c/src/lib/libbsp/arm/lpc24xx/startup/linkcmds.lpc24xx_ea
Normal file
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @ingroup lpc24xx_linker_ea
|
||||
*
|
||||
* @brief Memory map.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup lpc24xx_linker_ea QVGA Base Board Memory Map
|
||||
*
|
||||
* @ingroup bsp_linker
|
||||
*
|
||||
* @brief QVGA Base Board from Embedded Artists (LPC2478) 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>64k</td></tr>
|
||||
* <tr><td>RAM_EXT</td><td>0xa0000000</td><td>32M</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>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.vector</td><td>RAM_INT</td><td></td></tr>
|
||||
* <tr><td>.text</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.rodata</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.data</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.fast</td><td>RAM_INT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.work</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
|
||||
* </table>
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
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);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
REGION_ALIAS ("REGION_TEXT", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
@@ -0,0 +1,56 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @ingroup lpc24xx_linker_ncs_ram
|
||||
*
|
||||
* @brief Memory map.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup lpc24xx_linker_ncs_ram NCS Application Memory Map
|
||||
*
|
||||
* @ingroup bsp_linker
|
||||
*
|
||||
* @brief NCS application 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>64k</td></tr>
|
||||
* <tr><td>RAM_EXT</td><td>0xa0000000</td><td>8M</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>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.vector</td><td>RAM_INT</td><td></td></tr>
|
||||
* <tr><td>.text</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.rodata</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.data</td><td>RAM_EXT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.fast</td><td>RAM_INT</td><td>RAM_EXT</td></tr>
|
||||
* <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.work</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
|
||||
* </table>
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
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);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
REGION_ALIAS ("REGION_TEXT", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_TEXT_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @ingroup lpc24xx_linker_ncs_rom_ext
|
||||
*
|
||||
* @brief Memory map.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup lpc24xx_linker_ncs_rom_ext NCS Bootloader (LPC2470) Memory Map
|
||||
*
|
||||
* @ingroup bsp_linker
|
||||
*
|
||||
* @brief NCS bootloader (LPC2470) 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>64k</td></tr>
|
||||
* <tr><td>RAM_EXT</td><td>0xa0400000</td><td>4M</td></tr>
|
||||
* <tr><td>ROM_BOOT</td><td>0x81000000</td><td>16k</td></tr>
|
||||
* <tr><td>ROM_EXT</td><td>0x81010000</td><td>2M - 64k</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_BOOT</td><td>ROM_BOOT</td></tr>
|
||||
* <tr><td>.vector</td><td>RAM_INT</td><td></td></tr>
|
||||
* <tr><td>.text</td><td>RAM_EXT</td><td>ROM_EXT</td></tr>
|
||||
* <tr><td>.rodata</td><td>RAM_EXT</td><td>ROM_EXT</td></tr>
|
||||
* <tr><td>.data</td><td>RAM_EXT</td><td>ROM_EXT</td></tr>
|
||||
* <tr><td>.fast</td><td>RAM_INT</td><td>ROM_BOOT</td></tr>
|
||||
* <tr><td>.bss</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.work</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
|
||||
* </table>
|
||||
*/
|
||||
|
||||
MEMORY {
|
||||
RAM_INT (AIW) : ORIGIN = 0x40000000, LENGTH = 64k
|
||||
RAM_EXT (AIW) : ORIGIN = 0xa0400000, LENGTH = 4M
|
||||
ROM_BOOT (RX) : ORIGIN = 0x81000000, LENGTH = 16k
|
||||
ROM_EXT (RX) : ORIGIN = 0x81010000, LENGTH = 2M - 64k
|
||||
NIRVANA : ORIGIN = 0, LENGTH = 0
|
||||
}
|
||||
|
||||
REGION_ALIAS ("REGION_START", ROM_BOOT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_INT);
|
||||
REGION_ALIAS ("REGION_TEXT", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_TEXT_LOAD", ROM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_RODATA_LOAD", ROM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_DATA_LOAD", ROM_EXT);
|
||||
REGION_ALIAS ("REGION_FAST", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", ROM_BOOT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
@@ -0,0 +1,60 @@
|
||||
/**
|
||||
* @file
|
||||
*
|
||||
* @ingroup lpc24xx_linker_ncs_rom_int
|
||||
*
|
||||
* @brief Memory map.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @defgroup lpc24xx_linker_ncs_rom_int NCS Bootloader (LPC2478) Memory Map
|
||||
*
|
||||
* @ingroup bsp_linker
|
||||
*
|
||||
* @brief NCS bootloader (LPC2478) memory map.
|
||||
*
|
||||
* <table>
|
||||
* <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr>
|
||||
* <tr><td>RAM_VEC</td><td>0x40000000</td><td>32k</td></tr>
|
||||
* <tr><td>RAM_INT</td><td>0x40008000</td><td>32k</td></tr>
|
||||
* <tr><td>RAM_EXT</td><td>0xa0400000</td><td>4M</td></tr>
|
||||
* <tr><td>ROM_INT</td><td>0x00000000</td><td>512k - 8k</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>ROM_INT</td></tr>
|
||||
* <tr><td>.vector</td><td>RAM_VEC</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_EXT</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_EXT</td><td></td></tr>
|
||||
* <tr><td>.work</td><td>RAM_EXT</td><td></td></tr>
|
||||
* <tr><td>.stack</td><td>RAM_INT</td><td></td></tr>
|
||||
*/
|
||||
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
REGION_ALIAS ("REGION_START", ROM_INT);
|
||||
REGION_ALIAS ("REGION_VECTOR", RAM_VEC);
|
||||
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", RAM_INT);
|
||||
REGION_ALIAS ("REGION_FAST_LOAD", ROM_INT);
|
||||
REGION_ALIAS ("REGION_BSS", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_WORK", RAM_EXT);
|
||||
REGION_ALIAS ("REGION_STACK", RAM_INT);
|
||||
|
||||
INCLUDE linkcmds.base
|
||||
Reference in New Issue
Block a user