This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more information.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
> -----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... By forcing the file target.ld to contain the ivoryDataStore entry as .ivoryDataStore 0xe0000 : { . = . ; *(.ivoryDataStore*) } > rom my build works (i.e. the data ends up in the correct memory location. As you suggested theer is obiously a script error somewhere; I shall post my findings.. Andy ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |