avr-libc-dev
[Top][All Lists]
Advanced

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

[avr-libc-dev] Re: Unified ELF file [was: RE: [avr-chat] Re: GUI wrapper


From: Joerg Wunsch
Subject: [avr-libc-dev] Re: Unified ELF file [was: RE: [avr-chat] Re: GUI wrapper for avrdude]
Date: Thu, 30 Aug 2007 07:16:24 +0200 (MET DST)

address@hidden (Erik Christiansen) wrote:

>> How does a GNU assembler-only project specify fuse settings, lock
>> bit settings, etc., in this potential scheme?

> If I've correctly understood Joerg, then the magic addresses are
> specified by linker script memory regions. I'd expect to just do the
> same in another assembler-only project.

Yes, just the same as they already are right now for EEPROM.

> For the the new regions, it is the work of a moment to assign an
> output section to a specific memory region, and it is easier to
> assign stuff to input sections in assembler than it is in
> 'C'. Defining fuse values in assembler source is effortless:

>    .global some_symbol_if_desired

>    .section .avrfuses,"a"
> some_symbol_if_desired:
>    .byte <fuse_value1>
>    .byte <fuse_value2>
>    .byte <fuse_value3>

Something like that, where we could probably also provide similar
symbolic names and macros as we do in C.  The preprocessor knows the
__ASSEMBLER__ symbol for assembly-language jobs.

I'd like to get everything into a single section for all fuses (rather
than three different sections), as that would make it easier to extend
the scheme once a new AVR suddenly comes out that needs low, high,
extended, and superiour fuse bytes ;-), but I don't have a
proof-of-concept for that idea yet.  If all else fails, we could still
opt for differently named input section (lfuse, hfuse, efuse), and
combine them in the linker script into one output section.  Again,
that would be similar to combining .eeprom* input sections into just
one .eeprom output section right now.

-- 
cheers, J"org               .-.-.   --... ...--   -.. .  DL8DTL

http://www.sax.de/~joerg/                        NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)




reply via email to

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