[ECOS] What interrupt options need to be enabled ?

ariga masahiro ariga@link-lab.co.jp
Mon Sep 3 07:47:00 GMT 2007


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



More information about the Ecos-discuss mailing list