This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: Data section in redboot
- From: Jonathan Larmour <jlarmour at redhat dot com>
- To: "Agarwal, Lomesh" <lomesh dot agarwal at intel dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Tue, 28 May 2002 22:12:54 +0100
- Subject: Re: [ECOS] Data section in redboot
- Organization: Red Hat UK Ltd.
- References: <01BDB7EEF8D4D3119D95009027AE999512F6600F@fmsmsx33.fm.intel.com>
"Agarwal, Lomesh" wrote:
>
> I have a dual processor board and I need to copy data section from ROM of
> first processor to RAM of another processor after I jump to C Code (at this
> point I am running out of RAM of first processor and everything is copied to
> RAM). So I am using __rom_data_start, __ram_data_start, __ram_data_end
> defined in vectors.s
> I defined all these 3 as extern in my C code and when I access these values
> of these are 0. I tried using .__rom_data_start, .__ram_data_start,
> .__ram_data_end but compiler gives me error. I checked the values when I use
> them in vectors.s and the values seems to be ok (at this point also I am
> running out of RAM of first processor and everything is copied to RAM). But
> I don't find the same value later.
> So, the question is how can I access these.
they should be declared as:
char __rom_data_start[], __ram_data_start[], __ram_data_end;
And then used by taking their *address*, i.e. &__rom_data_start.
Jifl
--
Red Hat, Rustat House, Clifton Road, Cambridge, UK. Tel: +44 (1223) 271062
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss