This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: Beginners troubles


On Wed, 11 Aug 2010, Robert Gosztyla wrote:

arm-eabi-gcc -g -Os -Ifirst_install/include test1.c -Lfirst_install/lib -Ttarget.ld -nostdlib

This problem is resolved, now i can compile my program, but as the result i receive:

/home/xpurogo/ecos/gnutools/arm-eabi/bin/../lib/gcc/arm-eabi/4.3.2/../../../../arm-eabi/bin/ld:
address 0x40004b7c of a.out section .bss is not within region ram. I
know that this is common question, but is there any common answer for
that? :)

My linker script looks like that:

MEMORY
{
   ram : ORIGIN = 0x40000000, LENGTH = 16k
   rom : ORIGIN = 0x00000000, LENGTH = 256k
}

These are available memory sizes for my system. I'm using kernel
konfiguration, which seems to be too big to handle in memory? I've
tried use minimal configuration but i've got more stragne errors
trying to compile my program. Is it possible to disable some options
in kernel configuration to handle that?

Hi Robert,


as John said "you may find...", and you got it :-) though it's possible
to build some of the eCos tests for such kind of targets. For example,
there is 'mcb2100' target in eCos 3.0 repository (that board has LPC2129
CPU)

Create fresh directory, chdir there and try to built eCos and some tests
from a shell prompt as:

  % ecosconfig new mcb2100 kernel
  % ecosconfig tree
  % make -s
  % make -s IGNORE_LINK_ERRORS=1 tests

It was possible to build *some ELFs* for that target using 'kernel'
template

  % find install/tests -type f | wc -l
  81

and even some eCos kernel tests

  % find install/tests/kernel -type f | wc -l
  37

I hope that you can get something like the above for your target, though
your target has the very limited RAM resources to get more than that...

And if you use 'minimal' template, that first, try to tune this option

cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE


HTH


Sergei

PS

Please, do not use top-posting then here
http://en.wikipedia.org/wiki/Top_posting

2010/8/6 John Dallaway <john@dallaway.org.uk>:
Robert

Robert Gosztyla wrote:

With this line i'm trying to compile it:

arm-eabi-gcc -g -Os -Ifirst_install/include test1.c -Lfirst_install/lib -Ttarget.ld -nostdlib

but question is - should i use arm-eabi-gcc.exe?

Yes. When building eCos application code we generally use separate invocations of arm-eabi-gcc for compiling and linking. You also need to specify various target-specific compiler flags. Use the eCos examples makefile as an example of how to do this:

Âcd /opt/ecos/ecos-3.0/examples
Âmake INSTALL_DIR=/your/path/to/first_install

You may find that you don't have enough target memory to link the
examples, but the various flags used when compiling and linking should
be correct for your LPC2124 target.

I hope this helps...

John Dallaway
eCos maintainer


-- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]