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

how to return from FIQ ISR in assembly?

I am writing an assembly FIQ ISR using GCC complier. I want to change return address in FIQ ISR so that after ISR, it returns to the requested address. the reason for doing that is because i am writing a RTOS.

what are the instruction for ISR return in assembly? is it

 SUBS PC, R14, #4

? i know in 8051, noraml function call return is RET, ISR return is RETI.

Parents
  • Look at the assembler output of the compiler to see what instructions that are used by fast and normal interrupt handlers.

    Remember that a RTOS doesn't just switch return address - you have to switch to a different stack and make sure that all registers (and other important thread states) gets restored to the values of the other task. That can be quite a lot of hard work, if you are not familiar with the processor instructions.

Reply
  • Look at the assembler output of the compiler to see what instructions that are used by fast and normal interrupt handlers.

    Remember that a RTOS doesn't just switch return address - you have to switch to a different stack and make sure that all registers (and other important thread states) gets restored to the values of the other task. That can be quite a lot of hard work, if you are not familiar with the processor instructions.

Children
No data