avrdude-dev
[Top][All Lists]
Advanced

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

[avrdude-dev] [bug #41561] AVRDUDE 6.0.1/USBasp doesn't write first byte


From: Randy Perkins
Subject: [avrdude-dev] [bug #41561] AVRDUDE 6.0.1/USBasp doesn't write first bytes of flash page
Date: Wed, 19 Nov 2014 21:34:05 +0000
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.122 Safari/537.36

Follow-up Comment #22, bug #41561 (project avrdude):

thanks for confirming the issue, verifying that it isnt board dependent, and
explaining why usbasp doesnt write an entire 256 byte page at once.

Hopefully a solution will present itself that can use the new 'per page basis'
but will also allow existing usbasp's to continue to operate with avrdude 6.x
and beyond.

If an update to the usbasp firmware comes out of this I would like to see if
it is possible to submit for review portions of a patch of the 2009 firmware. 
I do not understand completely how the firmware works but believe most of the
benefits of the patch were incorporated into the 2011 firmware except for the
pulsing of the RST instead of the SCK in the isp.c source code for the usbasp
firmware.  I sent a message out to Thomas Fischl on 11/13/12 but got no
response.  Maybe the timing is better now or maybe this change is not needed. 
The issue to my limited understanding is that sometimes the usbasp would hang
due to unnecessary pulses of the RST

I probably shouldnt have attached this with this bug and apologize for that. 
It just feels like an opportune time to possible get some attention for it. 
I'd like nothing better than to ship official, stock, usbasp firmware on my
devices .

Any advise would be appreciated.  Thanks

 --- isp.c.orig  2013-03-20 06:23:23.113763503 -0400
+++ isp.c       2013-03-20 08:00:01.725692472 -0400
@@ -197,9 +197,9 @@

                /* pulse RST */
                ispDelay();
-               ISP_OUT |= (1 << ISP_RST); /* RST high */
+               ISP_OUT |= (1 << ISP_SCK); /* SCK high */
                ispDelay();
-               ISP_OUT &= ~(1 << ISP_RST); /* RST low */
+               ISP_OUT &= ~(1 << ISP_SCK); /* SCK low */
                ispDelay();

                if (ispTransmit == ispTransmit_hw) {


    _______________________________________________________

Reply to this item at:

  <http://savannah.nongnu.org/bugs/?41561>

_______________________________________________
  Message sent via/by Savannah
  http://savannah.nongnu.org/




reply via email to

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