* [ECOS] A problem about UART output (Redboot porting for Versatile/ARM926EJ-S)
@ 2005-08-13 13:16 Tim Yin
0 siblings, 0 replies; 2+ messages in thread
From: Tim Yin @ 2005-08-13 13:16 UTC (permalink / raw)
To: ecos-discuss
Hi All,
I'am porting eCos/RedBoot to Versatile/ARM926EJ-S with Integrator/ARM966E as baseline. Thanks to this Saturday. It's the first time my HyperTerminal got characters came from RedBoot. They were showed belowing.
RedBoot(tm)
Only 12 characters! I debug it and found that it got into a loop in hal_diag.c:cyg_hal_plf_serial_putc().
After transmit the first 12 characters, the value of AMBA_UARTFR register changed from 0x18 to 0x38.
So it cann't get out of the loop.
The Release version of UART is PL011 r1p3. The flowing is the relevant code.
--------------------------------------------------------
#define AMBA_UARTFR_TXFF 0x20
#define AMBA_UARTFR_RXFE 0x10
#define AMBA_UARTFR_BUSY 0x08
// AMBA uart access macros
#define GET_STATUS(p) (IO_READ((p) + AMBA_UARTFR))
#define TX_READY(s) (((s) & AMBA_UARTFR_TXFF) == 0)
void
cyg_hal_plf_serial_putc(void *__ch_data, char c)
{
...
do {
status = GET_STATUS(base);
} while (!TX_READY(status)); // wait until ready
PUT_CHAR(base, c);
...
}
--------------------------------------------------------
Any help about this?
Best regards,
Tim
^ permalink raw reply [flat|nested] 2+ messages in thread
* RE: [ECOS] A problem about UART output (Redboot porting for Versatile/ARM926EJ-S)
[not found] <200508130916.1e3VSf3413Nl34d1@mx-pinchot.atl.sa.earthlink.net>
@ 2005-08-13 16:59 ` Paul D. DeRocco
0 siblings, 0 replies; 2+ messages in thread
From: Paul D. DeRocco @ 2005-08-13 16:59 UTC (permalink / raw)
To: eCos Discuss
> From: Tim Yin
>
> I'am porting eCos/RedBoot to Versatile/ARM926EJ-S with
> Integrator/ARM966E as baseline. Thanks to this Saturday. It's the
> first time my HyperTerminal got characters came from RedBoot.
> They were showed belowing.
>
> RedBoot(tm)
>
> Only 12 characters! I debug it and found that it got into a
> loop in hal_diag.c:cyg_hal_plf_serial_putc().
>
> After transmit the first 12 characters, the value of
> AMBA_UARTFR register changed from 0x18 to 0x38.
> So it cann't get out of the loop.
>
> The Release version of UART is PL011 r1p3. The flowing is
> the relevant code.
>
> --------------------------------------------------------
> #define AMBA_UARTFR_TXFF 0x20
> #define AMBA_UARTFR_RXFE 0x10
> #define AMBA_UARTFR_BUSY 0x08
>
> // AMBA uart access macros
> #define GET_STATUS(p) (IO_READ((p) + AMBA_UARTFR))
> #define TX_READY(s) (((s) & AMBA_UARTFR_TXFF) == 0)
>
> void
> cyg_hal_plf_serial_putc(void *__ch_data, char c)
> {
> ...
>
> do {
> status = GET_STATUS(base);
> } while (!TX_READY(status)); // wait until ready
>
> PUT_CHAR(base, c);
> ...
> }
> --------------------------------------------------------
>
> Any help about this?
Suspicions:
1. Something is stopping the clock.
2. Hardware flow control is enabled, but the CTS input is floating.
--
Ciao, Paul D. DeRocco
Paul mailto:pderocco@ix.netcom.com
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2005-08-13 16:59 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-08-13 13:16 [ECOS] A problem about UART output (Redboot porting for Versatile/ARM926EJ-S) Tim Yin
[not found] <200508130916.1e3VSf3413Nl34d1@mx-pinchot.atl.sa.earthlink.net>
2005-08-13 16:59 ` Paul D. DeRocco
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).