This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
What interrupt options need to be enabled ?
- From: "ariga masahiro" <ariga at link-lab dot co dot jp>
- To: <ecos-discuss at ecos dot sourceware dot org>
- Date: Mon, 3 Sep 2007 16:46:53 +0900
- Subject: [ECOS] 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