This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
How to correctly run SMSC LAN91C111 Driver by interrupt
- From: "ariga masahiro" <ariga at link-lab dot co dot jp>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Tue, 29 May 2007 13:50:05 +0900
- Subject: [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt
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.
Masahiro Ariga
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss