[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-libc-dev] [EEPROM] patch: Fix mis-feature of lacking EEPROM sup
From: |
Dmitry K. |
Subject: |
Re: [avr-libc-dev] [EEPROM] patch: Fix mis-feature of lacking EEPROM support for many targets / rewrite of eeprom functions |
Date: |
Sun, 24 Jul 2005 13:44:57 +1100 |
User-agent: |
KMail/1.5 |
On Monday 11 July 2005 06:38, Björn Haase wrote:
> Hi,
>
> find enclosed a re-write of the AVR eeprom routines that 1.) fixes the bug
> of lacking support for many targets and 2.) uses a more code-efficient
> implementation.
...
Hi, yours code is very economical in registers usage!
Notes:
1. If I have true understand, you use next code to increment address
of EEPROM location:
ld __tmp_reg__,X+ /* Increment x register */
This is not the best method. For example, the address in EEPROM can coincide
with the address of the register of data UART that will lead to loss accepted
byte. 'ADIW' instraction take the same number of clocks and words, as above.
2. Perhaps, it is necessary to make the counter of byte in procedure
'_EELABEL (eeprom_write_block)' 16-bits? It considerably will reduce the
size inline functions 'eeprom_write_block'. Loss of one clock will be
absolutely not appreciable on a background of expectation of readiness.
Regards.