From 99648958668d3a33ee57974479b36201fe303f34 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 20 Apr 2018 10:35:35 +0200 Subject: bsps: Move startup files to bsps Adjust build support files to new directory layout. This patch is a part of the BSP source reorganization. Update #3285. --- c/src/lib/libbsp/m68k/mcf5235/Makefile.am | 16 +- c/src/lib/libbsp/m68k/mcf5235/startup/bsp_specs | 10 - .../m68k/mcf5235/startup/bspgetcpuclockspeed.c | 17 -- c/src/lib/libbsp/m68k/mcf5235/startup/bspstart.c | 60 ------ .../lib/libbsp/m68k/mcf5235/startup/copyvectors.c | 19 -- c/src/lib/libbsp/m68k/mcf5235/startup/init5235.c | 89 --------- c/src/lib/libbsp/m68k/mcf5235/startup/linkcmds | 203 -------------------- .../lib/libbsp/m68k/mcf5235/startup/linkcmdsflash | 208 --------------------- c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram | 203 -------------------- 9 files changed, 8 insertions(+), 817 deletions(-) delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/bsp_specs delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/bspgetcpuclockspeed.c delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/bspstart.c delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/copyvectors.c delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/init5235.c delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/linkcmds delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsflash delete mode 100644 c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram (limited to 'c/src/lib/libbsp/m68k/mcf5235') diff --git a/c/src/lib/libbsp/m68k/mcf5235/Makefile.am b/c/src/lib/libbsp/m68k/mcf5235/Makefile.am index 1aef14289e..a243dbe0fb 100644 --- a/c/src/lib/libbsp/m68k/mcf5235/Makefile.am +++ b/c/src/lib/libbsp/m68k/mcf5235/Makefile.am @@ -3,7 +3,7 @@ ACLOCAL_AMFLAGS = -I ../../../../aclocal include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -dist_project_lib_DATA = startup/bsp_specs +dist_project_lib_DATA = ../../../../../../bsps/m68k/mcf5235/start/bsp_specs noinst_PROGRAMS = @@ -12,9 +12,9 @@ start.$(OBJEXT): ../../../../../../bsps/m68k/mcf5235/start/start.S project_lib_DATA = start.$(OBJEXT) project_lib_DATA += linkcmds -dist_project_lib_DATA += startup/linkcmds -dist_project_lib_DATA += startup/linkcmdsflash -dist_project_lib_DATA += startup/linkcmdsram +dist_project_lib_DATA += ../../../../../../bsps/m68k/mcf5235/start/linkcmds +dist_project_lib_DATA += ../../../../../../bsps/m68k/mcf5235/start/linkcmdsflash +dist_project_lib_DATA += ../../../../../../bsps/m68k/mcf5235/start/linkcmdsram project_lib_LIBRARIES = librtemsbsp.a librtemsbsp_a_SOURCES = @@ -22,14 +22,14 @@ librtemsbsp_a_SOURCES = # startup librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspfatal-default.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspreset-loop.c -librtemsbsp_a_SOURCES += startup/bspgetcpuclockspeed.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mcf5235/start/bspgetcpuclockspeed.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/bspgetworkarea-default.c -librtemsbsp_a_SOURCES += startup/init5235.c -librtemsbsp_a_SOURCES += startup/bspstart.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mcf5235/start/init5235.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mcf5235/start/bspstart.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/setvec.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/getentropy/getentropy-cpucounter.c -librtemsbsp_a_SOURCES += startup/copyvectors.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/m68k/mcf5235/start/copyvectors.c # clock librtemsbsp_a_SOURCES +=../../../../../../bsps/m68k/mcf5235/clock/clock.c # console diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/bsp_specs b/c/src/lib/libbsp/m68k/mcf5235/startup/bsp_specs deleted file mode 100644 index 3a20757667..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/bsp_specs +++ /dev/null @@ -1,10 +0,0 @@ -%rename endfile old_endfile -%rename startfile old_startfile - -*startfile: -%{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}} - -*endfile: -%{!qrtems: %(old_endfile)} %{qrtems: crtend.o%s crtn.o%s} - diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/bspgetcpuclockspeed.c b/c/src/lib/libbsp/m68k/mcf5235/startup/bspgetcpuclockspeed.c deleted file mode 100644 index 548caaa9b8..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/bspgetcpuclockspeed.c +++ /dev/null @@ -1,17 +0,0 @@ -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include - -extern char _CPUClockSpeed[]; - -uint32_t get_CPU_clock_speed(void) -{ - return( (uint32_t)_CPUClockSpeed); -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/bspstart.c b/c/src/lib/libbsp/m68k/mcf5235/startup/bspstart.c deleted file mode 100644 index 744d4c9142..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/bspstart.c +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This routine does the bulk of the system initialization. - */ - -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -#include -#include - -/* - * Read/write copy of common cache - * Split I/D cache - * Allow CPUSHL to invalidate a cache line - * Enable buffered writes - * No burst transfers on non-cacheable accesses - * Default cache mode is *disabled* (cache only ACRx areas) - */ -uint32_t cacr_mode = MCF5XXX_CACR_CENB | MCF5XXX_CACR_DBWE | MCF5XXX_CACR_DCM; - -/* - * Cacheable areas - */ -extern char RamBase[]; -extern char RamSize[]; - -/* - * bsp_start - * - * This routine does the bulk of the system initialisation. - */ -void bsp_start( void ) -{ - /* - * Invalidate the cache and disable it - */ - m68k_set_acr0(0); - m68k_set_acr1(0); - m68k_set_cacr(MCF5XXX_CACR_CINV); - - /* - * Cache SDRAM - */ - m68k_set_acr0(MCF5XXX_ACR_AB((uintptr_t)RamBase) | - MCF5XXX_ACR_AM((uintptr_t)RamSize-1) | - MCF5XXX_ACR_EN | - MCF5XXX_ACR_BWE | - MCF5XXX_ACR_SM_IGNORE); - - /* - * Enable the cache - */ - m68k_set_cacr(cacr_mode); -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/copyvectors.c b/c/src/lib/libbsp/m68k/mcf5235/startup/copyvectors.c deleted file mode 100644 index 2c54c31a44..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/copyvectors.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - * Move the copy out of the Init5235 file because gcc is broken. - */ - -#include - -void CopyVectors(const uint32_t* old, uint32_t* new); - -void CopyVectors(const uint32_t* old, uint32_t* new) -{ - int v = 0; - while (v < 256) - { - *new = *old; - ++v; - ++new; - ++old; - } -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/init5235.c b/c/src/lib/libbsp/m68k/mcf5235/startup/init5235.c deleted file mode 100644 index 5066941be0..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/init5235.c +++ /dev/null @@ -1,89 +0,0 @@ -/* - * This is where the real hardware setup is done. A minimal stack - * has been provided by the start.S code. No normal C or RTEMS - * functions can be called from here. - * - * This routine is pretty simple for the uC5235 because all the hard - * work has been done by the bootstrap dBUG code. - */ - -#include -#include - -#define MM_SDRAM_BASE (0x00000000) - -/* - * MCF5235_BSP_START_FROM_FLASH comes from the linker script - * If it is set to 0 then it is assumed that the motorola debug monitor - * is present and we do not need to re-initialize the SDRAM. Otherwise, - * if it is set to 1 then we want to boot our own code from flash and we - * do need to initialize the SDRAM. - */ - -extern uint32_t MCF5235_BSP_START_FROM_FLASH; -extern void CopyDataClearBSSAndStart (void); -extern void INTERRUPT_VECTOR(void); - -extern void CopyVectors(const uint32_t* old, uint32_t* new); - -void Init5235 (void) -{ - int x; - volatile int temp = 0; - int *address_of_MCF5235_BSP_START_FROM_FLASH; - - /*Setup the GPIO Registers */ - MCF5235_GPIO_UART=0x3FFF; - MCF5235_GPIO_PAR_AD=0xE1; - - /*Setup the Chip Selects so CS0 is flash */ - MCF5235_CS_CSAR0 =(0xFFE00000 & 0xffff0000)>>16; - MCF5235_CS_CSMR0 = 0x001f0001; - MCF5235_CS_CSCR0 = 0x1980; - - address_of_MCF5235_BSP_START_FROM_FLASH = (int *) & MCF5235_BSP_START_FROM_FLASH; - if ( (int)address_of_MCF5235_BSP_START_FROM_FLASH == 1) { - /*Setup the SDRAM */ - for(x=0; x<20000; x++) - { - temp +=1; - } - MCF5235_SDRAMC_DCR = 0x042E; - MCF5235_SDRAMC_DACR0 = 0x00001300; - MCF5235_SDRAMC_DMR0 = (0x00FC0000) | (0x00000001); - for(x=0; x<20000; x++) - { - temp +=1; - } - /* set ip ( bit 3 ) in dacr */ - MCF5235_SDRAMC_DACR0 |= (0x00000008) ; - /* init precharge */ - *((unsigned long *)MM_SDRAM_BASE) = 0xDEADBEEF; - /* set RE in dacr */ - MCF5235_SDRAMC_DACR0 |= (0x00008000); - /* wait */ - for(x=0; x<20000; x++) - { - temp +=1; - } - /* issue IMRS */ - MCF5235_SDRAMC_DACR0 |= (0x00000040); - *((short *)MM_SDRAM_BASE) = 0; - for(x=0; x<60000; x++) - { - temp +=1; - } - *((unsigned long*)MM_SDRAM_BASE)=0x12345678; - } /* we have finished setting up the sdram */ - - /* Copy the interrupt vector table to address 0x0 in SDRAM */ - CopyVectors((const uint32_t *)&INTERRUPT_VECTOR, (uint32_t*)0); - - m68k_set_vbr(0); - - /* - * Copy data, clear BSS and call boot_card() - */ - CopyDataClearBSSAndStart (); - -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmds b/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmds deleted file mode 100644 index 660c931e26..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmds +++ /dev/null @@ -1,203 +0,0 @@ -/* - * This file contains directives for the GNU linker which are specific - * to the Freescale ColdFire mcf5235 - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -/* - * declare for the MCF5235_BSP_START_FROM_FLASH - * 0 - use debug monitor to load to ram - * 1 - load everything from flash from scratch - */ -MCF5235_BSP_START_FROM_FLASH = 0; - -/* - * Declare some sizes. - */ -RamBase = DEFINED(RamBase) ? RamBase : 0x0; -RamSize = DEFINED(RamSize) ? RamSize : 16M; -HeapSize = DEFINED(HeapSize) ? HeapSize : 0; - - -/* - * System clock speed - */ -_CPUClockSpeed = DEFINED(_CPUClockSpeed) ? _CPUClockSpeed : 150000000 ; - -/* - * Location of on-chip devices - */ -__IPSBAR = DEFINED(__IPSBAR) ? __IPSBAR : 0x40000000 ; -__SRAMBASE = DEFINED(__SRAMBASE) ? __SRAMBASE : 0x20000000 ; -_VBR = 0x0; - -ENTRY(start) -STARTUP(start.o) - -MEMORY -{ - dram : ORIGIN = 0, LENGTH = 16M - sram : ORIGIN = 0x20000000, LENGTH = 64K - flash : ORIGIN = 0xFFE00000, LENGTH = 2M -} - -SECTIONS -{ - - _header_offset = 0; - - /* - * Text, data and bss segments - */ - .text 0x40000 : { - - *(.text*) - *(.ram_code) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - KEEP (*(SORT(.rtemsroset.*))) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - - *(.console_gdb_xfer) - *(.bootstrap_data) - . = ALIGN(16); - _estuff = .; - PROVIDE (_etext = .); - } > dram - - .tdata : { - _TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - _TLS_Data_end = .; - } > dram - - .tbss : { - _TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - _TLS_BSS_end = .; - } > dram - - _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; - _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin; - _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin; - _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; - _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; - _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss)); - - .data : { - PROVIDE( _data_dest_start = . ); - PROVIDE( _copy_start = .); - *(.data*) - KEEP (*(SORT(.rtemsrwset.*))) - *(.gnu.linkonce.d*) - *(.gcc_except_table*) - *(.jcr) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - PROVIDE (_data_dest_end = . ); - } > dram - - _data_src_start = _estuff; - _data_src_end = _data_dest_start + SIZEOF(.data); - - .bss : { - _clear_start = .; - *(.bss*) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - _clear_end = .; - - WorkAreaBase = .; - } > dram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - -PROVIDE (end_of_all = .); -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsflash b/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsflash deleted file mode 100644 index 832424a2d9..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsflash +++ /dev/null @@ -1,208 +0,0 @@ -/* - * This file contains directives for the GNU linker which are specific - * to the Freescale ColdFire mcf5235 - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -/* - * declare for the MCF5235_BSP_START_FROM_FLASH - * 0 - use debug monitor to load to ram - * 1 - load everything from flash from scratch - */ -MCF5235_BSP_START_FROM_FLASH = 1; - -/* - * Declare some sizes. - */ -RamBase = DEFINED(RamBase) ? RamBase : 0x0; -RamSize = DEFINED(RamSize) ? RamSize : 16M; -HeapSize = DEFINED(HeapSize) ? HeapSize : 0; - - -/* - * System clock speed - */ -_CPUClockSpeed = DEFINED(_CPUClockSpeed) ? _CPUClockSpeed : 150000000 ; - -/* - * Location of on-chip devices - */ -__IPSBAR = DEFINED(__IPSBAR) ? __IPSBAR : 0x40000000 ; -__SRAMBASE = DEFINED(__SRAMBASE) ? __SRAMBASE : 0x20000000 ; -_VBR = 0x0; - -ENTRY(start) -STARTUP(start.o) - -/* - * NOTE: If loading to flash with dBUG remember to change the origin to 0xFFF00000 because that's where user flash is - * located. - */ -MEMORY -{ - ram : ORIGIN = 0, LENGTH = 16M - sram : ORIGIN = 0x20000000, LENGTH = 64K - flash : ORIGIN = 0xFFE00000, LENGTH = 2M -} - -SECTIONS -{ - - _header_offset = 0; - - /* - * Text, data and bss segments - */ - .text : { - - *(.text*) - *(.ram_code) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - KEEP (*(SORT(.rtemsroset.*))) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - - *(.console_gdb_xfer) - *(.bootstrap_data) - . = ALIGN(16); - _estuff = .; - PROVIDE (_etext = .); - } >flash - - .tdata : { - _TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - _TLS_Data_end = .; - } >flash - - .tbss : { - _TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - _TLS_BSS_end = .; - } >flash - - _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; - _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin; - _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin; - _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; - _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; - _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss)); - - .data 0x4000 : AT ( ADDR(.tdata) + SIZEOF ( .tdata ) ) - { - PROVIDE( _data_dest_start = . ); - PROVIDE( _copy_start = .); - *(.data) - KEEP (*(SORT(.rtemsrwset.*))) - *(.gnu.linkonce.d*) - *(.gcc_except_table*) - *(.jcr) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - PROVIDE (_data_dest_end = . ); - } >ram - - _data_src_start = _estuff; - _data_src_end = _data_dest_start + SIZEOF(.data); - - .bss : { - _clear_start = .; - *(.bss*) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - _clear_end = .; - - WorkAreaBase = .; - } >ram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - -PROVIDE (end_of_all = .); -} diff --git a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram b/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram deleted file mode 100644 index ec7483001e..0000000000 --- a/c/src/lib/libbsp/m68k/mcf5235/startup/linkcmdsram +++ /dev/null @@ -1,203 +0,0 @@ -/* - * This file contains directives for the GNU linker which are specific - * to the Freescale ColdFire mcf5235 - * - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may be - * found in the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - -/* - * declare for the MCF5235_BSP_START_FROM_FLASH - * 0 - use debug monitor to load to ram - * 1 - load everything from flash from scratch - */ -MCF5235_BSP_START_FROM_FLASH = 0; - -/* - * Declare some sizes. - */ -RamBase = DEFINED(RamBase) ? RamBase : 0x0; -RamSize = DEFINED(RamSize) ? RamSize : 16M; -HeapSize = DEFINED(HeapSize) ? HeapSize : 0; - - -/* - * System clock speed - */ -_CPUClockSpeed = DEFINED(_CPUClockSpeed) ? _CPUClockSpeed : 150000000 ; - -/* - * Location of on-chip devices - */ -__IPSBAR = DEFINED(__IPSBAR) ? __IPSBAR : 0x40000000 ; -__SRAMBASE = DEFINED(__SRAMBASE) ? __SRAMBASE : 0x20000000 ; -_VBR = 0x0; - -ENTRY(start) -STARTUP(start.o) - -MEMORY -{ - ram : ORIGIN = 0, LENGTH = 16M - sram : ORIGIN = 0x20000000, LENGTH = 64K - flash : ORIGIN = 0xFFE00000, LENGTH = 2M -} - -SECTIONS -{ - - _header_offset = 0; - - /* - * Text, data and bss segments - */ - .text 0x40000 : { - - *(.text*) - *(.ram_code) - - /* - * C++ constructors/destructors - */ - *(.gnu.linkonce.t.*) - - /* - * Initialization and finalization code. - * - * Various files can provide initialization and finalization - * functions. crtbegin.o and crtend.o are two instances. The - * body of these functions are in .init and .fini sections. We - * accumulate the bodies here, and prepend function prologues - * from crti.o and function epilogues from crtn.o. crti.o must - * be linked first; crtn.o must be linked last. Because these - * are wildcards, it doesn't matter if the user does not - * actually link against crti.o and crtn.o; the linker won't - * look for a file to match a wildcard. The wildcard also - * means that it doesn't matter which directory crti.o and - * crtn.o are in. - */ - PROVIDE (_init = .); - *crti.o(.init) - *(.init) - *crtn.o(.init) - PROVIDE (_fini = .); - *crti.o(.fini) - *(.fini) - *crtn.o(.fini) - - /* - * Special FreeBSD sysctl sections. - */ - . = ALIGN (16); - __start_set_sysctl_set = .; - *(set_sysctl_*); - __stop_set_sysctl_set = ABSOLUTE(.); - *(set_domain_*); - *(set_pseudo_*); - - - /* - * C++ constructors/destructors - * - * gcc uses crtbegin.o to find the start of the constructors - * and destructors so we make sure it is first. Because this - * is a wildcard, it doesn't matter if the user does not - * actually link against crtbegin.o; the linker won't look for - * a file to match a wildcard. The wildcard also means that - * it doesn't matter which directory crtbegin.o is in. The - * constructor and destructor list are terminated in - * crtend.o. The same comments apply to it. - */ - . = ALIGN (16); - *crtbegin.o(.ctors) - *(.ctors) - *crtend.o(.ctors) - *crtbegin.o(.dtors) - *(.dtors) - *crtend.o(.dtors) - - /* - * Exception frame info - */ - . = ALIGN (16); - *(.eh_frame) - - /* - * Read-only data - */ - . = ALIGN (16); - _rodata_start = . ; - *(.rodata*) - KEEP (*(SORT(.rtemsroset.*))) - *(.gnu.linkonce.r*) - - . = ALIGN (16); - - *(.console_gdb_xfer) - *(.bootstrap_data) - . = ALIGN(16); - _estuff = .; - PROVIDE (_etext = .); - } >ram - - .tdata : { - _TLS_Data_begin = .; - *(.tdata .tdata.* .gnu.linkonce.td.*) - _TLS_Data_end = .; - } >ram - - .tbss : { - _TLS_BSS_begin = .; - *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon) - _TLS_BSS_end = .; - } >ram - - _TLS_Data_size = _TLS_Data_end - _TLS_Data_begin; - _TLS_Data_begin = _TLS_Data_size != 0 ? _TLS_Data_begin : _TLS_BSS_begin; - _TLS_Data_end = _TLS_Data_size != 0 ? _TLS_Data_end : _TLS_BSS_begin; - _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin; - _TLS_Size = _TLS_BSS_end - _TLS_Data_begin; - _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss)); - - .data : { - PROVIDE( _data_dest_start = . ); - PROVIDE( _copy_start = .); - *(.data) - KEEP (*(SORT(.rtemsrwset.*))) - *(.gnu.linkonce.d*) - *(.gcc_except_table*) - *(.jcr) - . = ALIGN (16); - PROVIDE (_edata = .); - PROVIDE (_copy_end = .); - PROVIDE (_data_dest_end = . ); - } >ram - - _data_src_start = _estuff; - _data_src_end = _data_dest_start + SIZEOF(.data); - - .bss : { - _clear_start = .; - *(.bss*) - *(COMMON) - . = ALIGN (16); - PROVIDE (end = .); - _clear_end = .; - - WorkAreaBase = .; - } >ram - /* Stabs debugging sections. */ - .stab 0 : { *(.stab) } - .stabstr 0 : { *(.stabstr) } - .stab.excl 0 : { *(.stab.excl) } - .stab.exclstr 0 : { *(.stab.exclstr) } - .stab.index 0 : { *(.stab.index) } - .stab.indexstr 0 : { *(.stab.indexstr) } - .comment 0 : { *(.comment) } - -PROVIDE (end_of_all = .); -} -- cgit v1.2.3