This is the mail archive of the ecos-discuss@sources.redhat.com 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: Hi,


Dhawal Mer wrote:
Hi,
Thanx for immediate reply.
Eric as per your info , i have successfully build (libtarget.a) the platform using net package/RAM startup.
But when i try to link the basic.c example application given in chapter12 of 'Embedded software Development with eCos' doc to libtarget.a , i have got the error as given below.The make file for above i have send as attachment (Application named as rb8139).
------------------------------------------------------------------------------------------------------------------
Administrator@DHAWAL172 /ecos-c/workdir/application
$ make
i386-elf-gcc -nostartfiles -L/cygdrive/c/workdir/rb8139/rb8139_install/lib -Wl,-
-gc-sections -Wl,--Map -Wl,basic1.map -o basic1 basic1.o -Ttarget.ld -nostdlib
/cygdrive/c/workdir/rb8139/rb8139_install/lib/extras.o: In function `__static_in
itialization_and_destruction_0':
/ecos-c/ecos/packages/io/fileio/current/src/misc.cxx:104: undefined reference to
 `CYGARC_PCI_DMA_ADDRESS'
/ecos-c/ecos/packages/io/fileio/current/src/misc.cxx:123: undefined reference to
 `CYGARC_PCI_DMA_ADDRESS'
/ecos-c/ecos/packages/io/fileio/current/src/misc.cxx:141: undefined reference to
 `CYGARC_PCI_DMA_ADDRESS'
/ecos-c/ecos/packages/io/fileio/current/src/misc.cxx:141: undefined reference to
 `CYGARC_PCI_DMA_ADDRESS'
/ecos-c/ecos/packages/io/fileio/current/src/misc.cxx:141: undefined reference to
 `CYGARC_PCI_DMA_ADDRESS'
collect2: ld returned 1 exit status
make: *** [basic1] Error 1
----------------------------------------------------------------------------------------------
Please mail me where i am going wrong.

I suspect you are using and older version of eCos that does not have the CYGARC_PCI_DMA_ADDRESS macro, which was added just a month or two ago, You need to either

a) Get the latest version of eCos from CVS (see the eCos home page for
details on how to do this). I would strongly suggest doing this since
eCos is being continually improved.

b) As a 'quick fix', add the following to
   <...>/packages/io/pci/current/include/pci.h:

// Map a logical (CPU local) address to one used by a PCI master
// Normally, this is just the physical address of the object, but
// it may differ if the platform has different address maps from
// the CPU side vs. the PCI side
#ifndef CYGARC_PCI_DMA_ADDRESS
#define CYGARC_PCI_DMA_ADDRESS(_x_) CYGARC_PHYSICAL_ADDRESS(_x_)
#endif

I have also tried out configuration 'i386 pc with 8139' with 'redboot',still redboot Networking options remains disabled.Than how i should ableto enabled the network debugging ?

I don't know, since I've never used redboot (my target doesn't support it, unfortunately).

Kindly also maill me the detail, how i can boot my system using 'libtarget.a' generated by your suggested configuration.

You must write an application that is linked with libtarget.a, and then boot that on your target. See the eCos user's guide; it has a small tutorial that shows how to do this. And/or get the book "Embedded Software Development with eCos" by Anthony J. Massa, which explains in some detail how to get Redboot working.


Regards, Dhawal. =========================================================

P.S.: I've also sent this to ecos-discuss, so other people can contribute/benefit as well. -- -------------------------------------------------------------------- | Eric Doenges | DynaPel Laboratories GmbH | | Tel: +49 89 962428 23 | Fraunhoferstrasse 9/2 | | Fax: +49 89 962428 90 | D - 85737 Ismaning, Germany | --------------------------------------------------------------------


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


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