[Top][All Lists]

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

RE: [avr-gcc-list] Howto put constants on fixed address

From: Martin Žižka
Subject: RE: [avr-gcc-list] Howto put constants on fixed address
Date: Fri, 21 Dec 2007 00:18:52 +0100

|> You're going to need to become a real expert in linker scripting to 
|> even come close to doing this.  Joerg & company might be able to help 
|> with this.  Also, using either cygwin or linux, do an "info ld" to 
|> find out more on how to do linker scripts.
|Note that the Binutils (and hence ld) user manual is include in WinAVR if
the OP is using that.

Well I am used to other tools than gcc and most of them (maybe all of them)
can define a constant in flash memory at some specific address and linker is
able to link the resulting binary without any gaps...

|> My feeling is that you are asking quite a bit too much from the linker 
|> to expect it to "flow" code around an obstacle in the middle of it's 
|> memory map.  If you want to set up two sections, before and after "my 
|> section" and assign code to each, you could succeed.  But as it is, I 
|> don't think the linker comprehends a single section that comes in two 
|> pieces.
|This changes the whole design philosophy, as most users want to know when
there is a conflict, i.e. overlapping segments, not to tell the linker to
|wrap around something.
|Perhaps there is some magical linker flag that will allow this. Somehow I
doubt it. And I agree with Stu, the alternative is to move your section to a
|different location, or magical linker scripting.

Well I had this bad feeling, that I am unable to do it right. So I'll have
to find some workaround :-(

|> I'm not sure why you insist that it *must* be in the middle of your 
|> code, but that's for you to know and decide.
|Yeah, enquiring minds would like to know...
I have a network of many different devices that has some upper hardwired
logic that should be able to parse firmware updates and send it to right
devices. So I want to place info about the binary at the end of the first
data packet that goes through that network.

reply via email to

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