Hello, I am facing a problem: my product is going to have 3 parts. a bootloader, firmware to handle most interrupts and application where RTX is running. how here is the catch: when an interrupt is handled in firmware, the return address is in the application which has a separate region of internal RAM. so, when an interrupt service routine in firmware tries to push data into the IRQ stack, a data abort occurs as R13 points into RAM that not in the realm of the firmware! If I could only use a shared stack, or set the R13 based on the interrupt source without destroying the content of my task - my problem would be solved. Do you have concrete ideas?
one solution, of course, is to unit the firmware and application into one binary - problem solved - which will require a bit of parsing after compilation (2 binaries...). anything else?
ok, I can also try to set IRQ R13 of the application to point to the stack of the firmware.