Yahoo Groups archive

AVR-Chat

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

Message

Re: [AVR-Chat] Re: avrdude and the butterfly... [LONG]

2004-08-09 by Brian Dean

On Mon, Aug 09, 2004 at 01:46:10AM -0000, Mike wrote:

> Okay, here you go:
> 
> avrdude -p atmega169 -P com1     -c butterfly  -v -v -v -v  -U
> flash:w:main.hex
> 
> avrdude: Version 4.4.0
>          Copyright (c) 2000-2004 Brian Dean, bsd@bsdhome.com
> 
>          System wide configuration file
> is "C:\WinAVR\bin\avrdude.conf"
> 
>          Using Port            : com1
>          Using Programmer      : butterfly
>          AVR Part              : ATMEGA169
>          Chip Erase delay      : 9000 us
>          PAGEL                 : P00
>          BS2                   : P00
>          RESET disposition     : dedicated
>          RETRY pulse           : SCK
>          serial program mode   : yes
>          parallel program mode : yes
>          Memory Detail         :

[ snip ]

>          Programmer Type : avr910
>          Description     : Atmel Butterfly Development Board
> 
> avrdude: Send: . [1b] . [1b] . [1b] . [1b]
> avrdude: Send: S [53]
> avrdude: Recv:
> avrdude: Send: V [56]
> avrdude: Recv:
> avrdude: Send: v [76]
> avrdude: Recv:
> avrdude: Recv:
> avrdude: Send: p [70]
> avrdude: Recv:
> Found programmer: Id = ""; type =  
>     Software Version = A.; Hardware Version = 0.�
> avrdude: Send: a [61]
> avrdude: Recv:
> avrdude: Send: b [62]
> avrdude: Recv:
> avrdude: error: buffered memory access not supported. Maybe it isn't
> a butterfly but a AVR910 device?

This is very strange.  Normally, if the programmer is not responding
at all, you'll see the error message:

   avrdude: serial_recv(): programmer is not responding

This happens if a timeout occurs while waiting for a response from the
programmer (butterfly in this case).  However, if results are
received, each "avrdude: Recv:" line above would display each byte
that was received.  But there are none.  And I don't see a code-path
such that it would not print out the received bytes, nor display an
error message.

Whoa - wait a minute.  A different serial port module is used on the
Windows platform and uses the native Windows calls, there there might
be something funny going on.  I was looking at the Mac/Unix posix
serial port code when I made my statement above.

Looking at the Windows-specific code, it appears that a call to the
native Windows routine to read the data from the COM port is returning
without producing an error message, but not returning the data either.
I'm not at all familiar with native Windows APIs so I'm going to have
to defer you to the AVRDUDE mailing list on this one
(avrdude-dev@nongnu.org).  Several of the AVRDUDE contributers support
the Windows version and they should be able to help figure this out.

If you have a Unix box (MacOS X, FreeBSD, or Linux) that you can try
it out on, that would be most useful, as that would narrow the problem
down to either Window's-only, or something that affects all our
platforms.  If you have a FreeBSD box, you should be able to build the
port easily (cd /usr/ports/devel/avrdude && make install).  Building
on Linux is not quite as easy, but just download the tar file from the
project area on Savannah, extract it, type 'configure && make
install'.  If you have a MacOS X box, it builds similar to that on
Linux, but if you need a MacOS X binary, I can send you one pre-built
if that helps (I use a MacOS X).

-Brian
-- 
Brian Dean
http://www.bdmicro.com/

Attachments

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.