avr-libc-dev
[Top][All Lists]
Advanced

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

Re: [avr-libc-dev] Inclusion of far pointer library (patch #6352)broke a


From: Jan Waclawek
Subject: Re: [avr-libc-dev] Inclusion of far pointer library (patch #6352)broke avr-libc build
Date: Sun, 13 Jun 2010 22:15:14 +0200

>Regarding the linker script section names, that should certainly be
>mentioned in the description (so it eventually goes into the avr-libc
>documentation), independent of whether Eric provides a patch in the
>next version of the WinAVR successor.  Can you please submit a
>paragraph for that, Jan?
>

It's all in an avrfreaks.net thread linked from 
https://savannah.nongnu.org/bugs/?26365 , namely 
http://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&p=705868#705868 
.

Around two thirds down, search for "linker script".

Maybe a bit more narrative than standard documentation, but I wanted to spawn a 
discussion first, I did not expect it will be included that soon.

._progmem_far (together with PFSTR macro and the xxx_PF() functions) is 
intended to provide a relatively easy and transparent relief from a pressure on 
the lower 64k FLASH by moving mainly strings to above the .data initialisers. 

._progmem_segment1 etc: "The purpose of "segmented" usage is to allow for 
faster and more comfortable address calculation, if we know beforehand that we 
can fit all FLASH data into a 64k "segment", (segment1 is 0x10000-0x1FFFF, 
segment2 is 0x20000-0x2FFFF, segment3 is 0x30000-0x3FFFF). To access them, we 
still need the pgm_read_xxx_far() (and xxx_PF()) family, but we can use the 
"native" pointer mechanism and then add the segment address."

Is this sufficient enough?

Jan

PS. Sorry for the late response, couldn't get to computer sooner.




reply via email to

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