AVR Downloader/UploaDEr - Bugs: bug #28744, Can't load bootloader to xmega128a1
You are not allowed to post comments on this tracker with your current authentication level.
bug #28744: Can't load bootloader to xmega128a1
Submitter: | giuliano carlini <gorillacoder> | ||
Submitted: | Wed 27 Jan 2010 07:43:56 AM UTC | ||
Votes: | 6 | ||
Category: | None | Severity: | 3 - Normal |
Priority: | 5 - Normal | Item Group: | None |
Status: | Fixed | Privacy: | Public |
Assigned to: | joerg_wunsch | Originator Name: | giuliano carlini |
Open/Closed: | Closed | Release: | None |
Programmer hardware: | Device type: |
( Jump to the original submission )
Thu 19 Apr 2012 09:20:56 AM UTC, comment #26: |
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Fri 13 Apr 2012 03:28:27 PM UTC, comment #25: Now also fixed for firmware >= 7.x, using CMND_SET_XMEGA_PARAMS.
|
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Fri 30 Mar 2012 04:22:20 PM UTC, comment #24: Fixed for firmware versions < 7.x (where it didn't work for
|
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Fri 03 Feb 2012 09:15:03 AM UTC, comment #23: For this test I compiled avr-xboot and try to program my target with the commande line :
|
Damien Espitallier <espitall> |
Thu 02 Feb 2012 05:29:27 PM UTC, comment #22: I'm interested in seeing the differences between different
|
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Fri 27 Jan 2012 02:23:01 PM UTC, comment #21: I compiled avrdude with modified sources inspired by these patches (and another little modification for xmega auto reset after programmation), and it worked well until i got a new JTAGICE.
|
Damien Espitallier <espitall> |
Tue 13 Dec 2011 10:18:37 AM UTC, comment #20: But don't you have to be able to upload a program to the xmega before you can debug it?
|
giuliano carlini <gorillacoder> |
Mon 12 Dec 2011 04:15:52 PM UTC, comment #19: The primary reason is: lack of time, vs. different dynamic priorities.
|
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Mon 12 Dec 2011 02:27:58 PM UTC, comment #18: Is there a reason a fix for this hasn't been integrated into trunk? Is the solution incomplete? I'd be willing to put some time into getting an acceptable patch put together if the maintainers could let us know what they'd like to see.
|
Josh Perry <joshperry> |
Sat 21 May 2011 09:17:06 PM UTC, comment #17: I am the lucky owner of a Rev A jtagicemkII. I was unable to program the boot section of a xmega256a3b with the listed patches (rev3 + ..private.h mods), using the JTAG protocol. Main flash section and fuses would program OK. With AvrStudio5 my mkII would program the boot section of the chip, so I could not leave it to that!
|
Joseph Lacerte <jlacerte> |
Fri 07 May 2010 01:10:26 AM UTC, comment #16: It might not be a bad idea to support that so people can upload a hex file to the application table section. However, it doesn't seem to be differentiated hardware-wise, at least from a standpoint of writing data to it with avrdude. The page write instruction is the same for application and application table. The point is that it's different for the bootloader section and avrdude has to send the proper instruction, otherwise the data doesn't get written. |
Alex Forencich <aforencich> |
Thu 06 May 2010 07:49:56 PM UTC, comment #15: In fact, I believe the xmegs have three flash sections. At least according to the xmega A1 datasheet section 7.3 In-System Programmable Flash Program Memory, which lists the sections "Application", "Application Table", and "Boot". As the Application Table section could be considered to be just the end of the Application section, perhaps there is no reason to distinguish. |
giuliano carlini <gorillacoder> |
Mon 03 May 2010 06:56:19 PM UTC, comment #14: Actually, I just came up with an elegant solution for this. I won't submit a patch for this, since it involves modifying serveral files including avrdude.conf, but here it is: since the 'flash' memory is really a 'meta-memory' that's a concatenation of 'application' and 'boot', all you need to do is change avrdude.conf to show this and then add support in do_op to break the source file into two parts and write each one individually to 'application' and 'boot'. Say, for the 128A1, you could have an avrdude.conf entry that looks like this:
|
Alex Forencich <aforencich> |
Mon 03 May 2010 04:26:33 AM UTC, comment #13: Thanks, that sounds like an idea then. Yes, maybe it should
|
Joerg Wunsch <joerg_wunsch>![]() ![]() |
Mon 03 May 2010 02:15:20 AM UTC, comment #12: OK, here is one more fix for this bug that's been driving me up the wall: there are two separate flash write commands for the main flash and for the boot section. This latest patch adds support for automatic switching while writing to the 'flash' memory. Slightly hackish, might want to adjust how the config file is structured to make it not-so-hackish. However, now the xmega boot block can be reliably programmed! |
Alex Forencich <aforencich> |
Mon 22 Mar 2010 12:21:34 AM UTC, comment #11: Generating and uploading raw binary works fine.
|
giuliano carlini <gorillacoder> |
Thu 18 Mar 2010 06:23:10 PM UTC, comment #10: No worries! Thanks for all the help.
|
giuliano carlini <gorillacoder> |
Thu 18 Mar 2010 05:28:53 PM UTC, comment #9: Sorry for the delay -- my mail filters got ahold of these notifications. Hopefully fixed.
|
Kurt Mahan <kmahan> |
Mon 15 Mar 2010 07:03:52 AM UTC, comment #8: Hi, further experimentation shows that this problem seems related to the input file syntax.
|
giuliano carlini <gorillacoder> |
Sun 28 Feb 2010 09:58:11 PM UTC, comment #7: You say you could burn a bootloader, so clearly we're doing something different. Can you post your bootloader and the command you use to upload it? Perhaps strip the bootloader to something trivial, like "blink" ...
|
giuliano carlini <gorillacoder> |
Sun 28 Feb 2010 09:56:33 PM UTC, comment #6: Still doesn't seem to be working. Perhaps I'm doing soemthing wrong? The below has been while trying to burn using the arduino IDE. Later this week I'll try it directly using avrdude from the command line, and I'll be trying various compiler/linker options to see if that helps, though the current ones ought to be fine.
|
giuliano carlini <gorillacoder> |
Fri 26 Feb 2010 01:11:53 AM UTC, comment #5: New patch with a couple more lines of code to make writing the usersig work. This allows us to do a full program on our 128a1 board (fuses/lock/boot/app/usersig). |
Kurt Mahan <kmahan> |
Thu 25 Feb 2010 01:15:11 AM UTC, comment #4: I've attached xmega_boot.patch which addresses the issue of not being able to program the boot flash.
|
Kurt Mahan <kmahan> |
Wed 24 Feb 2010 10:04:36 PM UTC, comment #3: I'm experiencing the same problem. I'm unable to write a binary to boot: or a hex (with boot addressing) to flash: . Writing to the application space (0) works just fine. This is on an xmega128a1 using jtag2pdi using avrdude 5.10. |
Kurt Mahan <kmahan> |
Tue 16 Feb 2010 06:09:14 PM UTC, comment #2: Hi, just wondering whether there is any interest in fixing this bug? Or if it's been noticed at all ;-> Thanks! |
giuliano carlini <gorillacoder> |
Sun 31 Jan 2010 06:09:30 AM UTC, comment #1: Uploads fine using avrstudio. Would hate to have to use avrstudio/windows rather than the avr tool chain on osx/linux just because of this bug. |
giuliano carlini <gorillacoder> |
Wed 27 Jan 2010 07:43:56 AM UTC, original submission:
I'm using the lates AVR CrossPack as the basis of my toolchain. I've replaced avrdude 5.8 with avrdude 5.10 that I built myself. I had to patch avrdude to correctly use libusb.
|
giuliano carlini <gorillacoder> |
Depends on the following items: None found
Items that depend on this one: None found
There are 6 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 24 latest changes.
Date | Changed by | Updated Field | Previous Value | => | Replaced by |
---|---|---|---|---|---|
2012-04-19 | joerg_wunsch | Open/Closed | Open | ![]() |
Closed |
2012-04-13 | joerg_wunsch | Status | In Progress | ![]() |
Fixed |
2012-03-30 | joerg_wunsch | Status | None | ![]() |
In Progress |
Assigned to | None | ![]() |
joerg_wunsch | ||
2012-02-03 | espitall | Attached File | - | ![]() |
Added logs.zip, #24969 |
2012-02-03 | espitall | Attached File | - | ![]() |
Added xboot.hex, #24967 |
Attached File | - | ![]() |
Added xboot.elf, #24968 | ||
2011-12-12 | joshperry | Attached File | - | ![]() |
Added Portfile, #24576 |
Attached File | - | ![]() |
Added patch-jtagmkII_private.h.diff, #24577 | ||
Attached File | - | ![]() |
Added patch-jtagmkII.c.diff, #24578 | ||
Carbon-Copy | - | ![]() |
Added joshperry | ||
2011-05-21 | jlacerte | Attached File | - | ![]() |
Added xmega_boot_jtag.patch, #23435 |
Carbon-Copy | - | ![]() |
Added jlacerte | ||
2010-05-03 | aforencich | Attached File | - | ![]() |
Added xmega_boot_rev3.patch, #20392 |
Carbon-Copy | - | ![]() |
Added aforencich | ||
2010-03-16 | tz1 | Carbon-Copy | - | ![]() |
Added tz1 |
2010-03-15 | gorillacoder | Attached File | - | ![]() |
Added ATmegaBOOT_xplain.hex.GOOD, #19948 |
Attached File | - | ![]() |
Added ATmegaBOOT_xplain.hex.BAD, #19949 | ||
2010-02-26 | kmahan | Attached File | - | ![]() |
Added xmega_boot_rev2.patch, #19796 |
2010-02-25 | kmahan | Attached File | - | ![]() |
Added xmega_boot.patch, #19790 |
2010-02-24 | kmahan | Carbon-Copy | - | ![]() |
Added kmahan |
2010-01-27 | gorillacoder | Attached File | - | ![]() |
Added test.c, #19553 |
Attached File | - | ![]() |
Added test0.hex, #19554 | ||
Attached File | - | ![]() |
Added test2.hex, #19555 |
Flashing ELF files works now, too.