Can't erase an ATmega644p

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Can't erase an ATmega644p

Daniel Rozsnyó
Hi,
    I am unable to work on a project which uses an ATmega644P part
because avrdude behaves strange.

    1) it wont exit after processing all operations, all the time I have
to use Ctrl+C

    2) it is not able to erase the chip, but it is able to program it!
(see the attachments)

Any idea?

Daniel


_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev

erase.txt (8K) Download Attachment
program.txt (36K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: Can't erase an ATmega644p + timing error

Daniel Rozsnyó
That does happen also on a different PCB, with different mcu (ATmega88)
and different programmer ("arduino-ft232r" - no buffer is there now).



$ avrdude -c arduino-ft232r -P usb -p m88 -e

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930a
avrdude: erasing chip
avrdude: Device is not responding to program enable. Check connection.



The chip actually gets erased and I can program it using the -D option
in the next run:


$ avrdude -c arduino-ft232r -P usb -p m88 -D -U flash:w:dp2lcd.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930a
avrdude: reading input file "dp2lcd.hex"
avrdude: input file dp2lcd.hex auto detected as Intel Hex
avrdude: writing flash (1346 bytes):

Writing | ################################################## | 100% 0.41s

avrdude: 1346 bytes of flash written
avrdude: verifying flash memory against dp2lcd.hex:
avrdude: load data flash data from input file dp2lcd.hex:
avrdude: input file dp2lcd.hex auto detected as Intel Hex
avrdude: input file dp2lcd.hex contains 1346 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 0.40s

avrdude: verifying ...
avrdude: 1346 bytes of flash verified

avrdude: safemode: Fuses OK
avrdude done.  Thank you.




Without the -D it erases the chip and then stops:


$ avrdude -c arduino-ft232r -P usb -p m88 -U flash:w:dp2lcd.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.01s

avrdude: Device signature = 0x1e930a
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be
performed
          To disable this feature, specify the -D option.
avrdude: erasing chip
avrdude: Device is not responding to program enable. Check connection.


avrdude done.  Thank you.




( That's today SVN trunk version )

I have tried to remove the strange not-exiting, by commenting out some
calls in the closing code:


//        ftdi_usb_close(handle);
//        ftdi_deinit (handle); // TODO this works with libftdi 0.20,
but hangs with 1.0
//        ftdi_free(handle);


The code actually hangs sooner than the comment indicate, on
ftdi_usb_close(). When I commented it out, it hangs on the deinit and so
on, so that all three have to go out to make avrdude to exit (and not
break my makefiles).


And there is some timing issue as well - when I have an empty MCU, I
must set the fuses with -b 1200 speed option. On -b 9600 it does not
work. I have looked to the source code - avrdude multiplies the freq by
2, and libftdi by another 4. Is that still correct? I can make some
measurement using my digital scope if needed... as this is really
annoying that the hardware does something different than we would expect.


Daniel


On 06/25/2013 02:50 PM, "Ing. Daniel Rozsnyó" wrote:

> Hi,
>     I am unable to work on a project which uses an ATmega644P part
> because avrdude behaves strange.
>
>     1) it wont exit after processing all operations, all the time I have
> to use Ctrl+C
>
>     2) it is not able to erase the chip, but it is able to program it!
> (see the attachments)
>
> Any idea?
>
> Daniel
>
>
>
> _______________________________________________
> avrdude-dev mailing list
> [hidden email]
> https://lists.nongnu.org/mailman/listinfo/avrdude-dev
>


_______________________________________________
avrdude-dev mailing list
[hidden email]
https://lists.nongnu.org/mailman/listinfo/avrdude-dev