This is the mail archive of the crossgcc@sources.redhat.com 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]

startup embedded target


Hello everybody,

I've been making a led-test program for my 68040 target.
Everything compiles fine (both the making of the cross-compiler and the test
program).

However, the linker-script i'm making has a few problems. (caused by me no
doubt.)

I got a flash rom and some ram in my board.
The first 4 bytes of the flash should be the stack-pointer (0x0B40000), the
following 4 bytes should be the start address of my program ('main', which
should be at 0x400).

I have been looking at the info-pages of the 'ld', but i don't really know
how to force those constants at 0x0 and 0x4.

This might be somewhat a newbie question, but i'm kind of stuck to be
honest.
I will include my linker script with which i'm toying at the moment.

----8<--------

OUTPUT_ARCH(m68k)   /* Specify the output machine architecture to be m68k.
*/
OUTPUT_FORMAT(ieee) /* Output format. Should be srec (S-records).*/
                    /* Same as the --oformat command-line option.       */

PROVIDE (__stack = 0x0B40000);

ENTRY(main);

MEMORY
{
  /* Flash; Read-only, execute     */
  rom1 (rx): ORIGIN = 0x0,         LENGTH = 512K
  /* Internal SRAM; RW, no execute */
  ramcode (rwx): ORIGIN = 0x800000, LENGTH = 2048K
  ramdata (rw): ORIGIN = 0x0A00000, LENGTH = 2048K
}

SECTIONS {
  .vector0 :
    { . = 0x0} = __stack;
  .vector1 :
    { . = 0x4} = &main;
  .text :
    { 
    *(.text)
    } > rom1
  .data :
    { 
    *(.data)
    } > rom1
  .bss  :
    { 
    *(.bss)
      end = ALIGN(0x8);
    } > ramdata
}

----8<---------

Best regards, and thanks,
Jan Vermeulen


------
Want more information?  See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/
Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com


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