Breaking News

Main Menu

Avr309 Driver

воскресенье 05 апреля admin 15

I tried to embed AVR309 firmware (ATmega8 - USB to RS232 converter) in atmega8u2 device, using a LUFA project. I know it may now be redundant work as there are virtual serial projects, but this is a way for me, to use the experience to USB control transfer. I wrote a USBSERIAL driver (an incomplete) for LINUX, that works well.

So far I have a few chips that have USB hardware built in: PIC18F4550, ATmega32U4, its smaller sibling ATmega16U2, STM32F103ZE and its smaller sibling STM32F103CB. However I have absolutely no idea how to write a USB stack.

I tried to read the USB protocol manuals but those documents are more like a barrier for newcomers. I don't really want to use those open-source USB stacks as those are usually not portable (since I have three system architectures to tackle) and have restrictive licensing terms (GPL that somehow propagates to the hardware itself). Working with USB without libraries is really tough, it is a very poorly designed interface with a bunch of legacy stuff.

I struggled with this quite a bit, but eventually came up with a simple stack architecture that is reasonably portable. You can find the code for Atmel SAM D21 here. In theory code in usb.c, usb.h, usbdescriptors.c and usbdescriptors.h is universal and portable. And udc.c and udc.h contain all platform code with very limited APIs that should be easy to implement.

The downside of this approach is that you mask out all potential hardware features that can improve the performance of your stack. In this case simplicity was the goal, so all advanced USB controller features are not used. In general creating USB stack is a pain, and you will find out just how buggy USB host implementations are in Windows and Linux.

I would recommend using a separate machine for testing your stack at the beginning - you will have to reboot that machine many times. I used to work with ADSP-BF706 devices, and I managed to wrote a bare minimum USB stack for it based on reverse engineering uC/OS III USB stack source code and dumping objects from ADI's driver library and trying to gather scattered information here and there from ADI's CCES help document. What I want to say is, writing a USB driver is excruciating. If by any chance you can get a pre-made driver with budget, then go for it.

Also, GPL does not propagate to HW. You need to provide MCU part number and complete FW code running on that MCU but nothing about other part of your HW design nor FW running on non-GPL MCUs. I used to work with ADSP-BF706 devices, and I managed to wrote a bare minimum USB stack for it based on reverse engineering uC/OS III USB stack source code and dumping objects from ADI's driver library and trying to gather scattered information here and there from ADI's CCES help document. What I want to say is, writing a USB driver is excruciating.

If by any chance you can get a pre-made driver with budget, then go for it. Also, GPL does not propagate to HW. You need to provide MCU part number and complete FW code running on that MCU but nothing about other part of your HW design nor FW running on non-GPL MCUs. They strongly recommend you to open source your hardware as well, but that's not required. BTW, an ATTiny as USB I/F is not economic at all.

Try using an UFM8, it has hardware USB, single cycle 8051 core, tons of (compared to most 8051) RAM and free USB stack as well as some really good analog peripherals. If you want to be ultimate lazy person, they even offer a no-brainer USB serial driver that allows you to treat it as a CP2104 virtual serial link. They sell at $1.xx, way cheaper than ATTiny sourced from a reputable source at low quantity. First identify the type of USB device class you really need. You can do many things with the Human Interface Device class (HID).

So if you just want to do bit banging at low speeds, HID is perfectly fine, especially since every PC and OS has good host drivers installed per default. If the HID is sufficient for you there is a very nice option, a software called 'HID-Maker' that writes the PIC firmware for you as well as the PC host software (choose between Delphi, C, Basic and others.) It may save you weeks and weeks of development time and gets you up and running very!

What is your goal? Do you want to become a USB expert or do you need to get something done using USB? I would strongly!!! Recommend to not start writing USB lower level stacks if your goal is to get a few bits from the host to a uC. The Windows host is not!

