[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] Re: vargs and ... doesn't work?
From: |
Björn Haase |
Subject: |
Re: [avr-libc-dev] Re: vargs and ... doesn't work? |
Date: |
Tue, 6 Jun 2006 19:12:08 +0200 |
User-agent: |
KMail/1.7.1 |
Joerg Desch wrote on Dienstag, 6. Juni 2006 09:07 :
> On Fri, 2 Jun 2006 05:53:51 +0200
>
> Björn Haase <address@hidden> wrote:
> > The most recent versions carry the suffix "_6". The header files for
> > 256x should rather be taken from Anatoly's (aesok) post than from my the
> > _5 patch:
>
> Thanks for your new patches.
>
> > > mega_256x_binutils_5.patch.txt
> >
> > There should no longer be any need for patching binutils. It's already
> > commited to mainline cvs.
>
> ok. Thanks again.
>
> > For your printf tests, did you use the pmem variant or the ram variant?
> > It might be that the register responsible for the high byte of the
> > address (RAMPZ ?) for lpm instructions does not contain the correct
> > value.?
>
> I've build the binutils snapshot 060603, the gcc 060603 with your patch6
> and avr-libc with patch6 this morning. It works now. Both printf
> (avr-libc) and rprintf (avr-lib) works like expected. I've used the pmem
> and the ram variants. No more problems. For now ;-)
Fine.
Could you make a brief test wether usage of the >128k memory area works as
expected?
You could, e.g. add huge functions with lots of nops by using
int
dummy (void)
{
asm volatile (".skip 130000");
return 42;
}
int
dummy2 (void)
{
asm volatile (".skip 40000");
return 1;
}
The interesting thing is if you could sucessfully generate pointers to
functions beyond the 128k boundary.
The gcc option "-Wl,--debug-stubs" could be helpful for debugging. For
functions behind 128k a jump stub instruction should be generated.
> The headers from Anatoly's post use FLASHEND 0x1FFFF (as for the
> Mega1280). For the Mega2560 it shouldn't it be 0x3FFFF?
Yes.
Bjoern.