AVR 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: |
Joerg Wunsch <joerg_wunsch> |
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 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.
|
Anonymous |
Depends on the following items: None found
Items that depend on this one: None found
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 | Status | None | Invalid | |
Assigned to | None | joerg_wunsch | |||
Open/Closed | Open | Closed | |||
2010-09-14 | None | Attached File | - | Added duemilanove.eep.hex, #21451 | |
Attached File | - | Added avrdude.out, #21452 |
Powered by Savane 3.13-caa5.
Corresponding source code
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.