public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [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).