-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 ariga masahiro wrote: > Hi everyone, > > Someone please help me. > > I am trying to run SMSC LAN91C111 Ethernet Driver by interrupt > on own board. > > I studied source if_lan91cxx.c and found next switching context > > #ifndef CYGPKG_IO_ETH_DRIVERS_STAND_ALONE, > > and concluded I must make CYGPKG_IO_ETH_DRIVERS_STAND_ALONE '0' > in order to regisiter ISR etc. > > I registered ISR into Vector Table. > > When I Built,I confronted next errors. > /ecos-c/cygwin/home/LINK/inserter20070529-1_interrupt/untitled_install/lib/extras.o: > In function `do_exec': > /opt/ecos/ecos-2.0/packages/hal/sh/arch/v2_0/src/redboot_linux_exec.c:114: > undefined reference to `_eth_drv_dsr' > /opt/ecos/ecos-2.0/packages/hal/sh/arch/v2_0/src/redboot_linux_exec.c:83: > undefined reference to `_eth_drv_funs' > > I infered they are concerned with eth_drv.c,and found eth_drv.c was > included in next three directotries in eCos source tree. > C:/cygwin/opt/ecos/ecos-2.0/packages/io\eth/v2_0/src/lwip/eth_drv.c > C:/cygwin/opt\ecos/ecos-2.0/packages/io\eth/v2_0/src/net/eth_drv.c > C:/cygwin/opt/ecos/ecos-2.0/packages/io\eth/v2_0/src/stand_alone/eth_drv.c > > I am convinced that because I did not compile stand_alone,I confronted > the errors. > > So,first I tried to include /net/eth_drv.c. > I found in order to include /net/eth_drv.c I must make CYGPKG_NET > available. > Then I was stuck in the mud. > I confronted Conflicting Errors continuously and couldn't even build > redboot. > I abandoned. > > Then, I next tried to include /lwip/eth_drv.c. > In order to do that,I changed option parameter a bit. > I commented "active_if" line. > > cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP > ## active_if CYGPKG_NET_LWIP > > Then I could include /lwip/eth_drv.c, > but confronted next errors. > src/lwip/io_eth_eth_drv.o > /opt/ecos/ecos-2.0/packages/io/eth/v2_0/src/lwip/eth_drv.c > /opt/ecos/ecos-2.0/packages/io/eth/v2_0/src/lwip/eth_drv.c:70:29: > cyg/kernel/kapi.h: No such file or directory > /opt/ecos/ecos-2.0/packages/io/eth/v2_0/src/lwip/eth_drv.c:89: parse > error before "delivery" > /opt/ecos/ecos-2.0/packages/io/eth/v2_0/src/lwip/eth_drv.c:89: warning: > type defaults to `int' in declaration of `delivery' > > I am in predicament. > > Please enlighten me what is correct way to run SMSC LAN91C111 Ethernet > Driver by interrupt.
It appears you are trying to enable these things in RedBoot. RedBoot is a polled environment and has its own network stack, so neither of the actions described above are appropriate. If you want to build an eCos application - not RedBoot - that uses your target hardware, with networking using interrupts, you need an eCos kernel configured for this purpose: % ecosconfig new <target> net % ecosconfig tree % make A quick reference to the documentation (the Getting Started guide has a section on how to build complete applications) would be a good starting point: http://ecos.sourceware.org/docs-latest/ - -- - ------------------------------------------------------------ Gary Thomas | Consulting for the MLB Associates | Embedded world - ------------------------------------------------------------ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org iD8DBQFGXBZKmaKbSsQGV8ARAkHCAKCoX8QmhMlHAjpOxfn5938q/cTk8ACgmptl izaazvSnjhj39ltJnphLw1A= =v2io -----END PGP SIGNATURE----- -- Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
