avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-gcc-list] problems with linker script


From: Massimiliano Cialdi
Subject: [avr-gcc-list] problems with linker script
Date: Tue, 20 Jul 2004 15:30:07 +0200

I have just downloaded winavr-20040720 (gcc 3.4.1)

I have problems with linker script:
MEMORY
{
        _rom_vect : ORIGIN = 0x00000000, LENGTH = 0x34
        _rom      : ORIGIN = 0x34,       LENGTH = 4K - 0x34
        _ram      : ORIGIN = 0x100,      LENGTH = 0x200
}

SECTIONS
{
        .vects :
        {
                vectors.o(.text)
        } > _rom_vect
        .text :
        {
                *(.text)
                etext = .;
        } > _rom
        .rodata :
        {
                *(.rodata)
                *(.rodata.*)
                _erodata = .;
                _mdata = .;
        } > _rom
        .data : AT (_mdata)
        {
                _data = .;
                *(.data)
                _edata = .;
        } > _ram
        .bss :
        {
                _bss = .;
                *(.bss)
                *(COMMON)
                _ebss = .;
                _end = .;
        } > _ram
        .stack 0x2FF :
        {
                _stack = .;
        }
}

Memory area called _rom_vetc (and relative section .vetcs) is needed to
place interrupt vector table at address 0x0000.

linker gives me this error:
avr-gcc -Wl,-Map=ios.map -nostdlib -Wl,--script=rom.ld
-Wl,--entry=ios_init -o ios.out main.o ios_kern.o power.o key.o
vectors.o 
ld.exe: section .bss [00000100 -> 0000015e] overlaps section .text
[00000034 -> 00000795]

obviously .bss and .text overlaps, but they are in different address
space (harvard architecture). How gcc can handle this problem? Where I
need to place _ram memory area?

thanks

-- 
Massimiliano Cialdi
address@hidden
address@hidden


reply via email to

[Prev in Thread] Current Thread [Next in Thread]