[En-Nut-Discussion] Upper 64k of flash

JasonG jas_g at yahoo.com
Tue Jan 28 17:58:06 CET 2003


How are others getting around this problem when their program space
creeps over 64k?  How does gcc or the linker know to start inserting
instructions to use the second bank of memory when we're accessing it? 
What happens when a buffer lies over the 64k fence and something is
incrementing through the values (how does it know to start using
RAMPZ=1)?

Help!  Writing a routine to use this area as a large storage space, ie.
for the urom.c file, wouldn't be too challenging, but it seems much
more difficult to get the code executing when split.

I'm using avrstudio 4.06 and the JTAG ICE for programming, and avr-gcc 
3.2.

PS - Is there an archive of the discussions?  I did have the following
message, but it's not clear how this fixes or addresses seamlessly
using the upper 64k.

Thanks,

--- Lars Haack <lars.haack at gmx.de> wrote:
> 
> Hi,
> 
> here are the changes I had to make in the linkerscript avr3.x to let
> my
> programs larger 64kb work.
> I hope it helps others as well
> 
> Lars
> 
> 
> 7d6
> <   text2  (rx)   : ORIGIN = 0x1000, LENGTH = 124K       /* new
> segment,
> adjust start/size according to size of .progmem */
> 93,94d91
> <
> < /* moved to new section text2
> 98d94
> < */
> 139,148d134
> <
> < /* new segment */
> <   .text2 :
> <   {
> <     *(.text)
> <     . = ALIGN(2);
> <     *(.text.*)
> <     . = ALIGN(2);
> <   }  > text2
> <
> 
> _______________________________________________
> En-Nut-Discussion mailing list
> En-Nut-Discussion at egnite.de
> http://www.egnite.de/mailman/listinfo/en-nut-discussion


=====
JasonG
jas_g at yahoo.com

__________________________________________________
Do you Yahoo!?
Yahoo! Mail Plus - Powerful. Affordable. Sign up now.
http://mailplus.yahoo.com



More information about the En-Nut-Discussion mailing list