linkcmds.prom

来自「RTEMS (Real-Time Executive for Multiproc」· PROM 代码 · 共 150 行

PROM
150
字号
/* * This file contains GNU linker directives for a generic MC68360 board. * Variations in memory size and allocation can be made by * overriding some values with linker command-line arguments. * * These linker directives are for producing a PROM version. * The data segment is placed at the end of the text segment in the PROM. * The start-up code takes care of copying this region to RAM. * * Saskatchewan Accelerator Laboratory * University of Saskatchewan * Saskatoon, Saskatchewan, CANADA * eric@skatter.usask.ca *  *  $Id: linkcmds.prom,v 1.15 2003/01/20 20:19:45 joel Exp $ *//* * Declare some sizes. * A heap size of 0 means `use all available memory for the heap'. */_RamBase = DEFINED(_RamBase) ? _RamBase : 0x0;_RamSize = DEFINED(_RamSize) ? _RamSize : 64M;_HeapSize = DEFINED(_HeapSize) ? _HeapSize : 0x0;_StackSize = DEFINED(_StackSize) ? _StackSize : 0x1000;/* * Declare on-board memory. */MEMORY {          ram : ORIGIN = 0x00000000, LENGTH = 64M          rom : ORIGIN = 0x0F000000, LENGTH = 1M        dpram : ORIGIN = 0x0E000000, LENGTH = 8k}/* * Load objects */SECTIONS {        /*         * Boot PROM         */        rom : {                _RomBase = .;        } >rom        /*         * Dynamic RAM         */        ram : {                _RamBase = .;        } >ram        /*         * Text, data and bss segments         */        .text : AT(0x0) {                *(.text)		/*		 * C++ constructors/destructors		 */		*(.gnu.linkonce.t.*)		/*		 * Initialization and finalization code.		 */		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		 */		. = 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*)		*(.gnu.linkonce.r*)                 . = ALIGN (16);                PROVIDE (etext = .);        } >rom        .data : AT(SIZEOF(.text)) {                _copy_start = .;                *(.data)		*(.gnu.linkonce.d*)		*(.jcr)		*(.gcc_except_table)                . = ALIGN (16);                PROVIDE (edata = .);                _copy_end = .;        } >ram        .bss : {                M68Kvec = .;                . += (256 * 4);                _clear_start = .;                *(.bss)                *(COMMON)                . = ALIGN (16);                PROVIDE (end = .);                . += _StackSize;                . = ALIGN (16);                _stack_init = .;                _clear_end = .;                _WorkspaceBase = .;        } >ram        /*         * On-chip memory/peripherals         */        dpram : {                m360 = .;                . += (8 * 1024);        } >dpram}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?