From 6914ca0b7229096771de74861e390ca94a85409f Mon Sep 17 00:00:00 2001 From: Christian Starkjohann Date: Thu, 15 Jul 2010 15:56:31 +0000 Subject: - documented changes --- usbdrv/Changelog.txt | 8 ++++++-- usbdrv/Readme.txt | 29 ++++++++++++++++++++++------- 2 files changed, 28 insertions(+), 9 deletions(-) (limited to 'usbdrv') diff --git a/usbdrv/Changelog.txt b/usbdrv/Changelog.txt index 88e3d74..df00013 100644 --- a/usbdrv/Changelog.txt +++ b/usbdrv/Changelog.txt @@ -300,5 +300,9 @@ Scroll down to the bottom to see the most recent changes. V-USB compatible with the new "p" suffix devices (e.g. ATMega328p). - USB_CFG_CLOCK_KHZ setting is now required in usbconfig.h (no default any more). - - New USB_CFG_DRIVER_FLASH_PAGE allows boot loaders on devices with more - than 64 kB flash. + - New option USB_CFG_DRIVER_FLASH_PAGE allows boot loaders on devices with + more than 64 kB flash. + - Built-in configuration descriptor allows custom definition for second + endpoint now. + +* Release 2009-07-15 diff --git a/usbdrv/Readme.txt b/usbdrv/Readme.txt index 8de396d..970dc66 100644 --- a/usbdrv/Readme.txt +++ b/usbdrv/Readme.txt @@ -113,13 +113,28 @@ IDs. See http://www.obdev.at/vusb/ for details. DEVELOPMENT SYSTEM ================== This driver has been developed and optimized for the GNU compiler version 3 -(gcc 3). It does work well with gcc 4, but with bigger code size. We recommend -that you use the GNU compiler suite because it is freely available. V-USB -has also been ported to the IAR compiler and assembler. It has been tested -with IAR 4.10B/W32 and 4.12A/W32 on an ATmega8 with the "small" and "tiny" -memory model. Not every release is tested with IAR CC and the driver may -therefore fail to compile with IAR. Please note that gcc is more efficient for -usbdrv.c because this module has been deliberately optimized for gcc. +and 4. We recommend that you use the GNU compiler suite because it is freely +available. V-USB has also been ported to the IAR compiler and assembler. It +has been tested with IAR 4.10B/W32 and 4.12A/W32 on an ATmega8 with the +"small" and "tiny" memory model. Not every release is tested with IAR CC and +the driver may therefore fail to compile with IAR. Please note that gcc is +more efficient for usbdrv.c because this module has been deliberately +optimized for gcc. + +Gcc version 3 produces smaller code than version 4 due to new optimizing +capabilities which don't always improve things on 8 bit CPUs. The code size +generated by gcc 4 can be reduced with the compiler options +-fno-move-loop-invariants, -fno-tree-scev-cprop and +-fno-inline-small-functions in addition to -Os. On devices with more than +8k of flash memory, we also recommend the linker option --relax (written as +-Wl,--relax for gcc) to convert absolute calls into relative where possible. + +For more information about optimizing options see: + + http://www.tty1.net/blog/2008-04-29-avr-gcc-optimisations_en.html + +These optimizations are good for gcc 4.x. Version 3.x of gcc does not support +most of these options and produces good code anyway. USING V-USB FOR FREE -- cgit v1.2.3