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

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

[avr-libc-dev] [patch #6718] Optimize the EEPROM functions


From: Dmitry Xmelkov
Subject: [avr-libc-dev] [patch #6718] Optimize the EEPROM functions
Date: Fri, 09 Jan 2009 04:05:54 +0000
User-agent:

URL:
  <http://savannah.nongnu.org/patch/?6718>

                 Summary: Optimize the EEPROM functions
                 Project: AVR C Runtime Library
            Submitted by: dmix
            Submitted on: Птн 09 Янв 2009 04:05:52
                Category: None
                Priority: 5 - Normal
                  Status: None
                 Privacy: Any
             Assigned to: dmix
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any

    _______________________________________________________

Details:

The EEPROM funtions are not the best yet:
  * The multibyte reading is very slow.
  * The space expense is large: inlined byte functions are include
  into each source file, each call of multibyte function adds the
  indirect address arg filling.
  * The indirect call is not work with 256 KW flash chips (Binutils
  bug, now it is workarounded by inlining all functions).

This version does not contain inline: all functions are pure ones
from library.  To obtain a set of different hardwares there is used
the CCP substitution of function names.

Minor changes are:
  * The group of 'update' functions is added: burn only the different
  bytes.
  * The group of 'float' function is added.
  * The XMEGA is realized.

Reading speed is high: there is no check of ready between bytes, no
indirect calls, in case of Xmega the mapping into data space is used.

Space expense is small: for example, all the eeprom_read_word/dword/
block functions use the same code.  Also with small SRAM and/or small
EEPROM chips the code for high address byte or for high counter byte
is omited.

This project was started before the discussion of library per device.
So it is not needed in any GCC or Binutils changes.

Note, there is no any manual work to sort the chips into any groups:
all variants are compiled separatly.

At this moment the XMEGA is not tested.  More, it is not tryed to
compile.




    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Птн 09 Янв 2009 04:05:53  Name: avr-libc.tar.gz  Size: 13kB   By:
dmix
Sources and all other files thar are changed.
<http://savannah.nongnu.org/patch/download.php?file_id=17230>

    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/patch/?6718>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/






reply via email to

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