public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "Lambrecht Jürgen" <J.Lambrecht@TELEVIC.com>
To: "'Jesper K. Pedersen'" <linux@famped.dk>,
	"ecos-discuss@ecos.sourceware.org"
	<ecos-discuss@ecos.sourceware.org>
Subject: RE: [ECOS] AT91SAM7S256 problem with test/example twothreads
Date: Wed, 20 Jun 2012 09:54:00 -0000	[thread overview]
Message-ID: <6EE7D1502C48E44E92DCADF9DD3E0DB9019D1B87A064@SRV-VS06.TELEVIC.COM> (raw)
In-Reply-To: <20120620073825.71080156@io.solnet>



> -----Original Message-----
> From: ecos-discuss-owner@ecos.sourceware.org [mailto:ecos-discuss-
> owner@ecos.sourceware.org] On Behalf Of Jesper K. Pedersen
> Sent: woensdag 20 juni 2012 7:38
> To: ecos-discuss@ecos.sourceware.org
> Subject: Re: [ECOS] AT91SAM7S256 problem with test/example twothreads
> 
> On Tue, 19 Jun 2012 22:18:14 +0200
> Lambrecht Jürgen <J.Lambrecht@TELEVIC.com> wrote:
> 
> > On 06/19/2012 03:16 PM, Jesper K. Pedersen wrote:
> > > On Sun, 17 Jun 2012 16:43:02 +0200
> > > "Jesper K. Pedersen"<linux@famped.dk>  wrote:
> > >
> > >> I am at my wits end getting the twothreads example working on my
> > >> Olimex P256 board (AT91SAM7S256 based).
> > >>
> > >> Calling the cyg_mutex_init does not return. Also I notice that the
> > >> call to the printf line before the call to cyg_mutex_init prints
> > >> extremely slow on my terminal.
> > >>
> > >> I have set the default console up to tty0 going to ser0. This part
> > >> works fine with my other software running on the board (normal
> > >> expected transmission speed).
> > >>
> > >> Are there any "gotcha'" involving threading on the AT91 series
> > >> microcontrollers?
> > >>
> > > Problem was solved.
> > >
> > > For some reason if you put any output function (printf's) in the
> > > cyg_user_start the threading will hang.
> > >
> > > Removing all output will allow for threading and the example works
> > > as expected.
> > >
> > > I wonder if this is intended or if its a bug in the A91SAM7 eCos.
> > >
> > > Best regards
> > > JesperKP
> > >
> > I have lots of diag_printf's in my cyg_user_start() running on an
> > AT91 ARM7 and a ARM9.
> > Maybe because you use printf?
> > Be carefull:  Code running in initialization context runs with
> > interrupts disabled and the scheduler locked. Only after
> > cyg_user_start, the scheduler starts and resumes all threads.
> > Maybe (if I remember well; search the list for the diff between both
> > printfs) printf uses interrupts (to know when the hardware has sent a
> > byte), and diag_printf doesn't.
I have searched the list in your place, and a printf needs interrupts, so indeed, it will not run in cyg_user_start().

> >
> > You must also realize that printf's can take a lot of CPU.
I meant diag_printf's.

> >
> > And no, it is certainly not intended or a bug in the ecos CVS code
> > (although I don't know the twothreads test): it is your bug ;-) .
> >
> 
> If you look in the ecos-3.0-user-guide.pdf on page 52 "A Sample Program
> with Two Threads" it is shown with printf's in the cyg_user_start.
> 
> If that is not a correct way to do it - perhaps that example should be
> changed? :-D
Indeed.
I thought the two-thread example came from CVS ecos sources. But it comes from an example from the user guide. So the writer of it should reply.
The example is wrong, must be diag_printf instead.

Kind regards,
Jürgen
> 
> Best regards
> JesperKP
> 
> --
> Before posting, please read the FAQ:
> http://ecos.sourceware.org/fom/ecos
> and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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

      reply	other threads:[~2012-06-20  9:54 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-06-17 14:43 Jesper K. Pedersen
2012-06-19 13:17 ` Jesper K. Pedersen
2012-06-19 20:18   ` Lambrecht Jürgen
2012-06-20  5:38     ` Jesper K. Pedersen
2012-06-20  9:54       ` Lambrecht Jürgen [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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=6EE7D1502C48E44E92DCADF9DD3E0DB9019D1B87A064@SRV-VS06.TELEVIC.COM \
    --to=j.lambrecht@televic.com \
    --cc=ecos-discuss@ecos.sourceware.org \
    --cc=linux@famped.dk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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).