[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [avr-gcc-list] Query regarding hard located variables
From: |
Anton Erasmus |
Subject: |
Re: [avr-gcc-list] Query regarding hard located variables |
Date: |
Tue, 8 Jan 2002 09:28:13 +0200 |
Hello Scott,
The following C Code will put variable gTestVar into section
"no_init". The relevent linker script commands you will need to put
this section at a specific address, I do not know.
int gTestVar __attribute__((section ("no_init");
Regards
Anton
> Hello Anton,
>
> Yes, this is the kind of thing that I am after. However I am unable to
> find any examples or doumentation on how to do this. Specifically, I
> cannot find examples or instructions on how to do this for a single
> variable (or even a single file... I can put the "magic" variable in a
> file on it's own).
>
> Does anyone have an example that they can point me towards (or send)
> which shows how to put a variable or a file into a specific section in
> RAM?
>
>
> Kind Regards,
>
> Scott
>
> Anton Erasmus wrote:
> >
> > Date sent: Mon, 07 Jan 2002 13:33:05 +1100
> > From: Scott Finneran <address@hidden>
> > Organization: Smart Container To:
> > avr-gcc-list <address@hidden> Subject:
> > [avr-gcc-list] Query regarding hard located variables
> >
> > > Hello All,
> > >
> > > I would have thought that the following would be a more commonly
> > > asked (and therefore answered) question. I can only assume that I
> > > am searching for the info in the wrong place or using the wrong
> > > keywords. If so, then I apologise in advance.
> > >
> > > I would like to know how to hard locate a variable using gcc
> > > and/or the gnu linker. The hardware that I am using has a number
> > > of memory mapped hardware registers. Obviously I would like to
> > > avoid having the linker drop variables into memory addresses where
> > > these registers live. It would also be nice to be able have
> > > variables (of my choosing) be located at these addresses. Of
> > > course the latter can be easily achieved with a pointer. Many
> > > commercial embedded compilers provide a compiler specific
> > > directive such as: eg int reg1 _at(0x4000);
> > >
> > > Others simply allow you to specify the location of specific
> > > variables in linker scripts.
> > >
> > > I have seen many websites and articles (eg from embedded.com) talk
> > > about doing this. Many more say that it is possible. None of them
> > > (that I have found) say how, or even better give an example.
> > >
> > > Can anyone point me to some info or alternatively show me how this
> > > is done?
> > >
> >
> > Hi,
> >
> > You can put each variable in it's own named section with the
> > "attribute section" command of gcc. In your linker script you can
> > define the address of each section. I am not sure how many sections
> > the linker can handle.
> >
> > Regards
> > Anton
> avr-gcc-list at http://avr1.org
>
avr-gcc-list at http://avr1.org
Re: Fwd: [avr-gcc-list] Query regarding hard located variables, john . johnson, 2002/01/12
Re: [avr-gcc-list] Query regarding hard located variables, avr-gcc, 2002/01/12