* [ECOS] memory map question
@ 2001-08-24 2:35 Simpkins, Andy
2001-08-24 7:08 ` Gary Thomas
0 siblings, 1 reply; 4+ messages in thread
From: Simpkins, Andy @ 2001-08-24 2:35 UTC (permalink / raw)
To: ecos-discuss
Hi there,
I am trying to map some data to a specific address in FLASH on my custom
target board (ARM7TDMI core)
The data is defined as
unsigned char globalArchive[] __attribute__ ((section (".ivoryDataStore")))
=
{0x04, 0x18, 0x00, 0x00, 0x81);
I have added the following to arm.ld
#define SECTION_ivoryDataStore(_region_, _vma_, _lma_) \
.ivoryDataStore _vma_ : _lma_ \
{ FORCE_OUTPUT; *(.ivoryDataStore) } \
> _region_
And have attempted to define ivoryDataStore in my memory map of the config
tool (1.3.1)
I kind of hoped that the name would have shown up in the drop down box for
Linker-defined, as it didn't I had to specify it as user defined...
i.e.
Name - User-defined: ivoryDataStore
- Known Size: 0x2000
Final Location (VMA) - Absolute: 0xe0000
however when I compile my code I get the following :
arm-elf-gcc *.o ../../API/*/*.o -L /i/eCOSbuilds/a166_install/lib/
-Ttarget.ld -nostdlib -Xlinker -Map -Xlinker mapfile.txt
/tools/H-i686-pc-cygwin/arm-elf/bin/ld: warning: no memory region specified
for
section `.ivoryDataStore'
and the following in mapfile.txt
snip
.gcc_except_table
0x000ab11c 0x0
0x000ab11c .=.
*(.gcc_except_table)
0x000e0000 __ivoryDataStore=0xe0000
0x41000000 __reserved_vectors=0x41000000
0x41001000 .=(__reserved_vectors+0x1000)
0x41001000 __reserved_not_mapped=0x41001000
0x41008000 .=(__reserved_not_mapped+0x7000)
snip
.ivoryDataStore
0x41008000 0x25bc
.ivoryDataStore
0x41008000 0x25bc ../../API/Ivory/globalArchive.o
0x41008000 globalArchive
0x000ab11c __rom_data_start=LOADADDR(.data)
0x4100a5bc __ram_data_end=.
0x4100a5bc PROVIDE (__ram_data_end, .)
0x4100a5bc _edata=.
0x4100a5bc PROVIDE (edata, .)
0x000ac0d8 PROVIDE (__rom_data_end,
(LOADADDR(.data)+SIZEOF(.data)))
.bss 0x4100a5bc 0x59eb8
What I wanted is the memory map to show
0x000e0000 0x25bc ../../API/Ivory/globalArchive.o
0x000e0000 globalArchive
Would someone be kind enough to show me what I am doing wrong?
Regards,
Andy
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [ECOS] memory map question
2001-08-24 2:35 [ECOS] memory map question Simpkins, Andy
@ 2001-08-24 7:08 ` Gary Thomas
0 siblings, 0 replies; 4+ messages in thread
From: Gary Thomas @ 2001-08-24 7:08 UTC (permalink / raw)
To: Simpkins, Andy; +Cc: ecos-discuss
On 24-Aug-2001 Simpkins, Andy wrote:
> Hi there,
>
> I am trying to map some data to a specific address in FLASH on my custom
> target board (ARM7TDMI core)
>
> The data is defined as
>
> unsigned char globalArchive[] __attribute__ ((section (".ivoryDataStore")))
> =
> {0x04, 0x18, 0x00, 0x00, 0x81);
>
>
> I have added the following to arm.ld
>
>#define SECTION_ivoryDataStore(_region_, _vma_, _lma_) \
> .ivoryDataStore _vma_ : _lma_ \
> { FORCE_OUTPUT; *(.ivoryDataStore) } \
> > _region_
>
> And have attempted to define ivoryDataStore in my memory map of the config
> tool (1.3.1)
> I kind of hoped that the name would have shown up in the drop down box for
> Linker-defined, as it didn't I had to specify it as user defined...
>
> i.e.
> Name - User-defined: ivoryDataStore
> - Known Size: 0x2000
> Final Location (VMA) - Absolute: 0xe0000
>
> however when I compile my code I get the following :
>
>
> arm-elf-gcc *.o ../../API/*/*.o -L /i/eCOSbuilds/a166_install/lib/
> -Ttarget.ld -nostdlib -Xlinker -Map -Xlinker mapfile.txt
> /tools/H-i686-pc-cygwin/arm-elf/bin/ld: warning: no memory region specified
> for
> section `.ivoryDataStore'
Does .ivoryDataStore end up in your "target.ld" file (the linker script)? If
not, it's a problem with the macros & sections.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ECOS] memory map question
[not found] <XFMail.20010824092104.gthomas@redhat.com>
@ 2001-08-24 8:40 ` John Dallaway
0 siblings, 0 replies; 4+ messages in thread
From: John Dallaway @ 2001-08-24 8:40 UTC (permalink / raw)
To: ecos-discuss
On 24-Aug-2001 Simpkins, Andy wrote:
> I have added the following to arm.ld
>
> #define SECTION_ivoryDataStore(_region_, _vma_, _lma_) \
> .ivoryDataStore _vma_ : _lma_ \
> { FORCE_OUTPUT; *(.ivoryDataStore) } \
> > _region_
>
> And have attempted to define ivoryDataStore in my memory
> map of the config tool (1.3.1)
> I kind of hoped that the name would have shown up in the
> drop down box for Linker-defined [ sections ]
It should appear in the drop down box of linker-defined sections. Is the
format of the #define statement identical to that of the other sections in
arm.ld? Did you restart the config tool?
John Dallaway
^ permalink raw reply [flat|nested] 4+ messages in thread
* RE: [ECOS] memory map question
[not found] <919A3A7F776FD311AFD600508B44A7F3017959DB@ramhqlon.transcomm.uk.com>
@ 2001-08-24 8:12 ` Gary Thomas
0 siblings, 0 replies; 4+ messages in thread
From: Gary Thomas @ 2001-08-24 8:12 UTC (permalink / raw)
To: Simpkins, Andy; +Cc: eCos Discussion
Note: email sent directly to eCos engineers which is not copied to
the eCos discussion list can and will be ignored.
It looks like MLT (ConfigTool) didn't setup your .ldi file correctly.
On 24-Aug-2001 Simpkins, Andy wrote:
>
>
>> -----Original Message-----
>> From: Gary Thomas [ mailto:gthomas@redhat.com ]
>> Sent: 24 August 2001 15:16
>> To: Simpkins, Andy
>> Cc: ecos-discuss@sourceware.cygnus.com
>> Subject: RE: [ECOS] memory map question
>>
>>
>>
>> On 24-Aug-2001 Simpkins, Andy wrote:
>> > Hi there,
>> >
>> > I am trying to map some data to a specific address in FLASH
>> on my custom
>> > target board (ARM7TDMI core)
>> >
>> > The data is defined as
>> >
>> > unsigned char globalArchive[] __attribute__ ((section
>> (".ivoryDataStore")))
>> > =
>> > {0x04, 0x18, 0x00, 0x00, 0x81);
>> >
>> >
>> > I have added the following to arm.ld
>> >
>> >#define SECTION_ivoryDataStore(_region_, _vma_, _lma_) \
>> > .ivoryDataStore _vma_ : _lma_ \
>> > { FORCE_OUTPUT; *(.ivoryDataStore) } \
>> > > _region_
>> >
>> > And have attempted to define ivoryDataStore in my memory
>> map of the config
>> > tool (1.3.1)
>> > I kind of hoped that the name would have shown up in the
>> drop down box for
>> > Linker-defined, as it didn't I had to specify it as user defined...
>> >
>> > i.e.
>> > Name - User-defined: ivoryDataStore
>> > - Known Size: 0x2000
>> > Final Location (VMA) - Absolute: 0xe0000
>> >
>> > however when I compile my code I get the following :
>> >
>> >
>> > arm-elf-gcc *.o ../../API/*/*.o -L /i/eCOSbuilds/a166_install/lib/
>> > -Ttarget.ld -nostdlib -Xlinker -Map -Xlinker mapfile.txt
>> > /tools/H-i686-pc-cygwin/arm-elf/bin/ld: warning: no memory
>> region specified
>> > for
>> > section `.ivoryDataStore'
>>
>> Does .ivoryDataStore end up in your "target.ld" file (the
>> linker script)? If
>> not, it's a problem with the macros & sections.
>>
>
> not quite, I get
>
> __ivoryDataStore = 0xe0000; . = __ivoryDataStore + 0x20000;
>
> where as the items that apper in the eCos config tool as 'linker defined'
> look like
>
> .rodata ALIGN (0x4) : { . = . ; *(.rodata*) } > rom
>
> I assumed that this is because the code is at an absolute address, however I
> can not understand why I get a doubble underscore at the start instead of a
> period...
>
>
> Andy
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2001-08-24 8:40 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-08-24 2:35 [ECOS] memory map question Simpkins, Andy
2001-08-24 7:08 ` Gary Thomas
[not found] <919A3A7F776FD311AFD600508B44A7F3017959DB@ramhqlon.transcomm.uk.com>
2001-08-24 8:12 ` Gary Thomas
[not found] <XFMail.20010824092104.gthomas@redhat.com>
2001-08-24 8:40 ` John Dallaway
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).