From 6914ca0b7229096771de74861e390ca94a85409f Mon Sep 17 00:00:00 2001 From: Christian Starkjohann Date: Thu, 15 Jul 2010 15:56:31 +0000 Subject: - documented changes --- Readme.txt | 13 ++++--------- usbdrv/Changelog.txt | 8 ++++++-- usbdrv/Readme.txt | 29 ++++++++++++++++++++++------- 3 files changed, 32 insertions(+), 18 deletions(-) diff --git a/Readme.txt b/Readme.txt index 2d37433..84d27f9 100644 --- a/Readme.txt +++ b/Readme.txt @@ -24,7 +24,8 @@ for device and host and fully working examples for device and host: USB-IDs-for-free.txt .... List and terms of use for free shared PIDs. Each subdirectory contains a separate Readme file which explains its -contents. +contents. We recommend that you also read the Readme.txt file in the +usbdrv subdirectory. PREREQUISITES @@ -61,13 +62,7 @@ Documentation for host and device library files are in the respective header files. For more information, see our documentation wiki at http://www.obdev.at/goto.php?t=vusb-wiki. -Since code size is often an issue when V-USB is used (especially with boot -loaders), we add a link to a page with optimization hints: - - 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 produces good -code even without these flags. +See the file usbdrv/Readme.txt for more info about the driver itself. LICENSE @@ -84,5 +79,5 @@ GPL. See CommercialLicense.txt for details. ---------------------------------------------------------------------------- -(c) 2009 by OBJECTIVE DEVELOPMENT Software GmbH. +(c) 2010 by OBJECTIVE DEVELOPMENT Software GmbH. http://www.obdev.at/ 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