Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Andy H
It gets quite confusing. Anatoly decribes a method to allow an addition 64K bytes of space for progmem data. As this is limited to 64K bytes even for 128 devices. (since pointers are byte pointers) For functions, pointers are words - so 64Kwords or 128K bytes is ok for 128 devices - but not f

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Jim Brain
Andy H wrote: Yes this should be more than enough for data! I am happy with "high" or anything that is not "far". I am more than happy to be way off base, but the libraries looks to already be using _far: When I ported some code recently from M644(p) to M1281, I had to fix this: #if FLASHEND

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Andy H
Yes this should be more than enough for data! I am happy with "high" or anything that is not "far". (Its bad enough with "trampolines" that are not really trampolines.) ;-) Andy Anatoly Sokolov wrote: Hi. From: "Andy H" <[EMAIL PROTECTED]> Sent: Sunday, July 20, 2008 8:51 PM A better

RE: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Weddington, Eric
> -Original Message- > From: > [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] > org] On Behalf Of Anatoly Sokolov > Sent: Sunday, July 20, 2008 11:37 AM > To: Andy H > Cc: avr-GCC > Subject: Re: [avr-gcc-list] Re: "progmem_far" attribute > > This patch adderss only to data. User space

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Anatoly Sokolov
Hi. From: "Andy H" <[EMAIL PROTECTED]> Sent: Sunday, July 20, 2008 8:51 PM > > A better name would be progmem_high. FAR is entirely different. Ok. > > Unlike some cpu AVR does not need different direct JMP/CALL/RET... This patch adderss only to data. User space of 'progmem' section lim

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Andy H
I was describing concept - not literally. Literal it would be |*int* (far *x)(*float*, *char*, *char*) = NULL; | or similar. Internally we would handle as unsigned long (SImode). If we get that far without a road block, then the last step is for gcc to permit a call using this and not squark

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Bob Paddock
On 7/20/08, Andy H <[EMAIL PROTECTED]> wrote: > If we can create "FAR" as unsigned long Should that not be size_t rather than unsigned long? Might not make a difference on the smaller AVR's right now but if we ever need to port the code to a future AVR64 it might. -- http://www.wearablesmarts

Re: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Andy H
To use that amount, would suggest we need additional abilities to access progmem without going thru RAM. But if this is considered a limitation then your method seems ok. A better name would be progmem_high. FAR is entirely different. FAR is normally used to indicate large pointers - not

RE: [avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Weddington, Eric
Hi Anatoly, Patches look good so far. Is included in avr.c? Should it be for the bool type, and 'true' and 'false'? FYI, it would be nice if you could use the -p switch in producing patches. This prints out the C function that the hunk belongs to. It helps in reviewing patches. Thanks, Eric We

[avr-gcc-list] Re: "progmem_far" attribute

2008-07-20 Thread Anatoly Sokolov
Hi. The patch add "progmem_far" attribute in GCC. Anatoly. - Original Message - From: "Anatoly Sokolov" <[EMAIL PROTECTED]> To: "avr-GCC" Cc: "Anatoliy Sokolov" <[EMAIL PROTECTED]> Sent: Friday, May 02, 2008 8:36 PM Subject: "progmem_far" attribute > Hello. > > Now GCC have "progme