Hi, attached the patch for: - Adding "eth" linker script section for arm bsp. - Adding new linker comands for LPC176x bsp that includes eth section.
This patch is useful useful when working with DMA devices, so we can put "ethernet memory" in specific locations. Regards -- [image: http://www.tallertechnologies.com] <http://www.tallertechnologies.com> Casares, Federico Sr. Software Engineer Taller Technologies Argentina San Lorenzo 47, 3rd Floor, Office 5 Córdoba, Argentina
From 6c1f50a00a43cb9128441195508f5a0563907440 Mon Sep 17 00:00:00 2001 From: Federico Casares <federico.casa...@tallertechnologies.com> Date: Wed, 27 Aug 2014 10:12:30 -0300 Subject: [PATCH] Adding "eth" linker script section for arm bsp. Adding new linker comands for LPC176x bsp that includes eth section. --- c/src/lib/libbsp/arm/lpc176x/Makefile.am | 1 + .../startup/linkcmds.lpc1768_mbed_ahb_ram_eth | 30 ++++++++++++++++++++++ c/src/lib/libbsp/arm/shared/startup/linkcmds.base | 7 +++++ 3 files changed, 38 insertions(+) create mode 100644 c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth diff --git a/c/src/lib/libbsp/arm/lpc176x/Makefile.am b/c/src/lib/libbsp/arm/lpc176x/Makefile.am index 3a1d4b2..36711a6 100644 --- a/c/src/lib/libbsp/arm/lpc176x/Makefile.am +++ b/c/src/lib/libbsp/arm/lpc176x/Makefile.am @@ -69,6 +69,7 @@ project_lib_DATA += startup/linkcmds EXTRA_DIST = EXTRA_DIST += startup/linkcmds.lpc1768_mbed EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram +EXTRA_DIST += startup/linkcmds.lpc1768_mbed_ahb_ram_eth # ---------------------------- diff --git a/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth b/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth new file mode 100644 index 0000000..5ea4c70 --- /dev/null +++ b/c/src/lib/libbsp/arm/lpc176x/startup/linkcmds.lpc1768_mbed_ahb_ram_eth @@ -0,0 +1,30 @@ +/* LPC1768 OEM Board from Embedded Artists */ + +MEMORY { + ROM_INT (RX) : ORIGIN = 0x00000000, LENGTH = 512k + RAM_INT (AIW) : ORIGIN = 0x10000000, LENGTH = 32k + RAM_AHB1 (AIW) : ORIGIN = 0x2007C000, LENGTH = 16k + RAM_AHB2 (AIW) : ORIGIN = 0x20080000, LENGTH = 16k +} + +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_INT); +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_AHB1); +REGION_ALIAS ("REGION_WORK", RAM_INT); +REGION_ALIAS ("REGION_STACK", RAM_INT); +REGION_ALIAS ("REGION_ETH", RAM_AHB2); + +bsp_stack_main_size = DEFINED (bsp_stack_main_size) ? bsp_stack_main_size : 1024; +bsp_stack_main_size = ALIGN (bsp_stack_main_size, bsp_stack_align); + +INCLUDE linkcmds.armv7m diff --git a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base index 04f3308..c03cbca 100644 --- a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base @@ -397,6 +397,13 @@ SECTIONS { } > REGION_STACK AT > REGION_STACK bsp_section_stack_size = bsp_section_stack_end - bsp_section_stack_begin; + .eth (NOLOAD) : ALIGN_WITH_INPUT { + bsp_section_eth_begin = .; + *(.eth) + bsp_section_eth_end = .; + } > REGION_ETH AT > REGION_ETH + bsp_section_eth_size = bsp_section_eth_end - bsp_section_eth_begin; + /* FIXME */ RamBase = ORIGIN (REGION_WORK); RamSize = LENGTH (REGION_WORK); -- 1.9.1
_______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel