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

Submitted by:  None
Submitted on:  Tue 14 Sep 2010 09:04:04 AM UTC  
 
Category: NoneSeverity: 3 - Normal
Priority: 5 - NormalItem Group: None
Status: InvalidPrivacy: Public
Assigned to: Joerg Wunsch <joerg_wunsch>Originator Name: Stefan Schwarzer
Originator Email: -unavailable-Open/Closed: Closed
Release: NoneProgrammer 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>
Project AdministratorIn charge of this item.
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

 

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
  • -unavailable- added by joerg_wunsch (Posted a comment)
  • -unavailable- added by sschwarzer (Posted a comment)
  • -unavailable- added by None (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 5 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Tue 16 Aug 2011 01:31:45 PM UTCjoerg_wunschStatusNone=>Invalid
      Assigned toNone=>joerg_wunsch
      Open/ClosedOpen=>Closed
    Tue 14 Sep 2010 09:04:04 AM UTCNoneAttached File-=>Added duemilanove.eep.hex, #21451
      Attached File-=>Added avrdude.out, #21452

    Back to the top


    Powered by Savane 3.1-cleanup1