public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: R&D4 <r&d4@dave-tech.it>
To: eCosDevel <ecos-devel@sources.redhat.com>
Subject: ARM FIQ handling problem
Date: Thu, 28 Oct 2004 13:53:00 -0000	[thread overview]
Message-ID: <6.1.1.1.0.20041028150941.01bcad60@192.168.2.1> (raw)

Hi all,
I'm experiencing some problems in using FIQ and IRQ over and ARM7TDMI.
I have a "slow" (10ms) timer used for eCos scheduling and one, faster 
(100us), used by my application to do its work.
Due realtime constrain of my app I have to treat the faster as FIQ, so it 
is not delayed by others IRQ.

Here is where my problems rise: everything works fine (IRQ and FIQ routine 
are called in the right way) only for a while, after that something goes 
wrong and an undefined exception is rised. The instruction is usually 
placed somewhere in user code (most of times in the thread idle routine).

I have also noticed that when the exception is rised the __exception_stack 
is corrupted.
Please also note that when setting the faster timer as IRQ too there are no 
problems at all...

To me it sounds like there are some problems in the interaction between IRQ 
and FIQ, maybe in some situation that happen only not so often...

I have noticed that FIQ are handled much like IRQ, only with the special 
care of setting FIQ disable flags too.
So them both use the same __exception_stack as temporary stack: what if an 
IRQ is interrupted by a FIQ, which uses the same __exception_stack to save 
its status (or is it impossible to have such a kind of problem due FIQ 
disabling while the IRQ code is using that stack)?

Any clue about where can be the problem?

Thanks in advance!

             reply	other threads:[~2004-10-28 13:53 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-10-28 13:53 R&D4 [this message]
2004-10-28 14:07 ` Curtis Whitley
2004-10-28 14:22 ` Gary Thomas
2004-10-28 14:55   ` R&D4

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=6.1.1.1.0.20041028150941.01bcad60@192.168.2.1 \
    --to=r&d4@dave-tech.it \
    --cc=ecos-devel@sources.redhat.com \
    /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).