⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lpc2129-rom.ld

📁 picoos源码。The RTOS and the TCP/IP stack will be built automatically.
💻 LD
字号:
/*
 * Copyright 2003/12/30 Aeolus Development
 * Modified for pico]OS by Ari Suutari.
 *   Modifications copyright 2006 Ari Suutari, ari@suutari.iki.fi
 *
 * Freely modifiable and redistributable.  Modify to suit your own needs
 * Please remove Aeolus Development copyright for any significant
 * modifications or add explanatory notes to explain the mods and
 * list authour(s).
 *
 * THIS SOFTWARE IS PROVIDED BY THE AEOULUS DEVELOPMENT "AS IS" AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AEOLUS DEVELOPMENT BE
 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * Memory layout for processor. If you change ram LENGTH remember
 * to change __ram_size also.
 */

MEMORY {

  flash	: ORIGIN = 0, LENGTH = 120K
  ram	: ORIGIN = 0x40000000, LENGTH = 16K
}

__ramSize	= 16K;

/* 
 * Stack sizes. Shoud normally be ok, since tasks
 * have their own stacks.
 */

__stackSizeUND	= 0x4;
__stackSizeABT	= 0x4;
__stackSizeFIQ	= 0x4;
__stackSizeIRQ	= 0x400;
__stackSizeSVC	= 0x400;
__stackSizeSYS	= 0x400;

/*
 * Calculate initial stack pointers.
 */

__stackInitialUND = 0x40000000 + __ramSize - 4;
__stackInitialABT = __stackInitialUND - __stackSizeUND;
__stackInitialFIQ = __stackInitialABT - __stackSizeABT;
__stackInitialIRQ = __stackInitialFIQ - __stackSizeFIQ;
__stackInitialSVC = __stackInitialIRQ - __stackSizeIRQ;
__stackInitialSYS = __stackInitialSVC - __stackSizeSVC;

/*
 * Add "start" as external symbol to force linker to load
 * startup code from pico]OS library.
 */

EXTERN(start);

SECTIONS {
  . = 0;				/*  Start at address 0.		*/

/*
 * Place startup code first.
 */

  startup : { *(.startup)} >flash
/*
 * The program (.text) sections and constant data.
 */

  prog : {
  	*(.text)
	*(.rodata)
	*(.rodata*)
	*(.glue_7)
	*(.glue_7t)
 	} >flash
  __end_of_text__ = .;			/*  Used by startup to find 	*/
					/* initialized vars.		*/

/*
 * Initialized data, located in ram but a copy is placed
 * in flash so it can be used to init the ram on startup.
 */

  .data : { 
	__data_beg__ = .;			/* Used by startup.	*/
	__data_beg_src__ = __end_of_text__;	/* Used by startup.	*/
 	*(.data)
	__data_end__ = .;			/* Used by startup.	*/
 	} >ram AT>flash

/*
 * Unitialized data, located in ram, no copy in flash needed
 * since startup will zero associated area in RAM.
 */

  .bss : { 
	__bss_beg__ = .;	/*  Used by startup to find start of	*/
				/* unitialized variables.		*/
 	*(.bss)
 	} >ram

/*
 * Align here to ensure that the .bss section occupies space up to
 * _end.  Align after .bss to ensure correct alignment even if the
 * .bss section disappears because there are no input sections.
 */

   . = ALIGN(32 / 8);
  }

. = ALIGN(32 / 8);

/*
 * Used by startup to find end of unitialized variables.
 */

_end = .;
_bss_end__ = . ; __bss_end__ = . ; __end__ = . ;	
PROVIDE (end = .);

⌨️ 快捷键说明

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