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: "Qiang Huang" <jameshq at liverpool dot ac dot uk>
- To: "Jonathan Larmour" <jifl at eCosCentric dot com>
- Cc: "Ecos-Discuss" <ecos-discuss at sources dot redhat dot com>
- Date: Thu, 30 Jan 2003 09:36:23 -0000
- Subject: RE: [ECOS] how does the ctrlc happen when the serial port interrupt(ARM). Thanks
Thanks Johathan.
So for example if I include the serial device driver(implement interrupt
for the UART RX and TX) for that platform, it will overwrite the interrupt
talbe and ctrlc will not be supported. Is that right. (e.g. ARM E7T board,
if ecos app built with serial package(use interrupt) then the ctrlc will not
be supported when debug such ecos app with redboot??)
Thanks a lot
-----Original Message-----
From: ecos-discuss-owner@sources.redhat.com
[mailto:ecos-discuss-owner@sources.redhat.com]On Behalf Of Jonathan Larmour
Sent: 29 January 2003 16:52
To: Qiang Huang
Cc: Ecos-Discuss
Subject: Re: [ECOS] how does the ctrlc happen when the serial port
interrupt(ARM). Thanks
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
--
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss