We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
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.