This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: how does the ctrlc happen when the serial port interrupt(ARM).Thanks
- From: Jonathan Larmour <jifl at eCosCentric dot com>
- To: Qiang Huang <jameshq at liverpool dot ac dot uk>
- Cc: Ecos-Discuss <ecos-discuss at sources dot redhat dot com>
- Date: Wed, 29 Jan 2003 16:51:43 +0000
- Subject: Re: [ECOS] how does the ctrlc happen when the serial port interrupt(ARM).Thanks
- References: <BDEPKKELILOKGOAOMONOMEDICBAA.jameshq@liv.ac.uk>
Qiang Huang wrote:
> Hi all:
> As far as I know ctrlc is normally support in the by first calling the
> "hal_default_isr()" function, but when the "cyg_drv_interrupt_attach()" in
> the serial device driver will overwrite the "hal_interrupt_handlers" in
> vectors.S. so when install the interrupt handler by
> "cyg_drv_interrupt_attach()" for the serial port "hal_default_isr()" will be
> replaced by the ISR installed, how and where will be the place to examine
> the "0x03" for ctrlc support? Thanks a lot.
It isn't. If you install the serial driver it overrides the ctrl-c
support, and that's just the way it has to be. If you want to do something
with ctrl-c, you should do it yourself when you read stuff from the serial
port.
> Is the following calling path correct? Thanks
> (ARM target)
>
> IRQ happens -->
> (1). if the interrupt in the hal_interrupt_handlers table entry not get
> replaced by calling cyg_xxx_attach() then default as:
> hal_default_isr() --> hal_ctrlc_isr( ) --> cyg_hal_plf_serial_isr( ) -->
> cyg_hal_user_break( ) this will look for the ctrlc.
The details sometimes vary by platform, but that looks about right.
Jifl
--
eCosCentric http://www.eCosCentric.com/ <info@eCosCentric.com>
--[ "You can complain because roses have thorns, or you ]--
--[ can rejoice because thorns have roses." -Lincoln ]-- Opinions==mine
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss