bugAVR Downloader/UploaDEr - Bugs: bug #38580, Current svn head, xmega and fuses,...


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

bug #38580: Current svn head, xmega and fuses, all fuses tied to fuse0

Submitted by:  Claus-Justus Heine <rotdrop>
Submitted on:  Sun 24 Mar 2013 01:22:56 PM UTC  
Category:  None Severity:  3 - Normal
Priority:  5 - Normal Item Group:  None
Status:  Fixed Privacy:  Public
Assigned to:  Joerg Wunsch <joerg_wunsch> Originator Name:  Claus-Justus Heine
Open/Closed:  Closed Release:  None
Programmer hardware:  Device type: 

Tue 03 Sep 2013 11:37:53 AM UTC, comment #1:

Fixed in SVN r1201.

The problem was much simpler: when cloing the JTAGICEmkII code,
the "addr += mem->offset;" statement went away, as the PDI
base offsets are no longer to be sent along in the JTAGICE3.

However, this also dropped the offset inside the fuse region.

Joerg Wunsch <joerg_wunsch>
Project AdministratorIn charge of this item.
Sun 24 Mar 2013 01:22:56 PM UTC, original submission:

The current head version of the svn trunk of avrdude contains a bug which ties all access to fuses on the XMega parts to fuse0, at least when using the jtag3 in PDI mode. However, I suspect that at least with the jtag2 ICE the same problem exists.

The point is that jtag3_read_byte() uses

However, any offset definition from /etc/avrdude.conf is ignored, so strncmp() very happily return 0 for fuse0 ... fuse5, but the address record stays at zero, though the base-address used with the programmer is that for fuse0.

The attached patch addresses this issue with two different approaches:

1 Insert a "fuses" memory section into the part definition in avrdude.conf. Fuses can then be programmed and read back as a usual memory region. This may not be too clever, as normally there is no fuse3 for the xmega. But of course, one could insert a fusesA and a fusesB region which leave out any holes in the fuses address range.

2 Change the individual programmer-driver to really check for the name fuse0 ... fuse5. To do so XXX_read_byte() and XXX_write_byte() have to be changed appropriately. The attached patch proposes one possible hack-around for the jtag3 programmer. If that patch is accepted, the source code for all other affected programmers could be changed accordingly.



Claus-Justus Heine <rotdrop>


Attached Files
file #27670:  avrdude-9999-r1139-fuses.patch added by rotdrop (2KiB - text/x-patch - Patch against svn r1139)


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 rotdrop (Submitted the item)

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

    Only logged-in users can vote.




    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2013-09-03 joerg_wunsch StatusNone => Fixed
        Assigned toNone => joerg_wunsch
        Open/ClosedOpen => Closed
    2013-03-24 rotdrop Attached File- => Added avrdude-9999-r1139-fuses.patch, #27670

    Back to the top

    Powered by Savane 3.3