Very friendly when it comes to USB, if you do something wrong on the device side it will not work, but don't expect the host to tell you what you did wrong. You need to deal with enumerating your device first, 'explaining to the host' what kind of device your are, what you want to do.if the host doesn't like what you tell him he simply won't enumerate but he will not tell what you did wrong. USB is complicated! What USB device class do you think you need? What is your goal?

Do you want to become a USB expert or do you need to get something done using USB? I would strongly!!! Recommend to not start writing USB lower level stacks if your goal is to get a few bits from the host to a uC. The Windows host is not! Very friendly when it comes to USB, if you do something wrong on the device side it will not work, but don't expect the host to tell you what you did wrong. You need to deal with enumerating your device first, 'explaining to the host' what kind of device your are, what you want to do.if the host doesn't like what you tell him he simply won't enumerate but he will not tell what you did wrong. USB is complicated!

What USB device class do you think you need? Ok so if you want to control a PWM output using a uC using a PWM hardware module inside the uC, you only need to communicate to the PWM module once in a while that you need x% output signal and the uC will take of the rest. If that is the case then USB HID class is perfectly sufficient. You can send data every 1ms which sounds like more than sufficient for what you need.

No worries about the host drivers, they will be installed on all types of OS per default. The other advantage of staying with HID is that your hardware will work immediately with any OS without! The need to install any host drivers at all. You just copy your host software to any PC and you are done. So buy the HID Maker software and you will have USB host to a uC interface up and running in a day. I tried to read the USB protocol manuals but those documents are more like a barrier Well, yes.

Backward compatibility over three versions, 4 speed ranges, several data 'classes', and mixed in licensing and trademarking issues, all written by a massive committee. I have no doubt that the official documents are pretty close to incomprehensible. Someone has already suggested Jan Axelson's book. It's pretty good. Pleasure to kill kreator lyrics. There is also this free 'book' from FTDI: LUFA is probably a good example. Originally written for Atmel AVRs, my understanding is that NXP hired the LUFA developer to do their USB libraries, so they are also LUFA-like. LUFA has pretty favorable licensing terms; it would be a good starting point.

I don't think that you should consider bit-banging USB (ala VUSB); that's a whole different set of problems. (Take the following with a grain of salt. I haven't actually written and USB code; though I have read the books and READ some USB code.) A simple USB driver shouldn't be TOO awful to write. For your simple case, it might not be any more difficult to write than it is to understand vendor libraries that were written to be able to support much more complicated scenarios. USB reminds me a lot of other networking protocols and their attempts to establish communications with 'zero configuration' - so USB enumeration is a lot like TCP/IP DHCP or the old ARPANet NCP/ICP mechanism: 'how do I establish a data communications path based on a bunch of internal information that is NOT a HW addressable entity?'

There are essentially two phases of USB communications: 1) 'Enumeration' - the USB device sends a bunch of information to the USB Host telling it what kind of device(s) it is, what kind of data it is going to send, and the host uses that info to pick a driver. (Writing a USB stack for a host would be much more complicated, BTW.) For simple devices, you'll want to piggyback on one of the existing device types like HID (mouse/keyboard) or CDC/ACM (Modem. Of which 'COM Port' is a subset), because otherwise you'll have to write host side drivers as well. 2) Data transfer. This is relatively traditional, except that data is packetized, and packet transmission is likely to take place annoyingly asynchronously to the actual microcontroller application.

Should be easy if you have small amounts of data and don't care too much about performance. But it will require an understanding of interrupts and an appreciation of concurrency issues. You don't need to stick to some predefined USB class to avoid host driver programming anymore. There are easy to use host-side drivers/libraries: Windows-only WinUSB and more or less cross-platform libUSB. Their use simplifies both device and host sides: you don't need to implement class features like HID report structs or CDC fake baudrates/data formats/events unrelated to your real needs, saving both time and program memory of your device.

