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

Submitter:  Claus-Justus Heine <rotdrop>
Submitted:  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 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>
Group administrator
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


strncmp("fuse", ..., strlen("fuse")


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.

Best,

Claus

Claus-Justus Heine <rotdrop>

 

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

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)
  •  

    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 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.13-758e.
    Corresponding source code