[Top][All Lists]
[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