avr-chat
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[avr-chat] programming an xmega16d4 from an ELF file


From: Galen Seitz
Subject: [avr-chat] programming an xmega16d4 from an ELF file
Date: Wed, 04 Dec 2013 15:49:00 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20131030 Thunderbird/17.0.10

Hi,

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]