This is the mail archive of the
ecos-devel@sourceware.org
mailing list for the eCos project.
Re: How to handle very fast repeating interrupts?
- From: "Martin Laabs" <martin dot laabs at mailbox dot tu-dresden dot de>
- To: "ecos-devel at ecos dot sourceware dot org" <ecos-devel at ecos dot sourceware dot org>
- Date: Mon, 16 Feb 2009 11:29:04 +0100
- Subject: Re: How to handle very fast repeating interrupts?
- References: <AE37CDDF7D55EB4AB77E0D63F38594CBF40F@ny2545.corp.bloomberg.com>
Hello,
On Sun, 15 Feb 2009 23:33:55 +0100, Chris Zimman <czimman@bloomberg.com> wrote:
[Interrupt every 12us]
> Not to get of topic, but are you running eCos w/o the scheduler? Because if
> you're not, I don't see how you are going to be able to keep up with the time
> interval that you need.
I use the scheduler...
> That said, I would suggest just pointing the FIQ vector directly, and
> managing your own stack. You could just carve out a piece of memory for
> yourself (many ways to do this, depending on your application) and use that.
Yes - this was my idea too. Just beginnig a pice of assembler code at the
FIQ adress. (Even without a jump because it is at the end of the vector table)
Since the FIQ has 8 banked registers I fortunately do not even need a stack.
I'd like to place the ring-buffer into the fast onchip sram.
Can I just define some symbols in the linker script for that purpose? Or
can I tell the assembler to generate some symbols in a special section
like
.section ".sram_data"
_adc_buffer:
.rept 64
.long 0
.endr
_adc_buffer_start:
.long 0
_adc_buffer_end:
.long 0
Greetings,
Martin L.