bugAVR Downloader/UploaDEr - Bugs: bug #31029, When programming EEPROM, bytes are...

 
 

You are not allowed to post comments on this tracker with your current authentication level.

bug #31029: When programming EEPROM, bytes are written at wrong offsets

Submitter:  None
Submitted:  Tue 14 Sep 2010 09:04:04 AM UTC
   
 
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Invalid Privacy:  Public
Assigned to:  joerg_wunsch Originator Name:  Stefan Schwarzer
Originator Email:  -email is unavailable- Open/Closed:  Closed
Release:  None Programmer hardware: 
Device type: 

Tue 16 Aug 2011 01:31:45 PM UTC, comment #2: 

I cannot see in which way writing to a wrong location could
be AVRDUDE's fault.  As the Arduino uses a bootloader, it
must be the bootloader itself which writes it to the wrong
location.  It could be argued the last page issued by
AVRDUDE is an incomplete one (only two out of four bytes
are actually written), albeit the STK500v2 protocol is
very vague about whether this is acceptable or not.  As a
matter of fact, the standard STK500 firmware accepts it
without any issues.  I tried programming your hex file into
an ATmega168P sitting in an STK500, and it worked fine.

Actually, the "delay" parameter value in AVRDUDE is too small
(5 vs. 20, as specified in the device XML file), and I'll fix
that soon.  Anyway, worst case this should result in incomplete
or faulty write operations rather than writing data to a wrong
location.

I'm closing it as "Invalid" since I don't see what AVRDUDE
should change in order to make the Arduino bootloader work
correctly.

Joerg Wunsch <joerg_wunsch>
Group administrator
Tue 14 Sep 2010 09:28:50 AM UTC, comment #1: 

The EESAVE fuse bit isn't relevant here. I had in mind that I should add this information before I discovered the two bytes were actually written, but at a different offset.

Stefan

Stefan Schwarzer <sschwarzer>
Tue 14 Sep 2010 09:04:04 AM UTC, original submission:  

When I try to send the attached hex file to my Arduino ATmega328p, the last two bytes (0x99, 0x06) are written at offset 0x78 instead of 0x3c (as can be seen by dumping the EEPROM data in avrdude's terminal mode). Because of that, the verification step fails. Contrary to the original state of bug #22535, the EESAVE fuse bit is not set.

The command line I used to program the EEPROM of my board is

avrdude -vvvv -c stk500v2 -P /dev/ttyUSB0 -p atmega328p -e -U eeprom:w:duemilanove.eep.hex:i

Avrdude version: 5.10
OS: Ubuntu Linux 10.04, kernel 2.6.32-24-generic-pae
Programmer: mySmartUSB light ( http://shop.myavr.com/index.php?sp=article.sp.php&artID=200006 )

Attachments:
- Intel hex file for EEPROM
- Output of avrdude -vvvv (see commandline above)

Stefan

Anonymous

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attached Files
file #21451:  duemilanove.eep.hex added by None (189B - text/x-hex)
file #21452:  avrdude.out added by None (30KiB - application/octet-stream)

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by joerg_wunsch (Posted a comment)
  • -email is unavailable- added by sschwarzer (Posted a comment)
  • -email is unavailable- added by None (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

     

    Follow 5 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2011-08-16 joerg_wunsch StatusNone Invalid
        Assigned toNone joerg_wunsch
        Open/ClosedOpen Closed
    2010-09-14 None Attached File- Added duemilanove.eep.hex, #21451
        Attached File- Added avrdude.out, #21452

    Back to the top

    Powered by Savane 3.13-caa5.
    Corresponding source code