From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1621 invoked by alias); 3 Sep 2007 07:47:06 -0000 Received: (qmail 1611 invoked by uid 22791); 3 Sep 2007 07:47:05 -0000 X-Spam-Check-By: sourceware.org Received: from pop132.ocn.ne.jp (HELO pop132.ocn.ne.jp) (60.37.31.215) by sourceware.org (qpsmtpd/0.31) with ESMTP; Mon, 03 Sep 2007 07:46:57 +0000 Received: from ariga (p3109-ipbf1207marunouchi.tokyo.ocn.ne.jp [124.84.132.109]) by pop132.ocn.ne.jp (OCN) with SMTP id l837kshL024404 for ; Mon, 3 Sep 2007 16:46:54 +0900 (JST) Message-ID: <003901c7edfe$98ad9fa0$1c0110ac@ariga> From: "ariga masahiro" To: Date: Mon, 03 Sep 2007 07:47:00 -0000 MIME-Version: 1.0 Content-Type: text/plain; format=flowed; charset="iso-2022-jp"; reply-type=original Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Outlook Express 6.00.2900.2869 X-IsSubscribed: yes Mailing-List: contact ecos-discuss-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: ecos-discuss-owner@ecos.sourceware.org Subject: [ECOS] What interrupt options need to be enabled ? X-SW-Source: 2007-09/txt/msg00015.txt.bz2 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