public inbox for
 help / color / mirror / Atom feed
From: Jonathan Larmour <>
To: David Somerton <>
Subject: Re: posting requests for help
Date: Tue, 23 May 2006 11:34:00 -0000	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

David Somerton wrote:
> Hello,
>   where i work eCos is used.
>   there is now nobody left from the original people who chose this OS.
>   we may not subscribe to mailing lists.
>   i read the faq on sending to the list without subscribing, but could
> not understand it at all.

It's quite simple - just send to the list, but warn people to include you 
in their replies (although you can also view the online web archives in 
case someone didn't).

>   i only want to ask a question, why do you make it so difficult.
>   not everybody is a ecos or linux genius.

I think thousands of subscribers and larger numbers of eCos users can 
testify to the fact you don't need to be a genius.

>   the question, in case you feel like posting it for me is
> ASSERT FAIL: <19>serial.c[1128]serial_data_xmt_req() Attempting new
> block transfer while another is running
> ASSERT FAIL: <19>serial.c            [1128] serial_data_xmt_req()
> Attempting new block transfer while another is running
>   this happens when enabling rts/cts handshaking.
>   I have tried looking at the source for serial.c, but i cannot
> comprehend it.
>   It seems extremly complex for a serial driver.

It's a generic driver supporting a variety of hardware features, in a 
variety of ways. Bear in mind that if no-one is reporting the same problem 
as you, the chances are that your problem is not in generic code. It is 
probably in your underlying hardware driver.

It is worth noting that in your case, whoever wrote the underlying hardware 
driver chose to use block transfer mode, not the more normal 
character-by-character mode. That already makes it more complex than a 
standard serial driver. I think I could easily infer from the message that 
serial_data_xmt_req() has been called when another xmt block transfer is 
running. The underlying driver should be following every 
serial_data_xmt_req() call with serial_data_xmt_done(), but this time it is 
clearly doing serial_data_xmt_req() twice instead which is wrong, hence the 

Try setting breakpoints on serial_data_xmt_req, serial_data_xmt_done and 
cyg_assert_fail (to catch the state when the assert triggers) and analyse 
what you see, bearing in mind that it is the underlying driver that you 
really need to be debugging, not the generic serial.c stuff.

--["No sense being pessimistic, it wouldn't work anyway"]-- Opinions==mine

      reply	other threads:[~2006-05-23 11:34 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-23  1:55 David Somerton
2006-05-23 11:34 ` Jonathan Larmour [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).