[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[avrdude-dev] programming an xmega16d4 from an ELF file
From: |
Galen Seitz |
Subject: |
[avrdude-dev] programming an xmega16d4 from an ELF file |
Date: |
Thu, 11 Dec 2014 16:27:52 -0800 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.3.0 |
Hi,
I sent this message to the avr chat list about a year ago, but I didn't
receive any replies. I have retried both the signature verification and
the bootloader programming using avrdude 6.1 under CentOS 6.6 x86_64,
and the issues still exist. Thus I thought it would be worthwhile to
ask again here on the avrdude list. Thanks.
Currently I'm programming the bootloader and fuses of an xmega16d4 using
AVR Studio version 4.19 using the ELF Production File feature. Now that
avrdude directly supports ELF, I would like to do the same thing on a
linux host. Here are the sections in the file I've been using with AVR
Studio.
$ avr-objdump -h boot-2837-atxmega16d4.elf
boot-2837-atxmega16d4.elf: file format elf32-avr
Sections:
Idx Name Size VMA LMA File off Algn
0 .text 00004d14 00000000 00000000 000000b4 2**1
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .fuse 00000006 00820000 00820000 00004dc8 2**0
CONTENTS, ALLOC, LOAD, DATA
2 .lock 00000001 00830000 00830000 00004dce 2**0
CONTENTS, ALLOC, LOAD, DATA
3 .signature 00000003 00840000 00840000 00004dcf 2**0
CONTENTS, ALLOC, LOAD, READONLY, DATA
I have successfully programmed the fuse and lock sections using the
following options. Note that I am running a self-built version of
6.0rc1 on CentOS 6.5 x86_64.
-U fuse1:w:boot-2837-atxmega16d4.elf:e
-U fuse2:w:boot-2837-atxmega16d4.elf:e
-U fuse4:w:boot-2837-atxmega16d4.elf:e
-U fuse5:w:boot-2837-atxmega16d4.elf:e
-U lock:w:boot-2837-atxmega16d4.elf:e
I thought I might be able to verify the device signature to confirm that
the correct device is being programmed, but the following option gives
an error:
-U signature:v:boot-2837-atxmega16d4.elf:e
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9442
avrdude: NOTE: Programmer supports page erase for Xmega devices.
Each page will be erased before programming it, but no chip
erase is performed.
To disable page erases, specify the -D option; for a
chip-erase, use the -e option.
avrdude: verifying signature memory against boot-2837-atxmega16d4.elf:
avrdude: load data signature data from input file boot-2837-atxmega16d4.elf:
avrdude: ERROR: Cannot handle "signature" memory region from ELF file
avrdude: read from file 'boot-2837-atxmega16d4.elf' failed
Finally, I also get an error when I try to program the boot area.
-U boot:w:boot-2837-atxmega16d4.elf:e
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.00s
avrdude: Device signature = 0x1e9442
avrdude: NOTE: Programmer supports page erase for Xmega devices.
Each page will be erased before programming it, but no chip
erase is performed.
To disable page erases, specify the -D option; for a
chip-erase, use the -e option.
avrdude: reading input file "boot-2837-atxmega16d4.elf"
avrdude: read from file 'boot-2837-atxmega16d4.elf' failed
Can this elf file in its current form be used with avrdude? If not,
what changes need to be made, and will the resulting file still be
compatible with AVR Studio?
thanks,
galen
--
Galen Seitz
address@hidden
- [avrdude-dev] programming an xmega16d4 from an ELF file,
Galen Seitz <=