public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
* [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt
@ 2007-05-29  5:07 ariga masahiro
  2007-05-29 14:43 ` Gary Thomas
  0 siblings, 1 reply; 3+ messages in thread
From: ariga masahiro @ 2007-05-29  5:07 UTC (permalink / raw)
  To: ecos-discuss

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

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

* Re: [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt
  2007-05-29  5:07 [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt ariga masahiro
@ 2007-05-29 14:43 ` Gary Thomas
  2007-05-30  4:53   ` ariga masahiro
  0 siblings, 1 reply; 3+ messages in thread
From: Gary Thomas @ 2007-05-29 14:43 UTC (permalink / raw)
  To: ariga masahiro; +Cc: ecos-discuss

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

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

* Re: [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt
  2007-05-29 14:43 ` Gary Thomas
@ 2007-05-30  4:53   ` ariga masahiro
  0 siblings, 0 replies; 3+ messages in thread
From: ariga masahiro @ 2007-05-30  4:53 UTC (permalink / raw)
  To: Gary Thomas; +Cc: ecos-discuss

Thank you Gary,

I understood well.

Yes,right now I'm only running RedBoot Monitor.
Although I am aspiring soon to make eCos application run on my target.

At that time,I'll try again to implement interrupt.

Masahiro Ariga

----- Original Message ----- 
From: "Gary Thomas" <gary@mlbassoc.com>
To: "ariga masahiro" <ariga@link-lab.co.jp>
Cc: <ecos-discuss@ecos.sourceware.org>
Sent: Tuesday, May 29, 2007 9:02 PM
Subject: Re: [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt


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


-- 
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] 3+ messages in thread

end of thread, other threads:[~2007-05-30  0:00 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-05-29  5:07 [ECOS] How to correctly run SMSC LAN91C111 Driver by interrupt ariga masahiro
2007-05-29 14:43 ` Gary Thomas
2007-05-30  4:53   ` ariga masahiro

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