avrdude-dev
[Top][All Lists]
Advanced

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

[avrdude-dev] Bad programming speed on AT90S8535 using AVRdude


From: idefixx
Subject: [avrdude-dev] Bad programming speed on AT90S8535 using AVRdude
Date: Mon, 17 Nov 2003 11:46:04 +1100

Hi guys!
Was pretty busy during last few weeks. Now I continue my studies on programming 
speed.

I did some oscilloscope measurments on the SCK signal (using pony programmer 
dongle) and found out the following:

* while programming the first 40% of the AVR flash (~3200 bytes) the 
programming mainly runs in a loop like that:
1) Performing the "Write Program Memory" command for 3 times (writes 3 bytes to 
flash memory) by using data polling between the commands two times
2) Then the SCK signal is logical '0' for the time of "min_write_delay" as set 
in avrdude.conf
3) continued with 1)

--> write --> poll --> write --> poll --> write --> wait min_write_delay -->
<------------------------------------------------------------------------------------------------<

* at about 40% of the flash is written the signal changes to a loop that mainly 
runs like that:
1) Performing the "Write Program Memory" command for 3 times (writes 3 bytes to 
flash memory) by using data polling two times
2) Then the SCK signal is logical '0' for the time of "min_write_delay" as set 
in avrdude.conf
3) Performing the "Write Program Memory" command for 1 time
4) Then the SCK signal is logical '0' for the time of "max_write_delay" as set 
in avrdude.conf
5) continued with 1)


--> write --> poll --> write --> poll --> write --> wait min_write_delay --> 
write --> wait min_write_delay -->
<-------------------------------------------------------------------------------------------------------------------------------------------------<

I also measured the SCK signal of the STK500 board and it seems to use data 
polling exclusively and therefore the programming here is much faster.

Why does AVRdude perform so many min_ and max_write_delay's? And why does the 
behaviour change at 40% ?

/idefixx


reply via email to

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