avrdude-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avrdude-dev] Connection problems,


From: E. Weddington
Subject: Re: [avrdude-dev] Connection problems,
Date: Tue, 04 Mar 2003 11:03:16 -0700

On 4 Mar 2003 at 12:53, Daniel Williamson wrote:

> My query is that I'm running avr dude using a batch file as follows.
> avrdude -p m128 -P lpt1 -c pony -m eeprom -o temp.hex
> avrdude -p m128 -P lpt1 -c pony -m flash -e
> avrdude -p m128 -P lpt1 -c pony -m flash -i 5003.hex
> 
> The idea being it takes a copy of the eeprom data, erases the device
> and then loads the flash.
> 
> This works fine, unless I have Hyper terminal running, in which case
> it'll read the eeprom, erase the device and then program the flash but
> VERY slowly,  If I close the connection to hyper terminal (I don't
> have to shut the program down, just disconnect from the com port), the
> programming speeds up back to normal speed.
> 
> I've also noticed that any comms coming in from the serial port stopps
> whilst the program is running, even though I'm using the parallel port
> (I added the -P lpt1 in case it made a difference)
> 
> does the software try and open both the serial and parallel ports?
> 

As far as I can tell, no it doesn't open the serial and parallel 
ports at the same time. It only opens the port needed.

However, avrdude for Windows is somewhat of a strange beast. avrdude 
is linked to a Cygwin DLL which provides a POSIX layer for the 
software. This way, the avrdude software can be (mostly) written with 
POSIX APIs and it will work for Windows. This is how the avrdude 
serial port communications is done.

For software to use a Windows parallel port requires a device driver 
to be installed. giveio is used to provide a user program direct 
access to the parallel port pins. This is not a normal route for 
typical Windows programs, which cannot directly access the parallel 
port.

After the March release of WinAVR I hope to modify avrdude to use the 
Windows API to do the serial port communications, and hopefully not 
rely on any Cygwin DLL for this. As to the parallel port, we're 
pretty much stuck with the giveio driver; I haven't seen a better 
solution for free anywhere else.

None of this would necessarily explain why you're getting a slowdown. 
For now I would say, "then don't do that". I'll keep this issue in 
mind though and see if the planned changes affect this at all. I 
currently suspect it might be some issue with either giveio or 
hyperterminal. Do you have another program besides hyperterminal that 
can open up a serial port? See if it happens with a different 
program. Unfortunately I don't have a parallel port programmer that I 
can test here.

If you want to take a look at the source you can always browse the 
CVS over the web. Go to the project page and click on Browse CVS 
(Sources).

Eric Weddington




reply via email to

[Prev in Thread] Current Thread [Next in Thread]