aboutsummaryrefslogtreecommitdiffstats
path: root/usbdrv
diff options
context:
space:
mode:
authorChristian Starkjohann <cs+github@obdev.at>2010-07-15 15:56:31 +0000
committerChristian Starkjohann <cs+github@obdev.at>2010-07-15 15:56:31 +0000
commit6914ca0b7229096771de74861e390ca94a85409f (patch)
treede11f41239a80892463a7ed2bab465f9c0d05369 /usbdrv
parentb9a65d9d1dad0ec5ca762aad9dc36af62eeffb72 (diff)
downloadv-usb-6914ca0b7229096771de74861e390ca94a85409f.tar.gz
v-usb-6914ca0b7229096771de74861e390ca94a85409f.tar.bz2
v-usb-6914ca0b7229096771de74861e390ca94a85409f.zip
- documented changes
Diffstat (limited to 'usbdrv')
-rw-r--r--usbdrv/Changelog.txt8
-rw-r--r--usbdrv/Readme.txt29
2 files changed, 28 insertions, 9 deletions
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