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

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

Re: [avr-libc-dev] [RFC] New eeprom.h


From: Dmitry K.
Subject: Re: [avr-libc-dev] [RFC] New eeprom.h
Date: Fri, 29 Feb 2008 16:18:14 +1000
User-agent: KMail/1.5

On Friday 29 February 2008 15:40, Rick Altherr wrote:
[...]
> > Project 2.
> > Use a set of high quality asm functions. This is not only
> > space effective, also it is fast. Now the set of funtions is
> > ready for test. Some efforts are needed to include into
> > Avr-libc: I am not happy to do this manualy.
>
> I'm not certain which functions you would replace with asm.  All of
> the functions (both inline and in avr-libc) seem simple enough that
> the compiler will do a reasonable job with them.  The only
> optimization I can see would be to eliminate the overhead of pushing
> stack frames.  Ultimately it would remove 2 stack setup/teardown pairs.

The original "eeprom.h" and the project 1 are not fast with
block reading: test of ready and call/ret for each byte.
In project 2 the core of all eeprom_read functions
is only one function - asm read of block - speed as possible.
To save space the other functions (word, dword) is used a mapping
of common register to SRAM: only a few words per each extra
function.  The "eeprom.h" redefines names of functions in this
variant: no any inlines for eeprom_read_word/dword/block.

Note the project 2 differs only for reading, the burning
is not needed in acceleration :-).

Dmitry.





reply via email to

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