For a basic device that gets recognized by OS you need to process this minimal subset of standard requests: GET DESCRIPTOR returning device or configuration descriptor (they are just carefully filled static structures, you can treat them like an array of unknown data at runtime). SET ADDRESS writing passed address value to hardware (if it needs it) SET CONFIGURATION doing nothing (just reporting success) Neither WinUSB nor libUSB drivers will never ask you to do those many other things like SET FEATURE or SET DESCRIPTOR (unless you program them to do that). With proper HW initialization and these handlers implemented in ISR you can forget about all other complexities and do some straight read(MYOUTEP, buf, len), write(MYINEP, buf, len) whose task will be to wait for EP ready, read/write hw data buffer, signal buffer ready to hw.

COMPAQ EOD006 DAT DRIVER DETAILS:

Type:Driver
File Name:compaq_eod006_38719.zip
File Size:31.4 MB
Rating:
24 (4.27)
Downloads:19
Supported systems:Windows 10, 8.1, 8, 7, 2008, Vista, 2003, XP
Price:Free* (*Free Registration Required)



documax printerCompaq EOD006 20/40GB Digital DAT Tape Drive - 153618-001, Internal, **TESTED**
dynamode usb-4pci-2.0Shop with confidence

Please enter a number less than or equal to 2. Select a valid country. Please enter 5 or 9 numbers for the ZIP Code. Domestic handling time.

Will usually ship within 1 business compaq eod006 dat of receiving cleared payment - opens in a new window or tab. Taxes may be applicable at checkout. Tell us if something is incorrect.

Only 4 left! Returns Policy Compaq eod006 dat understand that occasionally products may need to be returned to us, but we are here to help make the process easier. Order cancellations If you need to return your purchase from us, whether you bought it online or over the phone, the product can be returned for a full refund within 21 days of delivery as long as it's still in its original, unopened anti static a silver coloured bag or pink bubble material packaging. Unless expressly mentioned in the description, there will be no other parts included with compaq eod006 dat item.

Compaq 153618-005 Eod006 Digital Data Storage 20/40Gb Dat Dds4 Tape Drive

Please note if you are collecting you cannot pay by PayPal. You can pay by cash, credit or debit card on collection.

In the unlikely event you receive a faulty or incorrectly described item please contact us directly by phone or email contact compaq eod006 dat above and we will resolve the issue. Skip to main content.

Quick estimator 2005 keygen free Improve quality by leveraging consistent standards to meet customer and market requirements. Minimize risk: Mitigate liability and better understand compliance regulations.

Email to friends Share on Facebook - opens in a new window or tab Share on Twitter - opens in a new window or tab Share on Compaq eod006 dat - opens in a new window or tab. Add to Watch list.

Register here. These orders will be sent on a Royal Mail 48 hour tracked service.

  • Compaq HP eod Dat Internal Tape Drive SCSI 20 40GB YIBCSVDOB
  • Compaq EOD 20/40 GB DDS4 DAT Tape Drive Internal
  • Compaq EOD006 DDS4 20/40GB Internal SCSI DAT Drive Cream Bezel - 158856-001
  • Compaq EOD006 DDS4 20/40GB Internal SCSI DAT Drive Cream Bezel - 158856-001
  • Compaq 158856-001 20/40gb DAT Tape Drive Eod006 Dds4

About us. Shop categories. Shop home. Business seller information.

Complete information. Terms and conditions of the sale. Returns policy. Search instead for. See details for additional description. Your Name.

B21 Compaq EOD 20/40GB Digital DAT Tape Drive eBay

There was a problem with saving your item s for later. You can go to cart and save for later there.Free delivery and returns on eligible orders.

Buy Compaq Compaq eod006 dat eod Dat Internal Tape Drive SCSI 20/40GB at Amazon UK. Buy COMPAQ EOD 20/40GB DAT SCSI INTER TAPE DRIVE: Laptop Replacement Parts - ✓ FREE DELIVERY possible on eligible purchases.

Related Drivers