This is the mail archive of the crossgcc@cygnus.com mailing list for the crossgcc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
We regularly use binary memory images generated by our old compiler/linker as flash images of code. These images can be linked to run from ram, Saved in flash and copied up to ram at startup time. A binary image with a header tacked on the front is an easy way to do this. But with GCC I get: Making the AOUT file. --------------------- /usr/local/m68k-aout/bin/ld -ochook_boot.aout -n -Map chook_boot.map -Tmake.lnk ../main/vectors.o ../main/libmain.a ../flash/libflash.a /soft/chook/master/lib/liblib.a /soft/chook/master/iopos/liboctopos.a /usr/local/m68k-aout/bin/objcopy -O binary chook_boot.aout chook_boot.bin /usr/local/m68k-aout/bin/objcopy: chook_boot.aout: Error 0 gmake: *** [link] Error 1 The link goes fine but the objcopy fails with Error 0 That usually no error so something must be screwed up. I'm sure that the objcopy doesn't like the extra output sections for code,app1,app2. But I want to put these things in Defined places in the Flash....What should I do? Here's a copy of my linker script: SECTIONS { .text 0x0: { CREATE_OBJECT_SYMBOLS _vectab = ALIGN(2); ../main/vectors.o(.data) ../main/vectors.o (COMMON); ../main/startup_bdm.o (.text) *(.text) _etext = ALIGN(2); } .data (SIZEOF(.text) + ADDR(.text) ): { _sdata = ALIGN(4); ../main/main.o (.data) _edata = ALIGN(2); } .code 0x20000: { ../main/maincode.o (.data) } .app1_part 0x80000: { ../main/app1_boot_data.o (.data) } .app2_part 0xa0000: { ../main/app2_boot_data.o (.data) } .bss 0x01080000: { _sdata = ALIGN(2); __bss_start = .; *(.bss) *(COMMON) _end = ALIGN(2); __end = .; } __text = ADDR(.text); __data = ADDR(.data); __bss = ADDR(.bss); start = _startup; }