This is the Readme file to Objective Development's firmware-only USB driver
for Atmel AVR microcontrollers. For more information please visit
http://www.obdev.at/avrusb/
This directory contains the USB firmware only. Copy it as-is to your own
project and add your own version of "usbconfig.h". A template for your own
"usbconfig.h" can be found in "usbconfig-prototype.h" in this directory.
TECHNICAL DOCUMENTATION
=======================
The technical documentation (API) for the firmware driver is contained in the
file "usbdrv.h". Please read all of it carefully! Configuration options are
documented in "usbconfig-prototype.h".
The driver consists of the following files:
Readme.txt ............. The file you are currently reading.
Changelog.txt .......... Release notes for all versions of the driver.
usbdrv.h ............... Driver interface definitions and technical docs.
* usbdrv.c ............... High level language part of the driver. Link this
module to your code!
* usbdrvasm.S ............ Assembler part of the driver. This module is mostly
a stub and includes one of the usbdrvasm*.S files
depending on processor clock. Link this module to
your code!
usbdrvasm12.S .......... 12 MHz version of the assembler routines. Included
by usbdrvasm.S, don't link it directly!
usbdrvasm16.S .......... 16 MHz version of the assembler routines. Included
by usbdrvasm.S, don't link it directly!
usbdrvasm165.S ......... 16.5 MHz version of the assembler routines including
a PLL so that an 1% accurate RC oscillator can be
used. Included by usbdrvasm.S, don't link directly!
usbconfig-prototype.h .. Prototype for your own usbdrv.h file.
* oddebug.c .............. Debug functions. Only used when DEBUG_LEVEL is
defined to a value greater than 0. Link this module
to your code!
oddebug.h .............. Interface definitions of the debug module.
iarcompat.h ............ Compatibility definitions for IAR C-compiler.
usbdrvasm.asm .......... Compatibility stub for IAR-C-compiler. Use this
module instead of usbdrvasm.S when you assembler
with IAR's tools.
License.txt ............ Open Source license for this driver.
CommercialLicense.txt .. Optional commercial license for this driver.
USBID-License.txt ...... Terms and conditions for using particular USB ID
values for particular purposes.
(*) ... These files should be linked to your project.
CPU CORE CLOCK FREQUENCY
========================
We supply assembler modules for clock frequencies of 12 MHz, 16 MHz and
16.5 MHz. Other clock rates are not supported. The actual clock rate must be
configured in usbdrv.h unless you use the default 12 MHz.
12 MHz Clock
This is the traditional clock rate of AVR-USB because it's the lowest clock
rate where the timing constraints of the USB spec can be met.
16 MHz Clock
This clock rate has been added for users of the Arduino board and other
ready-made boards which come with a fixed 16 MHz crystal. It's also an option
if you need the slightly higher clock rate for performance reasons. Since
16 MHz is not divisible by the USB low speed bit clock of 1.5 MHz, the code
is somewhat tricky and has to insert a leap cycle every third byte.
16.5 MHz Clock
The assembler module for this clock rate differs from the other modules because
it has been built for an RC oscillator with only 1% precision. The receiver
code inserts leap cycles to compensate for clock deviations. 1% is also the
precision which can be achieved by calibrating the internal RC oscillator of
the AVR. Please note that only AVRs with internal 64 MHz PLL oscillator can be
used since the 8 MHz RC oscillator cannot be trimmed up to 16.5 MHz. This
includes the very popular ATTiny25, ATTiny45, ATTiny85 series as well as the
ATTiny26.
We recommend that you obtain appropriate calibration values for 16.5 MHz core
clock at programming time and store it in flash or EEPROM or compute the value
from a reference clock at run time. However, since Atmel's 8 MHz calibration
is much more precise than the guaranteed 10%, it's usually possible to add a
fixed offset to this value.
USB IDENTIFIERS
===============
Every USB device needs a vendor- and a product-identifier (VID and PID). VIDs
are obtained from usb.org for a price of 1,500 USD. Once you have a VID, you
can assign PIDs at will.
Since an entry level cost of 1,500 USD is too high for most small companies
and hobbyists, we provide a single VID/PID pair for free. If you want to use
your own VID and PID instead of our's, define the macros "USB_CFG_VENDOR_ID"
and "USB_CFG_DEVICE_ID" accordingly in "usbconfig.h".
To use our predefined VID/PID pair, you MUST conform to a couple of
requirements. See the file "USBID-License.txt" for details.
Objective Development also has some offerings which include product IDs. See
http://www.obdev.at/avrusb/ for details.
HOST DRIVER
===========
You have received this driver together with an example device implementation
and an example host driver. The host driver is based on libusb and compiles
on various Unix flavors (Linux, BSD, Mac OS X). It also compiles natively on
Windows using MinGW (see www.mingw.org) and libusb-win32 (see
libusb-win32.sourceforge.net). The "Automator" project contains a native
Windows host driver (not based on libusb) for Human Interface Devices.
DEVELOPMENT SYSTEM
==================
This driver has been developed and optimized for the GNU compiler version 3
(gcc 3). It does work well with gcc 4 and future versions will probably be
optimized for gcc 4. We recommend that you use the GNU compiler suite because
it is freely available. AVR-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. Please note that gcc is more
efficient for usbdrv.c because this module has been deliberately optimized
for gcc.
USING AVR-USB FOR FREE
======================
The AVR firmware driver is published under the GNU General Public License
Version 2 (GPL2). See the file "License.txt" for details.
If you decide for the free GPL2, we STRONGLY ENCOURAGE you to do the following
things IN ADDITION to the obligations from the GPL2:
(1) Publish your entire project on a web site and drop us a note with the URL.
Use the form at http://www.obdev.at/avrusb/feedback.html for your submission.
(2) Adhere to minimum publication standards. Please include AT LEAST:
- a circuit diagram in PDF, PNG or GIF format
- full source code for the host software
- a Readme.txt file in ASCII format which describes the purpose of the
project and what can be found in which directories and which files
- a reference to http://www.obdev.at/avrusb/
(3) If you improve the driver firmware itself, please give us a free license
to your modifications for our commercial license offerings.
COMMERCIAL LICENSES FOR AVR-USB
===============================
If you don't want to publish your source code under the terms of the GPL2,
you can simply pay money for AVR-USB. As an additional benefit you get
USB PIDs for free, licensed exclusively to you. See the file
"CommercialLicense.txt" for details.
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
USB.rar_CH341T.D_USB 并口_usb_usblpt.zip_usb转 (119个子文件)
USB2LPT2.A51 62KB
USB2LPT.A51 52KB
usbdrvasm.asm 558B
usbdrvasm.asm 558B
make.bat 612B
Usb2lpt.c 49KB
Usb2lpt.c 42KB
ParallelPortTest.c 27KB
usb2lpt6.c 26KB
usbdrv.c 24KB
usb2lpt5.c 24KB
usbdrv.c 23KB
Vlpt.c 21KB
vlpt.c 17KB
prop.c 15KB
PROP16.C 15KB
Brenner.c 7KB
main.c 7KB
KurzschlussTest.c 6KB
L攕cheFirmware.c 3KB
osccal.c 2KB
oddebug.c 1024B
oddebug.c 1024B
w2k.c 962B
PROP16.DEF 466B
PROP.DEF 60B
usb2lpt.dll 27KB
PROP16DE.DLL 20KB
usbmon.dll 12KB
usbmon.dll 12KB
usb2lpt98.dsp 5KB
prop.dsp 4KB
KurzschlussTest.dsp 4KB
L攕cheFirmware.dsp 4KB
Brenner.dsp 4KB
usb2lpt.dsp 3KB
Usb2lpt.dsw 756B
bootloadHID.exe 15KB
ParallelPortTest.exe 11KB
Brenner.exe 5KB
KurzschlussTest.exe 4KB
L攕cheFirmware.exe 4KB
ul-17.gif 24KB
PonyProg Fuses.gif 8KB
PonyProg Fuses.gif 8KB
usbdrv.h 30KB
usbdrv.h 26KB
usbconfig.h 17KB
usbconfig-prototype.h 16KB
usbconfig-prototype.h 13KB
usbconfig.h 12KB
usbconfig.h 12KB
usb2lpt.h 7KB
Usb2lpt.h 7KB
bootloaderconfig.h 5KB
usbportability.h 4KB
osctune.h 3KB
oddebug.h 3KB
oddebug.h 3KB
osccal.h 3KB
iarcompat.h 2KB
THUNK16.H 875B
w2k.h 609B
usb2lpt6.hex 12KB
usb2lpt5.hex 11KB
usb2lpt5.hex 11KB
main.hex 5KB
USB2L_DE.HLP 30KB
MAKROS.I51 8KB
prop.ico 766B
USB2LPT2.IIC 3KB
USB2LPT.IIC 3KB
usbdrvasm128.inc 28KB
usbdrvasm15.inc 17KB
usbdrvasm165.inc 17KB
usbdrvasm12.inc 15KB
usbdrvasm20.inc 15KB
usbdrvasm16.inc 12KB
asmcommon.inc 8KB
usb2lpt.inf 3KB
usbprint.inf 895B
usbprint.de.inf 857B
Makefile 3KB
Makefile 3KB
Makefile 3KB
PonyProg Fuses.png 7KB
PROP16.PRJ 6KB
prop.rc 21KB
prop16.rc 7KB
ParallelPortTest.rc 4KB
usb2lpt.rc 1KB
PROP16.RES 5KB
usbdrvasm15.S 24KB
usbdrvasm165.S 23KB
usbdrvasm12.S 23KB
usbdrvasm16.S 18KB
usbdrvasm.S 8KB
usbdrvasm.S 6KB
interrupts.S 181B
Sources 990B
共 119 条
- 1
- 2
资源评论
alvarocfc
- 粉丝: 105
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功