Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Thread

Strange problems

Strange problems

2004-09-24 by mikkohelin

I implemented a flash burner for AT29C256 using XMODEM protocol with 
8515 and STK200. Xmodem (checksum) uses 128 byte page size while the 
Atmel flash eeprom use 64 byte page size. So I use for loop (~40000 
iterations, null body) for delay after writing the data into flash. 
However, my program freezed in the second delay loop. It can't be 
because of TeraTerm Pro, it should wait the ACK byte for a second or 
so? Could it be a WDT issue? I used gcc-avr, and the code from 
xnutboot.c (converted to 8515). Also I called wdt_disable() in the 
beginning.

Re: [AVR-Chat] Strange problems

2004-09-24 by Dave VanHorn

At 03:51 PM 9/24/2004, mikkohelin wrote:

>I implemented a flash burner for AT29C256 using XMODEM protocol with 
>8515 and STK200. Xmodem (checksum) uses 128 byte page size while the 
>Atmel flash eeprom use 64 byte page size. So I use for loop (~40000 
>iterations, null body) for delay after writing the data into flash. 

My first suggestion, would be that you poll for write complete, rather than using the static delay. It will be faster as well.

Re: Strange problems

2004-09-28 by mikkohelin

--- In AVR-Chat@yahoogroups.com, Dave VanHorn <dvanhorn@d...> wrote:
> At 03:51 PM 9/24/2004, mikkohelin wrote:
> 
> >I implemented a flash burner for AT29C256 using XMODEM protocol 
with 
> >8515 and STK200. Xmodem (checksum) uses 128 byte page size while 
the 
> >Atmel flash eeprom use 64 byte page size. So I use for loop 
(~40000 
> >iterations, null body) for delay after writing the data into 
flash. 
> 
> My first suggestion, would be that you poll for write complete, 
rather than using the static delay. It will be faster as well.

I tried /DATA polling, didn't work. On AT29C256 pin I/O6 (bit6) can 
also be polled, during program cycle it will toggle. I have to check 
my code, maybe I didn't do it properly. Still wondering what happens 
there during the delays generated by for loops ..

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.