WinAvr locating multiple code sections ?

Gast #1685831
Lesenswert?

Hi,

Ich möchte meinen Code für einen Bootloader in zwei Abschnitten des 
Flash haben. Startup-Code und ISP-Programmierroutinen liegen in der 
Bootloader section (AtMega128) und der Rest ab 0xc000 im unteren 
64k-Segment.
Früher ging das auch schon mal, aber nun motzt der Linker und ignoriert 
die angegebene zweite .bootcode - code section und versucht alles in 
.text zu lokieren, was dann nicht mehr passt.
Ein downgrade auf die alte WinAvr version hat leider auch nichts 
gebracht.

Wenn ich nur die .bootcode section als Parameter im makefile habe, 
lokiert er brav alles dorthin und .text per default im unteren 64k 
segment, also klappt entweder die parameterübergabe von gcc zum ld.exe 
nicht oder weiss der Geier... :-(.

## Linker flags
LDFLAGS = $(COMMON)
LDFLAGS +=  -Wl,-Map=boot_c128.map
LDFLAGS += -Wl,-section-start=.text=0x1fc00
LDFLAGS += -Wl,-section-start=.bootcode=0xc000

Hat jemand eine idee ???

gruss, tom.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren