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: networking support for my eCos application


So of course once I was able to compile and link everything I attempted to run a simple HelloWorld program on my target hardware.

Using the older eCos config that I inherited I was able use arm-elf-egb to load the program and then execute it and view the output in RedBoot.  I tried following the same process only this time I compiled & linked against my new eCos config and I got no output.  I noticed that the older version was getting a different start address that than new and took a look at the target.ld files for each of the two and they were more different than I expected.  In particular I was surprised that the specification of the memory layout was

MEMORY
{
    ram : ORIGIN = 0x20000000, LENGTH = 0x00C00000
    rom : ORIGIN = 0x20C00000, LENGTH = 0x00400000
    sram : ORIGIN = 0x00000100, LENGTH = 0x00023F00
}

versus this for the older (working) version:

MEMORY
{
    ram : ORIGIN = 0x20000000, LENGTH = 0x02000000
    sram : ORIGIN = 0x00000000, LENGTH = 0x00024000
}


Can anyone provide a little clarification on how these files are generated and what I may have screwed up in my config.

Thank you.


> From: csb_80@hotmail.com
> To: jld@ecoscentric.com
> CC: ecos-discuss@ecos.sourceware.org
> Date: Fri, 9 Nov 2007 08:32:07 -0500
> Subject: [ECOS] RE: networking support for my eCos application
>
>
> Ugh. I had somehow specified arm-elf-ld rather than arm-elf-gcc as the linker. Using arm-elf-gcc fixed the problem. Thanks again for everyone's help.
>
> Chris
>
>
>
>> Date: Fri, 9 Nov 2007 09:21:54 +0000
>> From: jld@ecoscentric.com
>> To: csb_80@hotmail.com
>> CC: ecos-discuss@ecos.sourceware.org
>> Subject: Re: networking support for my eCos application
>>
>> Chris
>>
>> C B wrote:
>>
>>> But, when I try to compile and link my own code I still get these undefined references when I try to link with the eCos libs I've built:
>>>
>>>>>> undefined reference to 'init_all_network_interfaces'
>>>>>> undefined reference to 'eth0_up'
>>>>>> undefined reference to 'eth0_bootp_data'
>>>>>> undefined reference to 'inet_ntoa'
>>>
>>> The command that gives those errors:
>>> arm-elf-ld -L"C:\cygwin\opt\ecos\ecos-cvs\tmp\install\lib" -L"C:\cygwin\opt\ecos\ecos-cvs\tmp\net\common\current" -L"C:\cygwin\opt\ecos\gnutools\arm-elf\arm-elf\lib" -L"C:\cygwin\opt\ecos\gnutools\arm-elf\lib\gcc-lib\arm-elf\3.2.1" -Ttarget.ld -o"Simple.exe" ./simple.o
>>>
>>> The ping_test calls init_all_network_interfaces() so I'm not sure why it's not found.
>>
>> I suggest you look at the command line arguments which the eCos build
>> system used to successfully link the ping test. Try linking your own
>> code similarly at a command line prompt and, assuming the linker
>> succeeds, work backwards to see which switches make the difference.
>>
>> For a start, you should be using "-nostdlib" in your link command and
>> you should need to explicitly reference only the lib directory in your
>> eCos install tree.
>>
>> John Dallaway
>> eCosCentric Limited
>
> _________________________________________________________________
> Peek-a-boo FREE Tricks & Treats for You!
> http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us
>
> --
> Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
>

_________________________________________________________________
Windows Live Hotmail and Microsoft Office Outlook – together at last. ?Get it now.
http://office.microsoft.com/en-us/outlook/HA102225181033.aspx?pid=CL100626971033

--
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]