I have SPI interrupt defined as FIQ and the execution time for it should be less than 12us, but adding a few checks and the execution time is going out of the limit. I've seen that it takes 2-3us for the ARM7TDMI to enter the FIQ. Can you give some ideas how to optimize it to enter it quickly or execute quickly? What should I use/avoid? I realized I should avoid using % because it takes about 3us to compute a%100! Any advice is welcome.
12us is an extremely tight time budget - about the execution duration of a single instruction at 72[MHz]!
I think you're off by a few orders of magnitude, Tamir. ;) (or did you read ns instead of us?)
I have a Cortex-M3 part sitting here, happily handling quite a bit of processing (8 multiply-adds) in about 2us at 64 MHz.