This is the mail archive of the ecos-discuss@sourceware.org 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]

What interrupt options need to be enabled ?


Hi,

Please help me next problems.

I've been informed that when built with "net" Template,
eCos uses TCP/IP interrupt routine at default.

But although I setted ISR routine in vector table,
it appeares never enter into ISR.

My target uses IRQ 3 for ethernet interrupt so I setted vector table like below
in devs_eth_mytarget.inl.


-- in devs_eth_mytarget.inl
static lan91cxx_priv_data lan91cxx_eth0_priv_data = {
   config_enaddr : inserter_get_ESA,
#ifndef CYGSEM_DEVS_ETH_SH_INSERTER_REDBOOT_ESA
   enaddr: CYGDAT_DEVS_ETH_SH_INSERTER_ESA,
#endif

#if 0
  base : (unsigned short *) SA1110_FHH_ETH_IOBASE,
  attbase : (unsigned char *) SA1110_FHH_ETH_MMBASE,
  interrupt : SA1110_IRQ_GPIO_ETH
#else
  base : (unsigned short *) 0xa8000000,
//set vector number: (0x660/32)-14
  interrupt : 37,
#endif
};
--

And I checked next operations was executed  to register vector table
in /devs/eth/smsc/lan91cxx/v2_0/src/if_lan91cxx.c

-- in if_lan91cxx.c
// Initialize environment, setup interrupt handler
cyg_drv_interrupt_create(cpd->interrupt,
99, // Priority - what goes here?
(cyg_addrword_t)sc, // Data item passed to interrupt handler
(cyg_ISR_t *)lan91cxx_isr,
(cyg_DSR_t *)eth_drv_dsr, // The logical driver DSR
&lan91cxx_interrupt_handle,
&lan91cxx_interrupt);
cyg_drv_interrupt_attach(lan91cxx_interrupt_handle);
#endif // !CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
cyg_drv_interrupt_acknowledge(cpd->interrupt);
#ifndef CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
cyg_drv_interrupt_unmask(cpd->interrupt);
--


I perused documents again and became perplexed.
Says there are interrupt options like CYGPKG_HAL_COMMON_INTERRUPTS.
But never clearly says whether I should enable it or not.
I checked in hal.cdl and found it is setted like below.

Now I don't know this setting enables interrupts or not.
Should I need to enable this option ?
But how ?

-- in hal.cdl
   cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
       display       "HAL interrupt handling"
       flavor        none
       description   "
           A number of configuration options related to interrupt
           handling are common to most or all HAL packages, even though
           the implementations will vary from architecture to
           architecture."

       script        interrupts.cdl
   }
--

And if there are any other options that I should enable specifically,
please le me know them.

I ask you one more favor,
if there are any way to ensure that interrupt is operating,
please teach me how should I do.

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


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