[Top][All Lists]

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

RE: [avr-gcc-list] linking bootloader and main application at once

From: Eric Weddington
Subject: RE: [avr-gcc-list] linking bootloader and main application at once
Date: Fri, 29 Sep 2006 12:35:18 -0600


> -----Original Message-----
> From: 
> address@hidden 
> [mailto:address@hidden
> org] On Behalf Of Jan Menzel
> Sent: Friday, September 29, 2006 8:00 AM
> To: address@hidden
> Subject: [avr-gcc-list] linking bootloader and main 
> application at once
> Dear all,
>       within the last days we finished our bootloader for a 
> Mega88 AVR. Now 
> we would like to link it into existing projects written both in C and 
> assembler. We prepared the bootloader to reside in a separate section 
> (.bootloader) located into the AVRs bootloader. If we now link the 
> bootloader all section .bootloader decorated functions get 
> located into 
> to correct flash section but the .init<x>, .verctor, ... are shared.
>       How do we have to setup the linker that bootloader and 
> application gets 
> their own .vector, .init<x>, ... sections each in their
> specific memory segment and that both have the full RAM available?

The short answer is that you don't.

In the AVR, the interrupt vector table (IVT) can either be at the beginning
of memory, OR at the beginning of the bootloader section. You cannot have
two IVTs, hence you cannot have two separate groups of .vector sections. The
same goes with the startup code: you cannot have two separate sections of
startup code, hence no two groups of .init<x> sections.

You will have to redesign you application and bootloader to take this into

Eric Weddington

reply via email to

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