public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] Interfacing directly to the low level ethernet driver, how??
@ 2007-06-27 21:10 Michele Paselli
  2007-06-28 13:27 ` Andrew Lunn
  2007-06-28 13:35 ` Gary Thomas
  0 siblings, 2 replies; 14+ messages in thread
From: Michele Paselli @ 2007-06-27 21:10 UTC (permalink / raw)
  To: ecos-discuss

Hi ,

I'm about to develop a raw ethernet driver. After spending quite a lot 
of time reading the forum and analyzing the code I finally decide to 
implement a raw I/O API as suggested by Grant Edwards here:

http://www.cygwin.com/ml/ecos-discuss/2003-06/msg00017.html

The problem is that I'm finding quite a lot of difficulties in 
interfacing my I/O driver to the low level device driver of my eth 
controller. My idea is to use the netdevtab entry created in the .inl 
file and from there be able to access the eth_drv_sc structure and all 
the related functions. First problem, I saw that the existing network 
implementations (lwip and freebsd) before initializing the device the 
macros:
CYG_HAL_TABLE_BEGIN( __NETDEVTAB__, netdev );
CYG_HAL_TABLE_END( __NETDEVTAB_END__, netdev );
are called. Should I also use these macro? What is exactly their job? 
I guess they don't create an entry since for that the NETDEVTAB macro 
is used.
Second problem, in order to use the low level eth driver (packet 
CYGPKG_DEVS_ETH_HRDWR) I have to include also CYGPKG_IO_ETH_DRIVERS. 
When I compile everything with configtool I don't get any error but 
when I compile my test application this is what I get:

Building base.out
arm-elf-gcc -g -Ifmtc_install/include base.c -Lfmtc_install/lib -
Ttarget.ld -nostdlib -o base.out
fmtc_install/lib/libtarget.a(io_eth_eth_drv.o): In function 
`eth_drv_write':
/imecnl/software/common/ecos/opt/ecos/ecos-2.0.43
/packages/io/eth/v2_0_43/src/stand_alone/eth_drv.c:303: undefined 
reference to `start_console'
/imecnl/software/common/ecos/opt/ecos/ecos-2.0.43
/packages/io/eth/v2_0_43/src/stand_alone/eth_drv.c:307: undefined 
reference to `end_console'
fmtc_install/lib/libtarget.a(io_eth_eth_drv.o): In function 
`eth_drv_recv':
/imecnl/software/common/ecos/opt/ecos/ecos-2.0.43
/packages/io/eth/v2_0_43/src/stand_alone/eth_drv.c:493: undefined 
reference to `start_console'
/imecnl/software/common/ecos/opt/ecos/ecos-2.0.43
/packages/io/eth/v2_0_43/src/stand_alone/eth_drv.c:501: undefined 
reference to `end_console'
collect2: ld returned 1 exit status
make: *** [out] Error 1

I checked the various cdl files and I found out that the standalone 
eth i/o is automatically selected if I don't include any networking 
stack (but I don't want to, I want to get rid of TCP and all the upper 
layers).
What am I doing wrong? Am I approaching the problem in a wrong way?

Thanks a lot

Michele




_______________________________________________________
Naviga e telefona senza limiti con Tiscali     
Scopri le promozioni Tiscali Adsl: navighi e telefoni senza canone Telecom

http://abbonati.tiscali.it/adsl/


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

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2007-07-05 15:41 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-06-27 21:10 [ECOS] Interfacing directly to the low level ethernet driver, how?? Michele Paselli
2007-06-28 13:27 ` Andrew Lunn
2007-06-28 13:35 ` Gary Thomas
2007-06-28 13:49   ` Michele Paselli
2007-06-28 15:31     ` Gary Thomas
2007-06-28 15:34       ` [ECOS] " Grant Edwards
2007-06-28 15:48         ` Gary Thomas
2007-06-28 22:57           ` Grant Edwards
2007-07-02 12:10       ` [ECOS] " Michele Paselli
2007-07-02 12:19         ` Gary Thomas
2007-07-02 12:37           ` Michele Paselli
2007-07-02 12:48             ` Gary Thomas
2007-07-05 15:41               ` Michele Paselli
2007-07-02 14:50         ` [ECOS] " Grant Edwards

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).