On Sunday 21 December 2008 18:03, Anatoly Sokolov wrote: [...] > It is small advantage, to compile avr-libc with '-mtiny-stack' > optimisation for devices with 8-bit stack pointer. The advantage of this > optimisation appears only for the "big" functions, at which the size of the > frame buffer is more 3-5 byte. Not much such functions in avr-libc, and as > they is "big", usually are not used on devices with 1 or 2 KB of code > memory.
Alas, yes. The Avr-gcc does not use the possibility to load only one address register for LD/SD commands. I understand that is very difficult to do this with GCC. Hovewer, it is not difficult to add this optimization into Avr-libc's asm functions (a set of more popular string functions and EEPROM ones). I agree that the *full* lib_per_device is bad decision, as it is too time and space (!) expansive. [...] > My offer to add "library for device" to solve problem, when two devices is > a members to one architecture, but have peripheral modules located on > different addresses, for example eeprom or wdt, and different functions for > work with these modules is required. Now I am working with a new variant of EEPROM family. It was named at Mar 2008 (in avr-libc-dev) as "project 2". This is a set of few pure asm functions which are tuned for each of device. This project does not demand in any changes of Avr-gcc or Binutils. I shall public it at the end of week. Regards, Dmitry. _______________________________________________ AVR-libc-dev mailing list AVR-libc-dev@nongnu.org http://lists.nongnu.org/mailman/listinfo/avr-libc-dev