This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Re: diag_printf via serial port


On Fri, Jun 01, 2007 at 07:26:53PM +0700, Alexey Shusharin wrote:
> I found a bug in the variant layer of hal. It locates in 
> cyg_hal_plf_serial_isr() (/hal/arm/lpc2xxx/var/current/src/hal_diag.c). 
> This function handles UART interrupt but does't read UxIIR register in 
> order to clear the interrupt flag. So, the cyg_hal_plf_serial_isr() 
> calling never stops and prevents dsr and thread execution.
> 
> The test began working properly then I has added a read operation of 
> UxIIR. I will send a patch to ecos-patches mailing list in a short time.

Hello

It seems that you were right. I went to the NXP's documents page and did
choose to read that application notes AN10414/Rev.01 (the appnote is
dated 2006/01/04, the lpc2xxx variant HAL is elder :)
http://www.standardics.nxp.com/support/documents/microcontrollers/pdf/an10414.pdf

The NXP's uart_isr() prototype (from appnote) operates with the
CYGARC_HAL_LPC2XXX_REG_UxIIR, and cyg_hal_plf_serial_isr() don't. More
that, in the application note they talk that is important. I got the
spurrious iterrupt reports with my elder plf HAL for Olimex and I've
done some things in plf HAL. It's possible, that was UxIIR issue.

Well, eCos/LPC2XXX community is looking for your patch ;)


Best regards,

-- Sergei

-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]