This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

STR73X and FIQ driven system running on RTOS

Hi,

I'm considering using RTL-ARM and IRQs on an STR730 in order to use commands like isr_XX_XX. That way I could have an interrupt driven ( IRQ ) application.

I read on the web that the interrupt lock-out time for IRQ can be up to 20us on a STR71X running on 48Mhz. Since the STR73X has quite similar EIC structure, I believe a similar issue would apply to it. Bellow is the Keil's website description about the lock-out time:

"The behavior of the STR71x devices acknowledges that interrupts are blocked for a relatively long time (which depends also on the number of running tasks). For 10 running tasks and a CPU speed of 48MHz the IRQ disable time will about 20 µSec. If you need interrupt response times faster than that, you should use FIQ interrupts which are never disabled."

In my case, I have an HALL sensor that is going to generate interrupt at a maximum rate of 20000Hz ( 50us ). It sound like that if I would use an IRQ and RTOS, I could have problems with interrupt lock-out time, this is one thing I still got to test to find out...

Based on the lock-out description for STR71x, I started considering using an FIQ for this application, the problem is that I won't be able to use isr_xx_xx commands.

I'm a little bit confused about protecting data that is going to be refreshed by the FIQ. My FIQ is going to update global variables that is going to be used by the entire system, in other words, other theads are going to read/use those refreshed global data all the time. I belive a problem may happen if the FIQ is refreshing a data while a thead was in the middle of a reading. May a mutex be used in this situation?

1 - When using RTL-ARM, Is IRQ lock-out time really that bad on STR73X as well?

2 - Considering that IRQ would be too slow because of the lock-out time, how could I make usage of the RTOS and FIQ and make the theads FIQ driven?

3 - What metodology I could use in order to protect the global data that will be refreshed by the FIQ and read by most theads?

Any ideas, suggestions, commends and materials for reading would be very appreciated.

Thanks for your help.

Regards
Alex

0