There's already lots of good software for programming and debugging AVRs, such as AVRStudio (the official development software from Atmel) However, AVRStudio only really supports STK500 and AVRISP programmers (the official programmers)
Since there are many times when you may want to use AVRStudio, I've written some software glue that will let you use your USBtinyISP in STK500/AVRISP compatibility mode.
- Oscillator calibration is not implemented at all, due to hardware constraints
- AT89 programming is not tested and probably doesnt work.
- Word-mode flash programming isn't tested (although if someone can tell me of a chip that does this I'll test it)
- ISP clock speed setting is emulated, although the speeds are not 'true.' that is, a 400KHz ISP clock just means that at most, it will be clocked at 400KHz. In reality its often slower due to the programmer coping with USB stuff.
For general development, I strongly suggest using avrdude as this is a bit slower and is probably flakier.
Please note, this software is in alpha. Your reports, comments and suggestions are appreciated!
(post it in the forum)
If you send a bug report please let me know which chip you are using and what specifically is failing
The AVRISP, which we will be emulating, usually connects to a PC through the serial (COM) port. The trick here is to install a COM bridge, a piece of software that makes two virtual COM ports that are hooked up to each other so when you write to one it appears on the other. The compatibility software sits on one COM port, pretending to be a AVRISP while the AVRStudio software talks on the other, thinking that its connected to a genuine programmer!
You'll only have to install this software once.
Save, extract and run Setup
Important! Unclick the CNCA0<->CNCB0 checkbox!
Launch the setup command prompt
You can type in help for a list of commands
We want to install two ports, first check the device manager (Start->Settings->Control Panel->System->Hardware)
Under ports you'll see a list of COM ports. Both of the virtual ports we're making have to be between COM1 and COM9. Looks like only COM1 is being used.
Type in install PortName=COM2 PortName=COM6, changing the COM2 to COM3 or COM4 if any of those are already being used. The second port should be anything between COM5 and COM10. Keep track of these ports because you'll need to refer to them later
Once you hit return, windows will popup a "found new hardware" wizard as it thinks there are two more COM ports installed.
Select "No not this time", click Next
Select "Install automatically" and hit next.
You may have to do this twice, once for each COM port.
Next, check the device manager again, your new ports should have shown up!
Grab this from the download page. Its the software we run to provide the bridging.
Install the software and run USBtiny500.
Select one of the COM ports from the pair you made using com0com. If you select one that is not available you'll get the following warnings:
The software remembers the COM port you've selected so you should only have to do this once.
Next up the software looks for a USBtinyISP, if it fails to find one it will display
But if both the COM port and the programmer are found you'll get a ready message:
Next, start up AVRstudio, and open the programmer communcation panel. Select AVRISP and choose the other COM port from the pair you made with com0com. AVR studio remembers this selection so you'll only have to do this once.
You should be able to communicate to your target, through the sofware. If you're having problems talking to the chip, check the power, whether a crystal or clock is necessary and that the ISP clock is not too fast! You can change the ISP clock in the Board tab of AVR studio
The latest message passed through the bridge is displayed in the usbtiny console