[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avrdude-dev] Win 32 port
From: |
Martin Thomas |
Subject: |
Re: [avrdude-dev] Win 32 port |
Date: |
Thu, 12 Feb 2004 18:27:23 +0100 |
> On Thursday 12 February 2004 15:51, Daniel Williamson wrote:
> > Hi Martin,
> >
> > I have eventually got back to processors and played with the native
> > win 32 port from the link you gave me. I no longer get negative
> > times showing up but I still get errors.
> > A verify with the cygwin build also showed up errors and the board
> > wasn't working with known good software.
>
> Would you please post the times needed for write and verify. This way
> we can probably tell if Win2k behaves differently from WinXP.
>
> > Here are a list of errors that I saw. Note that I got multiples of
> > these errors and most of the time the mismatch was at 0x0200.
> > Funny that it is always on a page boundary?
>
> If writing of a page fails, than it is likely that verify fails on a
> page boundary. However, I would like to analyse the error pattern in
> greater detail. Would you please send the original .hex-file
> and the read-back contents of flash to my email-address (not to the
> list).
>
> Please use a large file for this.
>
> > Occurence 1
> > avrdude: verifying ...
> > avrdude: verification error, first mismatch at byte 0x0000
> > 0x0c != 0x00
> > avrdude: verification error; content mismatch
>
> This one is weird. I would have expected a 0xff ;-)
>
> > Hope this helps.
>
> We are getting close ;-)
Daniel,
Did you test the latest ("0.4") version of the W32 port? It still
needs testing but worked with my pony-stk200 PPI (W2k,
P2/400, mega16, 14KB hex). There has been a problem with
the delays.
I don't know much about the correct timing with PPI interfaces
but the problems is kind of solved by "defing":
#define usleep(us) Sleep(us/1000*3)
I could not find a uSec resolution delay in the WIN32-API.
W32-Sleep gets the parameter in Milliseconds. But it seems to be
"too fast" doubeling was not enough, multiply by 3 worked
(flash and verify). I know: this is still no "clean" solution and
may slow down things where it's not needed.
In the "cywin-dll" code there is a workaround for
the missing usleep but I've disabled this the WIN32 port.
The "cygwin-dll" workaround also included a minimum delay
value which is not used in the W32-port. It might be just one
delay that is to short but I could not find the right one so
far.
A cleaner solution might be a delay-calibration on startup.
This might be a "nice" feature in the Linux/Unix version too.
If you havn't tried V0.4 please get it from:
http://www.siwawi.arubi.uni-kl.de/avr_projects/index.html#avrdudew32
and give it a try. Thanks
Martin