This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: EABI on bare metal.


On Wed, Mar 25, 2009 at 7:52 PM, Khem Raj <raj.khem@gmail.com> wrote:
> On Wednesday 25 March 2009 11:32:34 Thomas Charron wrote:
>> ? I was previously generating stuff using arm-unknown-eabi. ?As an
>> experiment, I tried using arm-unknown-elf, disabling EABI in menuconf.
> what is the content of 2129_demo.cmd ?

  Included here:

==================================

ENTRY(_startup)

/* specify the LPC2129 memory areas  */

MEMORY
{
	flash     			: ORIGIN = 0,          LENGTH = 256K	/* FLASH ROM
                    	*/
	ram_isp_low(A)		: ORIGIN = 0x40000120, LENGTH = 223		/* variables
used by Philips ISP bootloader	*/
	ram   				: ORIGIN = 0x40000200, LENGTH = 15840	/* free RAM area							*/
	ram_isp_high(A)		: ORIGIN = 0x40003FE0, LENGTH = 32		/* variables
used by Philips ISP bootloader	*/
}

/* define a global symbol _stack_end  */

_stack_end = 0x40003EDC;

/* now define the output sections  */

SECTIONS
{
	. = 0;								/* set location counter to address zero  */
	
	startup : { *(.startup)} >flash		/* the startup code goes into FLASH */
	
	.text :								/* collect all sections that should go into FLASH
after startup  */
	{
		*(.text)						/* all .text sections (code)  */
		*(.rodata)						/* all .rodata sections (constants, strings, etc.)  */
		*(.rodata*)						/* all .rodata* sections (constants, strings, etc.)  */
		*(.glue_7)						/* all .glue_7 sections  (no idea what these are) */
		*(.glue_7t)						/* all .glue_7t sections (no idea what these are) */
		_etext = .;						/* define a global symbol _etext just after the
last code byte */
	} >flash							/* put all the above into FLASH */

	.data :								/* collect all initialized .data sections that go into RAM  */
	{
		_data = .;						/* create a global symbol marking the start of the
.data section  */
		*(.data)						/* all .data sections  */
		_edata = .;						/* define a global symbol marking the end of the
.data section  */
	} >ram AT >flash					/* put all the above into RAM (but load the LMA
copy into FLASH) */

	.bss :								/* collect all uninitialized .bss sections that go into RAM  */
	{
		_bss_start = .;					/* define a global symbol marking the start of
the .bss section */
		*(.bss)							/* all .bss sections  */
	} >ram								/* put all the above in RAM (it will be cleared in the
startup code */

	. = ALIGN(4);						/* advance location counter to the next 32-bit boundary */
	_bss_end = . ;						/* define a global symbol marking the end of the
.bss section */
}
	_end = .;							/* define a global symbol marking the end of application RAM */
	



-- 
-- Thomas

--
For unsubscribe information see http://sourceware.org/lists.html#faq


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]