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/ _______________________________________________ AVR-libc-dev mailing list AVR-libc-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-libc-dev